COMPGA09 - Operating Systems
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).- Code
- COMPGA09 (Also taught as: COMP3005)
- Year
- MSc
- Prerequisites
- Term
- 1
- Taught By
- Mark Josephs (100%)
- Aims
- This is a practical course whose primary goal is to develop an understanding of the operation of operating systems, building on and showing the utility of basic material covered in previous courses, including data structures and algorithms, concurrency, and networks. Since most practical operating systems are written in C-based languages, this course will use C. Although an introduction to C will be given, students will be expected to learn it through practice; developing the ability and confidence to learn new langauges by oneself is a secondary aim of the module.
- Learning Outcomes
- To be able to: (a) read and understand C well and construct intermediate-level C programs; (b) describe the functions of the major components of an operating system; (c) compare and contrast alternative possible implementations for some of these components; (d) implement a range of components for a practical UNIX-like operating system; (e) analyse the performance of components
Content:
- Programming in C
- C vs Java
Pointers
Memory allocation
C tools: make, gcc, dbg, lint, gprof, etc. - Anatomy of an Operating System
- Operating system structure: UNIX vs Windows
Threads and processes
Process creation and death
Process Control Blocks
Process scheduling
Concurrency control
Memory management
Device management
Networking
Protection
Bootstrapping an OS - Practical work
- The structure of the chosen UNIX source code
Compiling and debugging this system
Implementation of modules
Performance analysis modules
Method of Instruction:
Lecture presentations, programming lab classes, exercise questions
Assessment:
The course has the following assessment components:
- Written Examination ( 2.5 hours, 85%)
- Coursework Section (2 pieces, 15%)
To pass this course, students must:
- Obtain an overall pass mark of 50% for all sections combined
The examination rubric is:
Answer any THREE questions out of FIVE. All questions carry equal marks.

