COMP3005 - 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
COMP3005 (Also taught as: COMPGA09)
Year
3
Prerequisites
Term
1
Taught By
Mark Josephs (100%)
Aims
This is a practical course whose primary goal is 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 40% for all sections combined

The examination rubric is:
Answer any THREE questions out of FIVE. All questions carry equal marks.

Resources:

Lecture notes