Red X iconGreen tick iconYellow tick icon


    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.

    About this paper

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

    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


    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 29-35, 37-42


    Stream Days Times Weeks
    A1 Wednesday 09:00-10:50 29-35, 37-42
    Back to top