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.
2021
Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’21)
122
128
Mikey Goldweber; Renzo Davoli; Mattia Biondi
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/826984
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact