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 Second Semester
Domestic Tuition Fees (NZD) $1,307.76
International Tuition Fees (NZD) $5,517.77

^ Top of page

Eligibility

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

Contact

Computer Science Adviser (adviser@cs.otago.ac.nz)

Teaching staff
Lecturer: Associate 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
  • And 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

Assessment:
  • Two assignments 25% and 30%
  • Report 25%
  • 10 lecture quizzes 2% each
Teaching Arrangements
One 2-hour lecture and one 2-hour lab per week.
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

Timetable

Second Semester

Location
Dunedin
Teaching method
This paper is taught On Campus
Learning management system
None

Computer Lab

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

Lecture

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