CSE422/CSE512 - Operating System Internals
CSE422 teaches the Internals of a relatively advanced Operating
System. Currently it is FreeBSD that is used for the lab work.
Students have access to the Kernel source code and the projects involve
modifying the existing system. An example project might be to add a new System
Call to the Operating System, or modify the filesystem (or both :-). There are
usually three large projects, as well as some smaller assignments used
as "stepping stones" towards the larger projects. To consider
taking this course you should already have a good understanding of
Operating System fundamentals (typically having already taken or currently
taking CSE421) and be familiar with C programming. You will be thrown
into roughly 50Mb of C source code, needing to first understand what
the current code does and then make modifications/additions to it without
Students will be encouraged to set up and work on their
own home machines running FreeBSD as a way of reducing contention for
the lab machines. Since the projects involve working on the operating system kernel
students need to reboot a test machine with their kernel for testing
purposes, and only one student can use a test machine at any given
time. As project due dates get closer there is typically a lot
of contention for the six (or so) test machines that are available.
If you have your own machine at home to work on you will not be
competing with other students for use of the test machines while
debugging your projects (though
you will be required to put the final version of your work on the
lab machines for grading purposes). There are hints on how to install
FreeBSD given in the Lab Manual which is part of the course material but
it is not an exhaustive guide. It will require some basic systems
administration skills (and the test machines are available in the
lab if you find you can not set up your own machine). If you are planning
to take this course and have a suitable machine at home you may want to
try installing FreeBSD before the course starts.
Registration information about this course is available
on UB-Wings. This course is only offered in the Spring semester.
For information specific to any given semester see the
Instructor's Web page.
The instructor for this course is Ken Smith, who can be reached by sending