CS 378: Linux Kernel Programming

Spring 2003, Course ID (unique): 51947, MF 12:00-1:30P, HRH 3.102A

Instructor: Prof. Yongguang Zhang (ygz@cs.utexas.edu), office hours: MF 1:30-2:30 @ ACES 6.240
TA: Jonathan Chen (ccchen@cs.utexas.edu), office hours: TTH 11-12:30 @ TAY basement lounge
Newsgroup: utexas.class.cs378-zhang


Objectives

This course is designed as a laboratory component in the undergrad Operating Systems curriculum. It will supplement CS372 (Introduction to Operating Systems) and enable students to experiment with a contemporary OS (Linux). Through a series of programming assignments, the students will develop an appreciation in systems programming in general, experience the new open source software development model, and gain necessary skills and experiences to work large system software as complex as an OS kernel.

Why Teaching/Learning Linux Kernel Programming

Linux kernel is a very complex and monolithic software system. For performance reasons, it forgoes the structural design and many other software engineering principles that we learn in CS courses. Working in the kernel requires special skills and good judgements, such as

Students taking this course will not only learn the linux 2.4 kernel, but also perfect these skills to become a great system programmer.

Furthermore, linux represents a new software development paradigm -- open source and community building. This class will be taught in such a way that allows students to learn to work in the open source community.

How does it Compared with Last Spring

You can visit the homepage for Spring 02, when this course was offered for the first time.

It will be much improved this time. We will teach the open source development model and do programming assignments in this model. We will encourage participation as a community. The class will be more condensed in the beginning, and introduce the open source development model.

The project will be more adapted to kernel 2.4 and user-mode-linux.

As a collaboration with the Linux Technology Center at IBM Austin, we will continue to have guest lectures, external expertise, project suggestions, and and additional mentors from IBM.

Prerequisites

Course Grading

Reading Materials and References

More information

Please visit Spring 02 homepage for information on syllabus, projects, and reference books. We will make some changes to the syllabus, have new projects, and use new text books, but you can get the idea from last year.
© 2002 Yongguang Zhang