home tutorials faq contact
CS tutorials Share you information

Next: Nachos Machine Up: A Road Map Through Previous: Contents

Introduction to Nachos

Nachos is instructional software that allows students to study and modify a real operating system. The only difference between Nachos and a ``real'' operating system is that Nachos runs as a single Unix process, whereas real operating systems run on bare machines. However, Nachos simulates the general low-level facilities of typical machines, including interrupts, virtual memory and interrupt-driven device I/O.

The rest of this document attempts to provide a road map through Nachos. It is not intended to replace the need for reading the source code; rather, it this document attempts to speed up the learning process by describing ``the big picture.''

Section 2 provides an overview of the underlying machine that Nachos simulates and runs on top of. Section 12 describes Nachos threads and the mechanics of scheduling, synchronization and thread switching. Section 4 describes how user-level programs execute as separate processes within their own private address spaces. Section 5 provides an overview of the filesystem implementation. Section 6 reports on experience using Nachos to teach operating systems courses, and provides specific suggestions on individual assignments.

Nachos
Tutorials
Roadmap
Source Code

Introduction
Threads
Interrupts
Synchronization
System Calls
Exception Handling
Multiprogramming
File System
Networking

Tutorials
Lab 1 Tutorial
Lab 2 Tutorial
Lab 3 Tutorial
Lab 4 Tutorial
Lab 5 Tutorial


© 1999-2008 - All rights reserved. CS tutorials™ and the logo are registered trademarks of CS tutorials.