Operating system principles. Multi-user systems. Virtualisation. Scheduling. Concurrent processes, threads, synchronisation and deadlock. Memory allocation and virtual memory. Managing files, disks and other peripherals. Security, protection and archiving. Distributed systems and algorithms, location, migration and replication transparency. Real-time requirements. History of operating systems.
Three assignments with a mix of theory and programming.
Postgraduate student with minimum grade of A- in COMPSCI 340.
Test and exam supervision.