F29OC - Operating Systems & Concurrency

Timothy Tzen Vun Yap
To be announced
Hani Ragab Hassen
Michael John Chantler

Course leader(s):

Aims

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.

Syllabus

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)

Learning outcomes

By the end of the course, students should be able to do the following:

Further details

Curriculum explorer: Click here

SCQF Level: 9

Credits: 15