Bottom up construction of a layered operating system beginning with the hardware interface and ending with the user interface. Specific topics covered include concurrent processes, process management, I/O, virtual memory, file management, resource scheduling, and performance measurement. Students are assumed to be familiar with general machine architecture, functions of system software (compilers, loaders, editors, etc.), data structures, and have some experience with UNIX or other multiprogramming operating systems.
Prerequisite(s): Grade of C or higher in COS 250.
Learning Outcomes
By the end of this course, students will be able to:
- Describe the purpose of an operating system
- Describe significant challenges in an operating system design and implementation
- List the functional components of an operating system
- Characterize the typical architectures of operating systems
- Describe how an operating system is designed and implemented
- Develop Code that extends an existing operating systems
- Evaluate operating system designs and functions
- Analyze, identify, and define computing requirements
Textbook
Operating System Concepts Essentials 2nd Edition 2013, Silberschatz, Galvin, and Gagne.
Syllabus
Offered
Fall semester