1 Introduction

Nachos is an instructional software that allows students to study and modify a real operating system. It was originally developed in C++ by researchers at the University of California, Berkeley and was later port to Java.

Nachos simulates a machine that roughly approximates the MIPS architecture with registers, memory and a CPU. It also simulates the general low-level facilities of typical machines, including interrupts, virtual memory and interrupt-driven device I/O. Similar to a real OS, Nachos supports two types of processes, namely, kernel processes and user level processes.

To use Nachos 5.0j, one is expected to be proficient with Java programming. Knowledge in generic types, exception handling, abstract class/interface will be helpful in understanding and implementing new modules in Nachos. Interested users can refer to online Java tutorials and Java API documentation.