|
Thac's RPMs for Mandrake9.0
Updated 2003-03-20
My Index rpms for Mandrake9.0
My Networking rpms for Mandrake9.0
My Monitoring rpms for Mandrake9.0
My Kde rpms for Mandrake9.0
My Sound rpms for Mandrake9.0
My Util rpms for Mandrake9.0
My Graphics rpms for Mandrake9.0
Type this in a console as root, to add my RPMS to the urpmi database. urpmi.addmedia thacs.rpms http://www.mde.djura.org/9.0/RPMS with hdlist.cz.
My Mandrake 9.0 RPM for mips-decstation.linux-xgcc
which is needed to be able to build programs for nachos.
mips-decstation.linux-xgcc it contains the NachOS MIPS build environment.
- My mips-decstation.linux-xgcc-2.95 RPM here
- My mips-decstation.linux-xgcc-2.95 SRPM here
My Mandrake 9.0 RPM for nachos-4.0
nachos-4.0 is instructional software for teaching undergraduate, and potentially
graduate, level operating systems courses.
- My nachos-4.0 RPM here
- My nachos-4.0 SRPM here
Running Nachos
Once you have installed nachos and mips-decstation.linux-xgcc, you should be able
to run it by simply typing
- ./nachos
The command line argument -u will give you a list
of the available command line options.
Using these options, you can control what nachos
does when it runs.
For starters, you may wish to try the -K and
-C flags, which run some simple self-tests.
You can also try asking Nachos to run a very simple test program
called halt, which is found in the code/test
directory.
To try this, type
- ./nachos -d m -x /usr/local/nachos/source/code/test/halt
The -d m turns on machine simulator debugging output,
which includes the assembly language trace of halt's
execution.
The halt program simply makes the "Halt" system
call, which causes the machine simulator to halt and print
out some statistics.
Have a look at the halt program.
It is in code/test/halt.c.
For more details, you can look in the file /usr/local/nachos/source/code/threads/main.cc.
In fact, this is the best place to start reading the Nachos code,
since this is where it all begins.
Nachos Directory Structure
The main nachos directory contains three sub-directories: below /usr/local/nachos/source/
- coff2noff/
-
The source code and Makefiles for coff2noff, which is a program for converting
COFF (Common Object File Format) files
to NOFF (Nachos Object File Format) files.
Note that noff.h in this directory is a link to the file noff.h in
userprog.
- c++-example/
- The Nachos operating system is written in a subset of C++.
This directory contains an excellent primer on C++.
This primer is good reading for those who need a refresher,
and even for those of you who are experienced C++ programmers.
In particular, it explains why some of the "features" of
C++ are not used at all in Nachos.
- code/
- All of the source code for the Nachos operating system, the machine
simulation, and the test programs can be found here.
This code is organized into several sub-directories:
- lib
- utilities used by the rest of the Nachos code
- machine/
- The machine simulation. Except as noted in machine.h,
you may not modify the code in this directory.
- threads/
- Nachos is a multi-threaded program. Thread support is found
here. This directory also contains the main() routine
of the nachos program, in main.cc.
- userprog/
- Nachos operating system code to support the creation of
address spaces, loading of user (test) programs,
and execution of test programs on the simulated machine.
The exception handling code is here, in exception.cc.
- filesys/
- Two different file system implementations are here.
The "real" file system uses the simulated workstation's simulated
disk to hold files.
A "stub" file system translates Nachos file system calls into
UNIX file system calls.
This is useful initially, so that files can be used (e.g., to
hold user programs) before you have had a chance to fix up
the "real" file system.
By default, the "stub" file system is build into the nachos
program and the "real" file system is not. This can be changed
by setting a flag in the Nachos makefile.
- network/
- Nachos operating system support for networking, which
implements a simple "post office" facility.
Several independent
simulated Nachos machines can talk to each other through a
simulated network.
Unix sockets are used to simulate network connections among the
machines.
- test/
- User test programs to run on the simulated machine.
As indicated earlier, these are separate from the source for
the Nachos operating system and workstation simulation.
This directory contains its own Makefile.
The test programs are very simple and are
written in C rather than C++.
Use theese NachOS Downloads: if you want to build nachos yourself or to use nachos on Windows or MacOS
Sources: NachOS-4.0.tgz (Updated version of December 16, 2002),
start.s
Cross compiler: mips-decstation.linux-xgcc.tgz,
mips-decstation.win32-xgcc.tgz
Install image (16MB) of the MacOS X cross-compiler
It contains the NachOS MIPS build environment.
When you double-click the disk image, it mounts as /Volumes/NachOS.
You'll find the necessary binaries in /Volumes/NachOS/bin or
/Volumes/NachOS/decstation-ultrix/bin.
Installation Notes:
The NachOS source can be installed anywhere
in your home directory. Just untar it at an appropriate place. Go to the "NachOS-4.0/code/build.*"
directory and edit "Makefile.dep" if your host gcc compiler lives at an obscure place.
In order to install the cross-compiler you'll need to have write access to
the "/usr/local/nachos" directory on your Linux system (it's "/usr/local/nachosxdec"
for Windows). Go to your root directory "/" and untar the given cross compiler archive.
If your cross-compiler is not in the directory listed above you'll have to
change "test/Makefile.dep" to get all tools right. The cross-compiler for MacOS X
should be installed automatically somewhere else, thus you will have to change that file, too.
NachOS Documentation:
Lecture slides (16.10.2002)
Walkthrough to NachOS
NachOS Links:
Using GDB with NachOS
Development Environment for Windows: Cygwin
CSCI 402 - Operating Systems: NACHOS: The basis of class projects
CSCI 402 - Assignment #2: Exception Handling and System Calls, Multiprogramming
C++ Links:
C++ Tutorial
C++ Compact Course Slides from Ron DiNapoli, Cornell University; Summary from Gerd Liefl�der ( printable.pdf )
CS 213 Official Web Site: http://salsa.cit.cornell.edu/cs213-sp01/
NachOS Mailing List:
NachOS Mailing List
NachOS Mail Archive
My email
|