1 Nachos Introduction Lecturer: Tei-Wei Kuo TA: Ya-Su Chen, Yuan-Hao chang Date: 2005/10/19
2 Nachos Nachos: – Not Another Completely Heuristic Operating System Written by Tom Anderson and his students at UC Berkeley
3 Nachos 4.0 An educational OS used to teach monolithic kernel design and implementation do experiments Fact: Real hardware is difficult to handle. May break if handled wrong. Approach: Use a virtual MIPS machine Provide some basic OS elements
4 Nachos 4.0
5 Simulates MIPS architecture on host system (Unix /Linux/ Windows / MacOS X ) User programs need a cross-compiler (target MIPS) Nachos appears as a single threaded process to the host operating system
6 Recommended Platform Redhat Linux 7.3 Install linux directly on your pc. Install linux on virtual machine.
7 Desiginated Platform in This Class Linux in Workstation Room 217 Installation guide achos/217.htm achos/217.htm If your project submission can’t execute on Linux in Workstation Room 217, we will consider it as fail. The Linux kernel in Workstation Room 217 is Please contact the TA in Workstation Room 217 to apply an account if you need it.
8 Nachos content
9 Root directory C++ introduction to teach how to write C++ Root directory of Nachos ’ s source code Building directories for different systems (Platform dependent) File system Nachos ’ s library MIPS machine In/Out message queues Source code of Nachos kernel and MIPS simulator Nachos ’ s sample uer programs threads The tool to convert user programs from MIPS ’ s COFF into Nachos ’ s NOFF format NOFF: Nachos Object File Format User programs ’ interfaces: system calls, address space, noff format.
10 How does it work?(1)
11 How does it work?(2)
12 How does it work?(3)
13 Setup the System Refer to the following document: 05/files/nachos/217.htm 05/files/nachos/217.htm
14 GLOBAL A source code tag system that works the same way across diverse environments. Useful for hacking a large project containing many subdirectories, many #ifdef and many main() functions. You can download GLOBAL from ml ml
15 GLOBAL (Cont.) How To Start? load.html load.html Installation %./configure % make % make install gtags, htags
16 GLOBAL (Cont..) gtags – Create Tag Database % cd NachOS-4.0/ % gtags htags – Create Hypertext Files (under HTML/) for a Web-Based Interface for Global % htags –Ff The GLOBAL for NachOS /files/nachos/NachOS-4.0/HTML/ 05/files/nachos/NachOS-4.0/HTML/
17 How to Start Trace Codes Read interfaces in the *.h files first. To have overview of the whole system. Then,read the implementations in the *.cc files. See how the executable code supports each interface. Documentation tedItem=Nachos tedItem=Nachos