Operating Systems & Concurrency

Code School Level Credits Semesters
COMP2046 School of Computer Science 2 20 Autumn China
Code
COMP2046
School
School of Computer Science
Level
2
Credits
20
Semesters
Autumn China

Summary

This course covers the fundamental principles that underpin operating systems and concurrency. Topics in operating systems that are covered include the architecture of operating systems, process and memory management, storage, I/O, and virtualisation. The principles of concurrency will be introduced from both the perspective of an operating system and user applications. Specific topics on concurrency include: hardware support for concurrency; mutual exclusion and condition synchronisation; monitors; safety and liveness properties of concurrent algorithms, and the use of threads and synchronisation.

Target Students

Part I undergraduate students in the School of Computer Science only. This module is part of the Operating Systems and Networks theme in the School of Computer Science.

Classes

Activities may take place every teaching week of the semester or only in specified weeks. It is usually specified if an activity only takes place in some weeks of a semester.Lectures will be supported by E-learning. E-learning has a variety of resources which will allow the student to gain the knowledge outlined in the course description and the module outcomes.

Assessment

Educational Aims

To teach the theoretical background and practical implementation of traditional operating systems.To consider the history and development of Operating Systems.To convey a basic understanding of the concepts, problems, and techniques of concurrent programming and concurrency in operating systems.To show how these can be used to write simple concurrent programs.

Learning Outcomes

Knowledge and Understanding:
 •A broad view of operating system principles.
 •Knowledge of key issues in the practical implementation of operating systems.
 •Understanding of the concepts, problems and techniques of concurrent programming.

Intellectual Skills:
 •The ability to think independently while giving due weight to the arguments of others.
 •The ability to understand complex concepts and apply them to specific situations.

Professional Skills
 •Enhanced programming skills.
 •The ability to write simple concurrent programs.

Transferable Skills
 •The ability to solve OS design problems.
 •The ability to solve problems.

Conveners

View in Curriculum Catalogue
Last updated 09/01/2025.