NOTE: There are two lectures per week on Tuesdays and Thursdays. The Monday slot is used for tutorials, which will be scheduled as needed.

NOTE: Lecture slides uploaded before the lectures serve as pre-readings, and thus are subject to changes. The final version of the slides may be uploaded after the lectures.

Week 1
Tue Introduction to the course (course outline) Course Introduction
Thu Overview of OS OS Overview
Week 2
Tue Processes Processes
Thu Threads Processes and Threads
Week 3
Tue Threads/Concurrency Threads and Intro to concurrency
Thu Concurrency Concurrency
Week 4
Tue Concurrency & Synchronisation Semaphores and more
Thu Synchronisation & Deadlocks CV, Monitors, Deadlocks
Week 5
Tue Deadlocks Deadlocks
Thu CPU Scheduling Intro to scheduling and multiprogramming scheduling
Week 6
Tue CPU scheduling Interactive scheduling
Thu Thread, multi-processor and real-time scheduling Thread, multiprocessing and real-time scheduling
Week 7
Tue Threats, Protection and Domains Security Overview
Thu Access Control and Modelling Access Control
Week 8
Tue Threats and Defences Threats and defences
Thu Threats and Defences More threats and defences
Week 9
Tue Memory Management Intro. to memory management, memory allocation
Thu Memory Management Segmentation and Paging
Week 10
Tue Page Table Page Table and Paged Segmentation
Thu Virtual Memory Dynamic paging, page fault, optimisation and page replacement
Week 11
Tue Virtual Memory Page replacement, frame allocation, trashing
Thu Virtual Memory and File System Trashing, kernel memory, intro to file system
Week 12
Tue File System Directory implementation, space management
Thu Revision and Exam Briefing Exam Cover Page