2005 · 24 citations · 10 references
EngineeringComputer ScienceHigher EducationComputer ArchitectureHardware-software Co-designVirtualizationMicroarchitecture DesignProcessor MicroarchitectureDevice EmulationMicroarchitecture EmulationThread SynchronizationUndergraduate Curriculum
Ideally, the most meaningful learning experience for students in an undergraduate OS course would be to develop fully-functional OS's on their own. This can be accomplished using μmps, a hardware emulator for a pedagogically undergraduate-appropriate hardware architecture, along with Kaya, a specification for a multi-layer OS supporting multiprocessing, VM, thread synchronization, external devices (disks, terminals, tape, printers, and network interfaces) and a file system.Traditional OS projects like Nachos[3] or OS/161[9] provide students with a significant starting code base. Students then modify existing OS modules or add new ones. With μmps/Kaya students undergo an innovative and pedagogically different experience of starting only with a hardware emulator (i.e. no initial OS code base for students to build on/replace) and ending with a completely student written OS capable of running student written C programs.
10
Silberschatz · 1991 · 1.6K citations
The structure of the “THE”-multiprogramming system
Edsger W. Dijkstra · Communications of the ACM · 1968 · 1.1K citations · Full text
The Nachos instructional operating system
Wayne Christopher, Steven J. Procter, Thomas E. Anderson · UC Berkeley · 1993 · 128 citations
VDE: Virtual Distributed Ethernet
Renzo Davoli · 2005 · 92 citations