Operating Systems & Concurrency
Code | School | Level | Credits | Semesters |
COMP2007 | Computer Science | 2 | 20 | Autumn UK |
- Code
- COMP2007
- School
- Computer Science
- Level
- 2
- Credits
- 20
- Semesters
- Autumn UK
Summary
This course covers the fundamentals of operating systems and concurrency. Topics in operating systems include the architecture of operating systems, process management, memory management and file systems. The principles of concurrency will be introduced from the perspective of an operating system. Specific topics on concurrency include: hardware support for concurrency, mutual exclusion, the use of threads and synchronisation.
Target Students
Available to Level 2 students in the School of Computer Science. 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
- 50% Coursework 1: Programming assignment which will involve the writing of one or multiple programs utilising operating system API functions and mechanisms to support concurrency and multithreading.The reassessment for this module will be 100% Examination.
- 50% Exam 1 (2-hour): The reassessment for this module will be 100% Examination.
Assessed by end of autumn semester
Educational Aims
To teach the theoretical background and practical implementation of common 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.