For the Operating system part: To provide an introduction to operating systems, and their basic principles.
For the Concurrency part: To introduce the theory and practice of concurrent software systems.
1. Operating systems: Overview (1.1 1. OS concepts, types and structures)
2. Operating systems: Abstractions (2.1 1. processes & threads, , 2.2 2. files, and address space.)
3. Operating Systems: Resource Management (3.1 1. CPU scheduling, , 3.2 2. memory management and , 3.3 3. disk management)
4. Concurrency: Parallelism and Concurrency (4.1 1. multi-core systems, , 4.2 2. threads, , 4.3 3.parallelism vs concurrency)
5. Concurrency: Inter-thread comms and mutual exclusion (5.1 1. Critical regions, 5.2 2. Signal/wait synchronisation)
6. Concurrency: Patterns and Mechanisms (6.1 1. monitors, , 6.2 2. semaphores, and , 6.3 3. atomic variables)
By the end of the course, students should be able to do the following:
Curriculum explorer: Click here
SCQF Level: 9
Credits: 15