Course Introduction


To educate students on the basic concepts and components of operating systems, the relevant characteristics of hardware, and the tradeoffs between conflicting objectives faced by the OS.


As much as 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.


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.



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 Operating Systems (for COMP3231)
  2. COMP3231 Operating Systems (for COMP9201)



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

Tutorials (COMP3231 only)

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. 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.


There will be four assignments, due approximately in weeks 3, 6, 9 and 12. 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.

In order to minimise cheating we do not re-run unmodified assignments from earlier years. This implies that there are new assignment specifications. Even though we will not release the specifications until we have a prototype solution, this does not guarantee that there are no problems with the specification. In order to minimise the impact of specification problems to average students we will offer 5% bonus marks to students solving the assignment within 48 hours of release. Such submissions will have to be demonstrated and discussed with a tutor. This procedure should then help to iron out all problems with the spec before most students start on the assignment. These bonus marks can be used to make up lost marks in the same or other assignments (and are in addition to the early submission bonus below).

Students have, unfortunately, a tendency to underestimate the time required to do the assignments. Experience from the last few years show 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.

In order to encourage students to start early, we are also offering 10% bonus marks 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 assignments (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.


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

Penalties for cheating:

People who copy from previous year's students will be treated just as harshly as those copying from students doing the course with them. In addition, they will drag the suppliers of the solutions into the misconduct case. The general principle is that anything that is someone else's work must not be used without giving clear and unambiguous credit to the originator. Failing to do so constitutes cheating.

Cases of repeated cheating (in this or other courses) will be treated as academic misconduct and will result in an application being made to have the offender(s) suspended from the University. Suspension applications will also be made for first offenders in serious cases, e.g., where people involved in cheating cases are found to have made false statements.

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.

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

While we know that not all cheaters get caught, almost all people caught copying end up failing. Don't take the risk, don't become part of the statistics!

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 harmonic mean of the ``class mark'', C, and the final exam mark, E, is used to determine the final mark, M, according to

M = 2 E C

E + C

if both E >= 40 and C >= 40. Otherwise, the final mark is

M = minimum of 44 and 2 E C

E + C

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

For COMP9201 students the class mark is determined as the sum of the assignment marks.

Assigment 0 accounts for 10 marks, Assignment 1 for 25, Assignment 2 for 25, and Assignment 3 for 30 marks.

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 each of the C and E components.



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


Name Function Consultation
  Time Room Phone
Kevin Elphinstone Lecturer in Charge Tue 10:00-11:00 TBA 7160
Cameron Stone Administrator TBA TBA 6533

Please direct COMP3231/9201-related questions to the class account, not the individual academics or tutors. We will endeavour to provide reasonably quick response for questions mailed to cs3231, and reserve the right to ignore questions mailed to individuals. Furthermore, in order to be able to maximise the support for relevant questions we need to minimise the time wasted on dealing with repeated questions. Therefore, questions which have already been answered in a relevant FAQ will be ignored.