Course syllabus

Operating Systems

Start with the job of an operating system and the main types of systems. Then follow a system call from an application into protected kernel code.

Continue with processes, threads, scheduling, shared data, virtual addresses, page tables, and physical memory.

Curriculum section

Operating systems

Understand what happens when code executes. An operating system bridges software and hardware.

Curriculum section

Processes, threads, and CPU scheduling

Follow a program as the OS creates it, schedules it, pauses it, and lets multiple threads share work.

Curriculum section

Synchronization and deadlocks

See why shared data can become incorrect and how operating systems coordinate threads and processes.

Curriculum section

Memory management

Learn how the OS gives every process a private address space while using a limited amount of physical memory.

Address spaces

How a process gets memory that looks private and contiguous when the hardware offers neither.

Fragmentation

Free memory that cannot be used. Start with the overview, then take each kind on its own — they have different causes, different sizes and different cures.

Allocation strategies

Given a list of free holes and a request, which hole do you take? Start with the overview, then take each strategy on the same hole list so the outcomes compare directly.

Page replacement

When memory is full and a new page is needed, something resident has to go. Start with the overview, then take the four algorithms in turn — each is traced on the same reference string, so the fault counts compare directly.

Curriculum section

Files, storage, I/O, and protection

Complete the picture with persistent data, device communication, access control, and isolated execution.

Files on disk

How data is laid out on a device, and how the system finds it again.

Disk scheduling algorithms

Seek time dominates a spinning disk, so the order requests are served in decides the cost. Start with the overview, then take each policy on the same queue.

Protection and isolation

Who is allowed to touch what, and how one machine safely runs another inside itself.