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 ( NZD ) | $1,448.79 |
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
- More information link
- View more information about COSC 440
- 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
Assessment:
- 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.
- 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 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
Timetable
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 2025 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
- More information link
- 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
- 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