The Pandos Project and the μMPS3 Emulator

2021 
This paper introduces μMPS3, a new system emulator based on the 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 modify 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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    8
    References
    0
    Citations
    NaN
    KQI
    []