Accessibility Skip to Global Navigation Skip to Local Navigation Skip to Content Skip to Search Skip to Site Map Menu

COSC440 Advanced Operating Systems

Enhance the concepts, principles, and algorithms in operating systems with real implementations.

This paper aims to enhance students' understanding of the concepts, algorithms, principles and designs relating to operating systems by the use of real implementations on a modern ARM CPU.

Paper title Advanced Operating Systems
Paper code COSC440
Subject Computer Science
EFTS 0.1667
Points 20 points
Teaching period Semester 2 (On campus)
Domestic Tuition Fees (NZD) $1,409.28
International Tuition Fees Tuition Fees for international students are elsewhere on this website.

^ Top of page


There are no formal prerequisites for the 400-level papers, but prior knowledge is assumed.


Computer Science Adviser,

Teaching staff

Lecturer: Professor Zhiyi Huang

Paper Structure

In this paper students will:

  • Examine the design and the internals of real operating systems (xv6 and Linux)
  • Discuss the design and research issues in operating systems
  • Program in a real operating system (xv6 and Linux)
  • Understand how an operating system interacts with modern CPU (ARM)
  • Study performance optimisation at assembly and compiler level

This paper will cover:

  • Process management
  • Memory management
  • I/O systems
  • File systems in real operating systems (xv6 and Linux)

It will enable students to write modules working in Linux kernel. Issues such as:

  • Process management
  • Interrupts and exceptions
  • Device drivers
  • Concurrency
  • Memory management
  • File systems
  • Interrupt handling
  • Security and performance optimisations will be discussed and experienced through programming
  • Modern operating systems research, such as microkernel, will be exposed through reading materials


  • Two assignments 25% and 30%
  • Report 35%
  • 10 lecture quizzes 1% each
Teaching Arrangements
One 2-hour lecture and one 2-hour lab per week.

Recommended textbooks:

Writing Linux Device Driver - a guide with exercises by Cooperstein, 2009.
Essential Linux Device Drivers by Venkateswaran, Prentice Hall 2008.
Understanding the Linux Kernel (Third Edition) by Bovet and Cesati, O'Reilly, 2005.

Course outline
View the course outline for COSC 440
Graduate Attributes Emphasised
Lifelong learning, Critical thinking, Research, Self-motivation.
View more information about Otago's graduate attributes.
Learning Outcomes

This paper will enable students to:

  • Understand the major components in design and implementation of operating systems
  • Have confidence in Linux kernel programming
  • Have deep knowledge of ARM CPU and Unix OS
  • Have confidence in programming embedded systems
  • Understand the research issues in operating systems

^ Top of page


Semester 2

Teaching method
This paper is taught On Campus
Learning management system

Computer Lab

Stream Days Times Weeks
A1 Wednesday 14:00-15:50 28-34, 36-41


Stream Days Times Weeks
A1 Wednesday 09:00-10:50 28-34, 36-41