The primary course book is Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces (Version 1.00). See the books section below for other options.

The self study instructions used throughout the lectures are available in GitLab. The code examples are available on GitHub.

Lecture topics

The following table lists the topics that will be discussed during the lectures. Please make sure to come prepared.

Week Date Content
#1 2022-09-30 Introduction - OS architecture, kernel, programs and processes.
#2 2022-10-07 Program memory layout - code, stack, ELF.
#3 2022-10-14 Program memory layout - heap.
#4 2022-10-21 Program memory layout - garbage collection.
#5 2022-10-28 Parallelism - context switching, scheduling.
Public holiday: topic for self study only.
#6 2022-11-04 Parallelism - synchronization problems.
#7 2022-11-11 Parallelism - synchronization tools.
#8 2022-11-18 Parallelism - memory models.
#9 2022-11-25 System memory management - paging principles.
#10 2022-12-02 System memory management - paging algorithms and applications.
#11 2022-12-09 System entry points - system calls, interrupts.
#12 2022-12-16 Devices - device drivers, device interfaces.
#13 2022-12-23 Public holiday: no new topic.
#14 2023-01-06 Storage - file systems.

Books

If you need more information, there are other excellent books that can help you study. Favorites include:

None of these books follows the course exactly, but all contain enough material to suffice as a learning material.

A good book on the computer systems background is Patterson et al.: Computer Organization and Design.