Processes and device handlers and their implementation, communication and synchronization. Synchronization primitives. Process allocation. Memory management. The software required to support a virtual memory system. Resource allocation algorithms. File system implementation. Security and protection. System implementation strategies. The evolution of computer systems: batch processing, multiprogramming, multi-processing, real-time, time-sharing, distributive systems. Each student will design and implement a module for an operating system kernel.
Credit Weight:
0.5
Prerequisite(s):
Computer Science 2412, 2453 and 2476, or permission of the Department
Offering:
3-0; 0-0
Course Classifications:
Type C: Engineering, Mathematical and Natural Sciences