Computer Science
Operating Systems: COMPSCI 340 & SOFTENG 370 Semester 2 2016, City Campus
This page is no longer maintained. Information on the current offering can be found on Canvas. The Canvas link for this course can be found here.
An operating system is the software which makes a raw computer more or less usable by people. To most people who use computers, the operating system is indistinguishable from the hardware; they never experience the machine by itself. It is the operating system's job to communicate with the people who use it, to look after their files, to do sensible things when they do silly things, and generally to look after all the jobs that must be done but which are too complicated (at the moment) to be built into the hardware.
This course tries to look at general principles of operating systems, but we do look at some low level details as well. You are expected to be a competent programmer in a language such as Java or C++. Some assignments this year will use Python.
The course information document with the same information as on this website.
- Introduction to operating systems
- Operating system history
- Virtual machines
- Processes, threads and process states
- Real-time processes
- The problems of concurrency and some of the solutions
- Communicating processes
- Deadlock
- Devices
- Memory management
- Virtual memory
- File systems
- Networked operating systems
- Distributed operating systems
- Protection and Security
Type |
% of final mark |
Exam |
70 |
Test - date : Tuesday 23rd August, 9am - 10am |
10 |
Three assignments |
20 |
The Operating Systems course is classed as a practical course. This means you have to pass both the practical component - the assignments, and the theory component - the test and exam, as well as getting an overall pass, to pass the paper.
The pass mark for the practical component is 25%. This means if for some reason you cannot do an assignment you should still be able to gain the practical pass. Of course if you have a practical mark of only 25% then you have to get more in the theory component in order to pass. You also miss out on any learning benefit you would have had from doing all of the assignments. The test and final exam always have significant questions taken from the work done in the assignments.
The pass mark for the theory component and the overall pass marks are approximately 50%.
Either Canvas or the Assignment Drop Box system will be used for the submission of assignments. This will be detailed in the assignment specifications.
Lectures are held at the following times and places (as of the time this document was prepared):
Tuesday 9am 201N-346 (HSB)
Thursday 10am 301-G050 (Chem)
Friday 11am 301-G050 (Chem)
Lecture Topics
Introduction to the course - OS structure
History of OSs - up to batch systems

History of OSs - time-sharing systems, PCs, the Web and smaller OSs
C programming and Operating Systems
Virtualization, Processes and threads - implementation
PCBs, Process states, Process creation
Running, waiting and stopping
Scheduling
Real-time scheduling
The problem of concurrency - locks and semaphores
Readers/writers, monitors
Dining Philosophers, Equivalence of concurrency constructs
IPC, Distributed concurrency control

Deadlock
File Systems
Representing files on disk
File allocation techniques
Versioning File Systems
Distributed File Systems
NFS & AFS
Distributed services
Memory management, Pages, Segments

Virtual memory, page faults
Page allocation algorithms
Protection and the access matrix
Capabilities and Access Control Lists
Cryptography and Authentication, Kerberos
Intro to mobile security
Device drivers
Linux modules and general device services
Disks as special devices, disk scheduling
If you must leave for family emergencies etc., PLEASE talk to the lecturer, or somehow get a message to the department. Very few problems are so urgent that we cannot be told quite quickly.
For problems affecting assignments or tests, see the lecturer, as soon as reasonably possible.
For illness during exams (or other problems that affect exam performance) students MUST contact the University within ONE WEEK of the last affected examination, to apply for an aegrotat pass (for illness) or compassionate pass (other problems).
THE ONE WEEK LIMIT IS STRICTLY ENFORCED.
Refer to the "Exams affected by personal circumstances (aegrotat and compassionate consideration)" section of the University websit for further information. https://www.auckland.ac.nz/en/for/current-students/cs-academic-information/cs-examination-information/cs-aegrotat-and-compassionate-consideration.html
All lecture notes, assignment handouts, other documents, and lecture recordings for both COMPSCI 340 and SOFTENG 370 will be available on Canvas.
Your coursework grades for the assignments and the test will also be on Canvas.
There is a class Piazza page, accessible through Canvas.
The University of Auckland will not tolerate cheating, or assisting others to cheat, and views cheating in coursework as a serious academic offence. The work that a student submits for grading must be the student's own work, reflecting his or her learning. Where work from other sources is used, it must be properly acknowledged and referenced. This requirement also applies to sources on the world-wide web. A student's assessed work may be reviewed against electronic source material using computerised detection mechanisms. Upon reasonable request, students may be required to provide an electronic version of their work for computerised review.
Please refer to http://www.auckland.ac.nz/uoa/home/about/teaching-learning/honesty.
Every member of the University has a right to dignity and respect. Please see the policy on harassment: https://www.auckland.ac.nz/en/for/current-students/cs-student-support-and-services/cs-personal-support/bullying-and-harassment.html.
For help with Canvas see: https://www.auckland.ac.nz/en/about/learning-and-teaching/CanvasHomepage/canvas-help---support.html.
-
Related Programmes