Red X iconGreen tick iconYellow tick icon

Overview

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 Tuition Fees for 2027 have not yet been set
International Tuition Fees Tuition Fees for international students are elsewhere on this website.
Eligibility

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

Contact

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 the 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 the 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
Teaching Arrangements
One 2-hour lecture and one 2-hour lab per week.
Textbooks

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 the 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
    Assessment details
    • Two Assignments (25% and 30%)
    • Report (35%)
    • 10 Lecture Quizzes (1% each)
    Back to top