Operating systems are fundamental to all modern computers. These systems are characterized by a wide range of functionality and complexity. All variants, however, use a core set of ideas. The purpose of the course is to discuss issues of fundamental importance in the design of operating systems. The subjects discussed include processes, semaphores, monitors, interprocess communication, scheduling, memory management, paging, segmentation, file systems, security and protection mechanisms. The objective of the course is to provide a clear understanding of these key problems and bring awareness of the known solutions to these problems and to the limitations of these solutions.

  • Credits: 3
  • Frequency: Infrequently


Requirements and Grading

Grading will be based on homeworks (4), programming projects (4), and exams (2).