590s Minix3 Project
This page is dedicated to the UW CSE System Seminar's Spring 2006 examination of the Minix 3 operating system (http://www.minix3.org). Minix 3 is a microkernel operating system developed by Andy Tanenbaum. Unlike its predecessors, which were developed as teaching tools, Minix 3 is intended to also serve as a highly reliable and "secure" operating system for resource limited / embedded processors.
Also be sure to check out the 590s L4 Project page.
Minix 3 runs very well in VMWare. Download VMWare Server (it's free) from http://www.vmware.com. Then, you can get a pre-installed Minix-3 image to run in VMWare from http://www.minix3.org/download/minix3_1_1_small_vmware_256MB_1GB.zip . Remember to set the VM to use "NAT" and not "Bridged" networking if you're using it in the department. Andy is currently creating an image that additionally features more UNIX tools, and will post it when it is available. Minix-3 distributions seem to have all of the source code in/usr/src.
You can get an image with a bunch of tools installed in /usr/local and /usr/gnu off of annina in /scratch/minix3-tools.tgz. I recommend the following: "scp annina.cs.washington.edu:/scratch/minix3-tools.tgz ." Keep in mind, this is a 300 MB file.
Minix 3 has its own C compiler, which is _not_ GCC. I found allusion to there maybe being a GCC port for Minix, but have not found it. Indeed, I'm having trouble finding GNU utilities for Minix at all, which will be a real bummer. Lots of allusions to its existence, though.
Minix 3 Does Not Support:
- Threading (effects on IO parallelism?)
- Paged virtual memory (probably)
- Floating point hardware (not too hard to add, if needed)