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.
- 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
- Analyze and compare algorithms for managing external storage devices.
- Explain the design and implementation of file systems
- Implement parts of process scheduling, memory management, and file system management in an operating system