OS/161 Guides and Resources

about OS/161 | about System/161 | project news | publications | license | credits
download | guides and resources | documentation | for instructors | bugs | mailing lists

For students

If you are taking a class that uses OS/161, most likely your course staff has provided a working environment somewhere with System/161 and the OS/161 compiler and toolchain already installed. However, you might want to e.g. work from home, in which case you will need to set up your own copy.

To work on a source tree the size of OS/161 you will want to use version control. Your course staff has probably told you which version control software they want you to use (so they can help you if you run into problems) -- use that. If not, any of the mainstream free systems (Mercurial, git, Monotone, Subversion, and even CVS) are fine choices. Wikipedia has a huge list of version control tools.

The first step is to set up your version control environment, unpack the OS/161 distribution, and commit the unmodified system as you got it. Then tag this version. This ensures you can refer to the unmodified code later if you need to. Note: if you are taking a class, be sure to use the version of OS/161 distributed by your course staff rather than anything downloaded from this site. It may include extra code or custom modifications. Or it may be a different version from what's posted here. In any case, failure to use what your course staff is expecting may lead to significant difficulties later.

Then you will want to configure and build the system, then boot the kernel in System/161. You will also want to familiarize yourself with the layout of the source tree. Then, once you start coding, the following further topics may be of use or interest:

For course staff

If you haven't used OS/161 before (as either staff or student) you probably should familiarize yourself with the layout of the source tree. It is mostly BSDish with a few modernizations; it will seem fairly familiar.

Someone on the course staff will generally need to set up the toolchain on the computer cluster where your students will be working. (If you already have a toolchain installed, consult the update recommendations.)

If you are switching from OS/161 1.x to OS/161 2.x, consult the migration guide. Because some things have been reorganized or renamed or just plain changed in 2.x, some course materials will probably need to be updated.

Further topics of interest:

Instructors Only

This material is in the instructors area.