This paper introduces MPS3, a new system emulator based onthe MIPS (R3000) architecture. We characterize MPS3 as a cross between a real MIPS system and the typical RISC machine architecture presented to students in operating systems textbooks; a realistic, but not excessively complex architecture. Furthermore, we present Pandos, a specification for a one semester, multi-phase project for the development of a complete operating system for deployment on MPS3. Alternative operating systems projects (e.g. Nachos[8]) provide students with a significant starting code base. Students then mod- ify existing modules or add new ones. Our new courseware system is predicated on the observation that learning outcomes for artifact-based courses are best achieved by having students create an instance themselves. With MPS3/Pandos students undergo the pedagogically valuable experience of starting only with a system emulator and ending with a completely student written operating system capable of running student written C programs. MPS3 is a significant update of MPS, originally released over fifteen years ago. (MPS2 upgraded MPS with multiprocessor support.) In addition to updating MPS3 to easily install on student laptops, MPS3/Pandos endeavors to address the key conceptual stumbling blocks students faced when writing a complete operating system for these earlier systems. The successful conclusion of the “core,” one semester Pandos project results in a working operating system supporting a variety of different peripheral device classes, process creation/termination, concurrency primitives, and up to eight concurrently executing user processes, each running in their own logical address space.
Goldweber, M., Davoli, R., Biondi, M. (2021). The Pandos Project and the μMPS3 Emulator. New York : ACM [10.1145/3430665.3456331].
The Pandos Project and the μMPS3 Emulator
Renzo Davoli;
2021
Abstract
This paper introduces MPS3, a new system emulator based onthe MIPS (R3000) architecture. We characterize MPS3 as a cross between a real MIPS system and the typical RISC machine architecture presented to students in operating systems textbooks; a realistic, but not excessively complex architecture. Furthermore, we present Pandos, a specification for a one semester, multi-phase project for the development of a complete operating system for deployment on MPS3. Alternative operating systems projects (e.g. Nachos[8]) provide students with a significant starting code base. Students then mod- ify existing modules or add new ones. Our new courseware system is predicated on the observation that learning outcomes for artifact-based courses are best achieved by having students create an instance themselves. With MPS3/Pandos students undergo the pedagogically valuable experience of starting only with a system emulator and ending with a completely student written operating system capable of running student written C programs. MPS3 is a significant update of MPS, originally released over fifteen years ago. (MPS2 upgraded MPS with multiprocessor support.) In addition to updating MPS3 to easily install on student laptops, MPS3/Pandos endeavors to address the key conceptual stumbling blocks students faced when writing a complete operating system for these earlier systems. The successful conclusion of the “core,” one semester Pandos project results in a working operating system supporting a variety of different peripheral device classes, process creation/termination, concurrency primitives, and up to eight concurrently executing user processes, each running in their own logical address space.| File | Dimensione | Formato | |
|---|---|---|---|
|
pandosx.pdf
accesso aperto
Tipo:
Postprint / Author's Accepted Manuscript (AAM) - versione accettata per la pubblicazione dopo la peer-review
Licenza:
Licenza per accesso libero gratuito
Dimensione
646.09 kB
Formato
Adobe PDF
|
646.09 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


