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.
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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.