Principles, techniques, and algorithms for the design and implementation of modern operating systems. Topics include operating system structures, process and thread scheduling, memory management including virtual memory, file system implementation, input output systems, mass storage structures, protection, and security. Students will implement process, memory, and file management algorithms.
- Analyze and compare algorithms for managing external storage devices.
- Explain and compare process scheduling algorithms.
- Explain and compare the workings and relative merits of different memory management algorithms.
- Explain the theory of and protocols for process synchronization apply them
- Explain the security issues and compare different protection mechanisms that can be incorporated into an operating system
- Explain the design and implementation of file systems
- Implement parts of process scheduling, memory management, and file system management in an operating system