Faculty banner

CITS2230 Operating Systems
Unit home page

CITS2230 Operating Systems - Unit information for 2012

The most fundamental of all system programs is the operating system. The operating system controls all of a computer's resources, and provides a base on which application programs can be written. A modern operating system manages one or more processors, a hierarchy of memory, clocks, terminals, disks, network interfaces, and other input/output devices. The operating system's purpose is to provide an orderly and controlled allocation of all of these resources amongst the programs competing for them.

CITS2230 introduces the key mechanisms of all operating systems - processes, memory management, file systems, and protection and security. The evolution of these mechanisms is presented through a historical tour of operating system development, leading to a study of current hardware and operating system speeds, capacities, and physical limitations. The role of processes, and their creation, scheduling, synchronization, and communication is covered. This is followed by a study of storage management: static and dynamic allocation, paging and segmentation, virtual memory and demand paging, page replacement algorithms, and memory caches and their effect on performance. File system concepts are addressed: input/output hardware and software, files, directories and access mechanisms, file allocation and access algorithms, and performance. Finally, the increasingly important areas of protection and security are introduced: goals, authentication, access mechanisms, protection domains, access control lists and capabilities, and monitoring.

Throughout the unit, reference is made to case-studies from two of today's most successful operating systems, Linux and Microsoft Windows. Laboratory and tutorial work compare and contrast the provision of the key operating system mechanisms in each environment.

Information available from here:

Unit coordination:

Unit Coordinator: Prof. Amitava Datta
Tutor: Mr. Matthew Heinsen Egan
Lecture times: 9:00 - 10:45am Tuesdays (GGGL:WEBB)
Email discussion list for CITS2230: help2230
Consultation times: 3:00 - 4:00 pm Tuesdays, or any time (no prior appointment is required)

Assessment and important dates:

Assessment Dates
 Programming project handed out
 Tuesday 4 September (Week 6)
 Non-teaching period
 Saturday 22 September to Sunday 30 September
 Programming project due
 11:59pm Monday 29 October (Week 13)
 Final exam
 2 hours, November

Before undertaking this unit, students are strongly encouraged to read:


One hour tutorials will be held fortnightly, in Weeks 3, 5, 7, 9, and 12.
(Please Note: Your timetable mentions tutorial slots for CITS2230 every week, however, the tutorials for this unit will only be held in the semester weeks mentioned above.)
Tutorial sheets will be available on the unit web page. Although not contributing directly to your assessment, the form of questions discussed in tutorial sessions will be typical of those in the final exam. Tutorials will be held in Room 1.24. Written sample solutions to tutorial questions will not be provided.

Lab and project work:

Practical work is a very important component of this unit, both in weekly lab sessions that will reinforce lecture material and in project material that requires you to increase the depth of your knowledge. This unit has reserved a number of 2-hour weekly periods in which you are expected to undertake the lab and project work. One of these lab sessions will be supervised and you will be informed about this in the lectures. Lab sessions will be held in Lab 2.03: they will commence in Week 2. Please check the timetable and book a lab session.

Completion of the lab sheets is essential for satisfactory progress in this unit. Moreover, while you are welcome to undertake CITS2230 work on your home computers, this should not be seen as a substitute for attendance at supervised lab sessions.

You have to make sure that your project submissions work in the Linux environment available in the lab. I will not check your project submissions using any other environment, including Windows.

Suggested textbook for 2012:

Operating systems is a rapidly expanding field, and because of this, keeping up with the current literature can be a huge task. Details of our required textbook are provided below; it is available for purchase from ?. Copies are also held on Closed Reserve in the Maths & Physical Sciences Library.

We will be using the 5th edition of this textbook, but if you can find a 2nd-hand copy of a recent earlier edition, it should suffice. Additional reading material will be handed out, or placed online, during the unit.

Operating Systems: Internals and Design Principles
William Stallings
5th edition, 2005 (or any recent edition)
ISBN 0-13-127837-1

Visit the UWA Computer Science home page School of Computer Science & Software Engineering
The University of Western Australia
Crawley, Western Australia, 6009.
Phone: +61 8 9380 2716 - Fax: +61 8 9380 1089.
CRICOS provider code 00126G
Valid HTML 4.01!