Course content

This course gives a thorough introduction to operating systems and covers topics like interrupt management, threads and processes, process coordination and synchronization, management of physical and virtual storage, devices and file systems. The exercises cover both analysis of abstractions, and their realization and implementation. During the course, each student will develop a running operating system kernel for an Intel x86 based computer.

Learning outcome

Traditional operating systems (OS) such as UNIX and Windows have for many years been successfully applied in business and research areas. This course will provide the students with an in-depth understanding of the process management of these systems running on a uni-processor machine.

After completing the course you can:

  • explain to others how an operating system is built and works,
  • use operating system abstractions in your future applications you want to develop,
  • use Intel manuals or similar to understand low-level software on their own,
  • program routinely with Assembler and C
  • write design documents
  • present own design ideas and concepts to others in a short time in an understandab