University Subjects

COMP3231: Operating Systems

COMP3231: Operating Systems

University
University of New South Wales
Subject Link
View Subject

Subject Reviews

MisterNeo

4 years ago

Assessment
  • Assignment 0: 4%
  • Assignment 1: 12%
  • Assignment 2: 12%
  • Assignment 3: 12%
  • Final Exam: 60%
Assumed Knowledge
COMP1521 and COMP2521
Comments
Very good course if you want to learn about the history of operating systems and how they make your computer work. You also learn about the various decisions OS programmers sometimes make about the designs, e.g. what type of file system data structure to use. Other topics include synchronisation, threads and deadlock, which I thoroughly enjoyed. The first 2 assignments were straightforward and easy, however Assignment 2-3 involved the OS-161 project where you implemented parts of a working operating system, such as the TLB and page table, plus you had to work in pairs. The final exam was a timed Moodle quiz because of online learning and it involved understanding certain features of OS's and why they are designed that way.
Kinda bummed that the course was forced to move online halfway through the term because of COVID-19. I really enjoyed the lectures/tutorials and highly recommend the course to anyone doing computer science or similar.
Contact Hours
Two 2hr lectures + 1hr tutorial
Difficulty
3/5
Lecture Recordings?
Yes.
Lecturer(s)
Dr. Kevin Elphinstone
Notes / Materials Available
You get access to all lecture recordings, slides and tutorial resources for previous terms/semesters.
Overall Rating
4.5/5
Textbook
"Modern Operating Systems - 4th Edition", by Andrew Tanenbaum. (Optional, but good textbook IMO)
Year & Trimester Of Completion
20T1
Your Mark / Grade
97 HD but it didn't count because of COVID-19 :(

Did you find this review helpful?

RuiAce

4 years ago

Assessment
Course mark is calculated as a weighted geometric mean here. Let \(C\) be your class mark and \(E\) be your exam mark.
The class mark is comprised of:
- Assignment 0 - contributes 10 marks to \(C\), by yourself
- Assignment 1 - contributes 30 marks to \(C\), by yourself
- Assignment 2 - contributes 30 marks to \(C\), in pairs
- Assignment 3 - contributes 30 marks to \(C\), in pairs
There are also bonus marks available for early submissions, and for doing the advanced components.
The exam mark is just your final mark in the exam. Note that there is NEGATIVE MARKING for multiple choice type questions. (This includes true/false.)
The final mark is calculated by the formula \( M = e^{\frac{40\ln C + 60 \ln E}{100}} \). (So the weightings are roughly 40 to 60 between \(C\) and \(E\).) It only hits you hard if your class/exam marks are disproportionate from one another.
Assumed Knowledge
(COMP1521 or COMP2121) and COMP2521. (The former pair can be subbed for DPST1092 or ELEC2142, and the latter can as always be subbed out for COMP1927.)
Comments
This is one of the many level 3+ electives for UNSW CSE degrees. For the embedded systems major in computer science, it's one of the prescribed electives.

This course is genuinely popular. Although I believe this course is a little overhyped, it deserves hype without a doubt. This is the course that REALLY starts teaching you about how the computer works, and really helps develop an appreciation for all the things you take for granted on your device. You can pretty much see the course coverage on the Lectures tab in the website (but note that you have to be enrolled to get access to recordings). It's precursor course COMP1521 might not be needed, but is extremely valuable. In fact, these words from the assignment should literally be ringing COMP1521 bells: locks and semaphores, file systems, virtual memory. I would recommended to do this course as quickly as possible after COMP1521, but it's not mandatory to.

You use OS161 in this course, which is a relatively small-scale OS (compared to Linux, Windows, ...). But it's still a couple tens of thousands of lines of code, and you won't have the time to work with all of it. The assignments are tailored to implementing additional features on top of what is already featured in the codebase.

The rule of "planning things out before you code" is perhaps more important than ever to code. It's very easy to get entangled in your code and lose track of what direction you're heading.

It's also stupidly easy to make fatal bugs in this course. For example, back in COMP2521, if you had a memory leak the computer would probably fix it for you. (Reason being that Linux and Windows already know how to.) But if you forget something like a kfree() to a kmalloc() in OS, you pretty much lose the memory forever and break your system for good. (Well, it's fixable, but it's an excruciating pain to fix OS's damaged like this.)

The extended version COMP3891 should appeal to everyone that has a strong, genuine interest in this course. But it's follow-up course COMP9242 is... ahahahahahaha. (But if you loved COMP3231/COMP3891 a lot, you should probably give it a shot.)
Contact Hours
2 x 2hr lectures, 1hr tutorial. (Note that for COMP3891, the extended lecture completely replaces the tutorial.)
Difficulty
4/5 (for me, but tbh provided you put more effort in it should be a 2.5/5. Can't say the same for extended OS though.)
Lecture Recordings?
Yes
Lecturer(s)
A/Prof. Kevin Elphinstone
Notes / Materials Available
Slides, tutorial problems, and recordings are all uploaded onto the course website. There is also a wiki page for students taking this course, which has some miscellaneous tips on setup and the assignments. A piazza forum is also maintained for this course.
Overall Rating
4/5
Textbook
A. Tannenbaum and H. Bos, Modern Operating Systems, 4ED. Never used it so cannot comment.
Year & Trimester Of Completion
20T1
Your Mark / Grade
SY (apparently would've been 97 HD)

Did you find this review helpful?

Study Honours at the no.1 university in Australia

Open to students from all universities, Honours in Biomedical and Health Sciences builds on your bachelor’s degree in science or health and enables you to explore your interests in research. If you’re interested in pursuing a PhD or becoming a qualified health professional, then Honours is an ideal pathway.

Find out more