Background
OS/161 is an educational
operating system developed by the Systems Research
at Harvard group, at Harvard
University. It aims to strike a balance between giving students
experience working on a real operating system, and potentially
overwhelming students with the complexity that exists in a fully
fledged operating system, such as Linux. Compared to most deployed
operating systems, OS/161 is quite small (approximately 20,000 lines
of code), and therefore it is much easier to develop an understanding of
the entire code base.
The OS/161 environment consists of three major parts: OS/161 itself;
System/161, the simulated machine that OS/161 runs on; and the cross
development tools required to compile and debug code for the simulated
machine.
Warning: Only use components of the OS/161 and
System/161 environment that were obtained from here!!!
We modify some parts of the environment for local use. Hence, there
are no guarantees that any local assignments will be achievable or
assessed correctly if you use components sourced from
elsewhere.
OS/161
The assignment specifications will contain instructions on how to get a copy of
the sources for your particular assignments.
All the components required to work on OS/161 on non-CSE machines are
provided below. Feel free to build and install them at home. However,
while we make every endeavour to ensure the tools build and function
for you, we cannot be responsible for them working (or not) on your
machine. We have built and used the components on Linux and Cygwin.
Warning: While we provide these components
for your use at home, we only guarantee our automated assessing to
work on submissions that correctly build and function on CSE
machines. Please make sure your assignment works at CSE before
submitting it!!!
Pre-built binaries
If you use Cygwin (the free Unix environment for Windows), Mac OS X, or Linux, you may wish to try these
pre-built binaries. Please report any problems with these binaries on the
forums.
OS X toolchain: cs3231-osx-20060302.tar.gz (28M)
Cygwin toolchain: cs3231-cygwin-20070315.tar.gz (21M)
Linux toolchain: cs3231-linux-20070317.tar.gz (27M)
To use these binaries on Cygwin:
cd /
tar zxvf filename
To use them on Linux or Mac OS X:
cd /
sudo tar zxvf filename
Make sure that the binary directories are on your PATH.
Cygwin: export PATH=$PATH:/usr/cs3231/bin:/usr/cs3231/root
OS X: export PATH=$PATH:/usr/local/cs3231/bin:/usr/local/cs3231/root
Linux: export PATH=$PATH:/usr/local/cs3231/bin
You might want to put the PATH setup command in your
.bashrc.
Building your own
If you can't or don't wish to use the above binaries, you should build
your own. Follow these directions to set up the OS/161 environment at home.
- Download the following components of the system.
- Uncompress the tarballs using tar xvfz filename.tgz.
- For the components in the cross compiler toolchain, follow the
directions in
the README file in the top-level directory of each
component. Note: You must install in the following order:
binutils, gcc, gdb.
- For directions on installing System/161, check out the
System/161 page at Harvard (or preferably,
our local copy).
|