Operating Systems Lab
CS63:
Principles of Computer Organization
Fall Semester, 1997
Ray Ontko
Department of Computer Science
Earlham College
The purpose of this lab is to give you a chance to examine
and analyze the source code for a modern operating system.
I have printed the source code for a portion of the Linux
operating system, a modern, freely distributed, POSIX-compliant,
Unix-like operating system. I have chosen modules which are
related to the operating system features we have discussed
in class and which are mentioned in the text.
As an in-class exercise, pick one of the printed modules I have
provided and do the following:
-
Write your name on the listing for the module you picked.
-
On the back of the listing, write the names of the
functions which are defined in the listing.
-
Some of the routines are probably used only within
your module, and others are probably called by other
modules. Of these, which (if any) do you think implements an
operating system level (level 3) instruction? Mark
these with an asterisk in the list you prepared in
step 2.
-
For each function identified in step 3, describe the
function to the best of your ability based on the reading
of the source code.
-
List three things that surprised you about the source code.
-
List three things that didn't surprise you about the source code.
-
Feel free to cross-check your list in step 3
by consulting the man page for the function using any unix
system. If it's got a man page, chances are it's a
level 3 (or higher) function.
-
Turn in your listing at the end of class to my box in
the Math Department Lounge. I'd like to see what you
got out of the exercise.
Copyright © 1997,
Ray Ontko
(rayo@ontko.com).
If you're curious about why I copyright, see
Peter Suber's
Why
Copyright Web Documents?.