next up previous
Next: Interaction With the Up: Overview Previous: Development Platform and

Development Strategy

Because time was an important consideration in producing this software, we attempted, and succeeded, to use as much existing software as we could. This was not to avoid the real issues involved in completing the Nachos/486 project. Rather, it helped us to by-pass the mundane aspects of rewriting certain mandatory modules such as boot-straps and I/O routines in favor of dealing with the more challenging issues.

Most of the off-the-shelf components we have used are ``very standard'' in the sense that they are nearly identical in most other protected-mode PC operating systems. For example, the boot-strap loader is based on the boot-strap loader from the Carnegie Mellon Mach project. This same boot-strap loader has been modified for use in at least two other mainstream Unix operating systems, FreeBSD and NetBSD. Clearly, if there were any reward in rewriting these modules, there has been ample time for other operating system developers to do so. Instead, the code is good as is; To not use it would have been a waste of valuable time.

Another time-saving strategy that we applied was using the FreeBSD platform to run the nachos simulator. This allowed us to test the code before committing it to the hardware. Since the edit-compile-boot-debug cycle is very long for an operating system, the simulator saved much time. We were careful to maintain integrity between simulated versions of nachos and the versions that run on the hardware. This way, the nachos simulator is a tool for development, not just a source-code base. As such, it continues to be useful for prototyping developments and changes to the Nachos/486 operating system.

Paco Hope
Wed Jun 21 23:54:28 EDT 1995