COMP3005 - Operating Systems
This database contains 2016-17 versions of the syllabuses. For current versions please see here.
|Code||COMP3005 (Also taught as: COMPGA09)|
|Taught By||Antoaneta Serguieva|
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. A good level of programming ability in C will be assumed, and students will be expected develop further expertise through practice.
|Learning Outcomes||To be able to: (a) read and understand C well and construct sophisticated 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|
Anatomy of an Operating System
Operating system structure: UNIX vs Windows
Threads and processes
Process creation and death
Process Control Blocks
Bootstrapping an OS
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.
The course has the following assessment components:
- Written Examination ( 2.5 hours, 85%);
- Coursework Section (15%).
To pass this course, students must:
- Obtain an overall pass mark of 40% for all components combined;
- Obtain a minimum mark of 30% in each component worth ? 30% of the module as a whole.