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
- One 3-hour lecture each week for 4 weeks
- One 2-hour lecture each week for 6 weeks
- One 1-hour computing each week for 10 weeks
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
- 25% Coursework 1: Programming assignment which coursework will involve the writing of one or multiple programs utilising operating system API functions and mechanisms to support concurrency and multithreading
- 75% Exam 1 (2-hour): 2 hours written examination
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
- Dr Qian Zhang
- Dr Saeid Pourroostaei Ardakan