Course Introduction

Course Staff

Kevin Elphinstone Lecturer in Charge
Aaron Carroll Administrator
Note: Consultation times will be announced on the course web page.

Course Information

Units of Credit: 6

Course Delivery

Note that COMP3231/9201/3891/9283 are taught in parallel. The lectures are common for all courses. We cater for the differing needs of postgraduate and undergraduate students by weighting assessment components more flexibly in the case of postgraduate students. See the section on assessment below for details.

For students doing Extended Operating Systems (COMP3891/9283), your tutorial is an advanced tutorial where lecture topics are covered in extended depth, and new topics are introduced and discussed.

Course Aims

Operating systems are an essential part of computer systems, a course on operating systems is an essential part of any computer science or computer engineering program. This course is oriented towards exposing students to the essential concepts and issues that underly operating systems and their design.

In general terms, the course aims to educate students in the basic concepts and components of operating systems, the relevant characteristics of hardware, and the tradeoffs between conflicting objectives faced by the operating systems in efficiently supporting a wide range of applications.

This course provides an understanding of the underlying operating systems which students have implicitly relied upon in developing applications in foundational courses within Computer Science and Engineering, and will rely on in their future careers when developing systems and applications. The course also builds upon COMP2121/9032 Microprocessors and Interfacing by illustrating how more complex software systems are supported on microprocessor-based systems.

Specific Aims and Outcomes


Make students understand the key concepts and mechanisms of modern operating systems:


Make students understand the reasons why operating systems are built the way they are, and what the implications and lessons are for other software systems. Specific learning objectives are:


The tutorial formats will give students practice in the presentation of solutions to an audience of peers, and will challenge them to critique peer technical presentations. Furthermore, the whole course encourages critical examination and analysis of "standard" solutions.

The assignments give students an opportunity to develop skills required to work as a team on a technical project, and the opportunity to work with a substantial body of code created by a third-party.

Teaching Approach

Our approach to teaching operating systems is

Course Development

We strive to continually improve this course, and actively seek feedback both during session, and via various evaluation surveys (CATEI and my own) at the end of the course. The results of surveys and any feedback are taken seriously and are actively used as input to further improvements in the course. See last year's survery ( for what students thought about the course, and how the course is evolving based on their feedback.



It is assumed that the student is familiar with the general organisation of a general-purpose computer (in particular, CPU, memory, bus, registers, machine instructions, interrupts/exceptions).

Students are also assumed to be competent in the C programming language.

Course Prerequisites

Course Exclusions

  1. COMP9201/9283 Operating Systems (for COMP3231/3891)
  2. COMP3231/3891 Operating Systems (for COMP9201/9283)


Broadly, the course consists of lectures, tutorials, assignments, and a final exam.


The lecture delivery (3 hours per week) and material covered is common for all operating system students, independent of the course code your enrolled under.

Lectures will cover roughly the following topics (although not in this order):

A detailed list of lecture topics and the slides used for the lectures will be posted on the course website as session progresses.


Tutorials start in Week Two. Part of the allocated tutorial time will be devoted towards solving problems and discussing solutions related to lecture topics, while the remaining time will be used to discuss topics relevant to assignments.

Students will be required to present tutorial problems (approx. 10 min/student) under the guidance of the tutor. Written submissions are required for some portion of the tutorials. Individual student contribution (presentation, critiquing solutions and suggesting alternatives) in tutorials will be assessed and forms part of the final mark for the course(COMP3231 only). To obtain the tutorial marks, you have to attend your registered tute. Other tutors cannot award participation marks.

Note that tutorial marks will be based on participation only, there are no marks allocated just for attending.

For students doing Extended Operating Systems (COMP3891/9283), your tutorial is an advanced tutorial where lecture topics are covered in extended depth, and new topics are introduced and discussed.


There will be four assignments, due approximately in weeks 4,6,9, and 13. Note that the first assignment is a really trivial familiarisation exercise, and should not be used to judge the difficulty of the other assignments. Except for the first familiarisation assignment, the three main assignments are done in groups of two. Assignments will use the OS/161 educational operating system running on a simulated MIPS R3000 computer called System/161. Both the operating system and the simulator were developed at by the Systems Research at Harvard group. The simulator is relatively platform independent, it runs on Unix as well as Windows systems. Assignment solutions will be submitted in C code. Details will be released in due course.

Assignments will generally have advanced options which provide a significantly higher level of challenge than the standard assignments (which most students find fairly challenging already). There will be bonus marks available for students solving the advanced parts. However, we want students to do the advanced assignments for the challenge rather than the marks, therefore the number of bonus marks is intentionally kept small compared to the amount of extra work required.

For students doing Extended Operating Systems (COMP3891/9283), you are encouraged to attempt the advanced assignment components.

Students have, unfortunately, a tendency to underestimate the time required to do the assignments. Experience from the last few years shows that the assignments in this course are considered challenging, and they consume a fair amount of time. It is important to start early. If you start on them on the weekend before the deadline you'll almost certainly miss the deadline. As a tip, the majority of the assignment is learning how to solve the problem (approx. 75% of the effort). The programming component is actually the minority of the work required (approx 25%).

In order to encourage students to start early, we are also offering 10% bonus marks (10% of the raw mark awarded) for submitting their final solution one week before the deadline (i.e., you lose the bonus marks if you re-submit less than a week before the deadline). Such bonus marks will allow you to make up for missed marks in the same assignment (i.e., you cannot get above the full marks for the assignment that way).

Penalty for late submission of assignments will be 4% (of the worth of the assignment) subtracted from the raw mark per day of being late. In other words, earned marks will be lost. For example, assume an assignment worth 25 marks is marked as 20, but had been submitted two days late. The late penalty will be 2 marks, resulting in a mark of 18 being awarded. No assignments will be accepted later than one week after the deadline. The late penalty is purposely lenient due to the tendency of students to underestimate the work required.


What is Plagiarism?

Plagiarism is the presentation of the thoughts or work of another as one's own.

Examples include:

For the purposes of this policy, submitting an assessment item that has already been submitted for academic credit elsewhere may be considered plagiarism.

Knowingly permitting your work to be copied by another student may also be considered to be plagiarism.

Note that an assessment item produced in oral, not written, form, or involving live presentation, may similarly contain plagiarised material.

The inclusion of the thoughts or work of another with attribution appropriate to the academic discipline does not amount to plagiarism.

The Learning Centre website is main repository for resources for staff and students on plagiarism and academic honesty. These resources can be located via:

The Learning Centre also provides substantial educational written materials, workshops, and tutorials to aid students, for example, in:

Individual assistance is available on request from The Learning Centre.

Students are also reminded that careful time management is an important part of study and one of the identified causes of plagiarism is poor time management. Students should allow sufficient time for research, drafting, and the proper referencing of sources in preparing all assessment items.

We always check for cheating (i.e. plagiarism), and while we will never catch all cheaters, we always catch a significant number. We deal with them severely. Don't take chances!

This is no idle threat. We catch and penalise cheaters to protect the reputation and integrity of the University, and the interests of those who get their marks through honest work. A sample from past years is included below.

COMP3231 Cheating Statistics
Session   1998/S11999/S12000/S12001/S1 2001/S22002/S12002/S22003/S1 2003/S2
enrolment 178410320300 107298156290 122
suspected cheaters 10(6%)26(6%)22(7%)26(9%) 20(19%)15(5%)???(?%)13(4.5%) ??(??%)
full penalties 2*6*9*14* 10952 1
reduced penalties 71577 5422 9
cheaters failed 4101616 101254 1
cheaters suspended   0010 0100 0
* Note: full penalty was not 0FL prior to S1/2002.
+Application pending

Mid-Session Quiz

There will be no mid-session quiz.

Final Exam

A two hour written final examination will be conducted.

Supplementary assessments

Supplementary exams will only be awarded in well justified cases, in accordance with School policy, not as a second chance for poorly performing students. In particular, it is unlikely that a supplementary will be awarded to students who have actually sat the proper exam. Make up your mind whether or not you are sick before attempting the exam!

Supplementary exams will be oral. The supplementary final exam will be held after the written supplementary exams held for other courses.


Tutorial participation (COMP3231 only) and assignments will determine the ``class mark'' component towards the final assessment. (Note that the class mark is capped at 100, irrespective of how many bonus marks you have accumulated.) The exam will be the second component of the final assessment. The weighted harmonic mean of the ``class mark'', C, and the final exam mark, E, is used to determine the final mark, M, according to

For COMP3231 students the class mark is determined as the weighted arithmetic mean of tutorial participation (10%) and assignments (90%) plus bonuses.

For COMP9201/3891/9283 students the class mark is determined as the sum of the assignment marks normalised to 100 plus bonuses.

COMP9201 students who wish to participate in tutorials can arrange with their tutor at the start of semester to recieve a participation mark, in which case, the class component of their mark will be calculated as for COMP3231.

A final mark of 50% is required in order to pass, however, it is furthermore required for a pass that a minimum of 40% is achieved in the exam E component.

We reserve the right to scale mark components of the individual courses (COMP3231/9201/3891/9283) separately where appropriate.

More information on harmonic means in general is available here.



Reference Books

For Operating Systems:

For the C language:

Copies of lecture slides and other information can be found under the course's WWW home page at URL