170 likes | 203 Views
Nachos Introduction. Lecturer: Tei-Wei Kuo TA: Ya-Su Chen, Yuan-Hao chang Date: 2005/10/19. Nachos. Nachos: – Not Another Completely Heuristic Operating System Written by Tom Anderson and his students at UC Berkeley http://www.cs.washington.edu/homes/tom/nachos/. Nachos 4.0.
E N D
Nachos Introduction Lecturer: Tei-Wei Kuo TA: Ya-Su Chen, Yuan-Hao chang Date: 2005/10/19
Nachos • Nachos: – Not Another Completely Heuristic Operating System • Written by Tom Anderson and his students at UC Berkeley http://www.cs.washington.edu/homes/tom/nachos/
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
Nachos 4.0 • 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
Recommended Platform • Redhat Linux 7.3 • Install linux directly on your pc. • Install linux on virtual machine. • http://www.vmware.com/ • http://www.connectix.com/
Desiginated Platform in This Class • Linux in Workstation Room 217 • Installation guidehttp://newslab.csie.ntu.edu.tw/course/OS2005/files/nachos/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 is2.4.26. • Please contact the TA in Workstation Room 217 to apply an account if you need it.
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 Source code of Nachos kernel and MIPS simulator MIPS machine In/Out message queues Nachos’s sample uer programs threads User programs’ interfaces: system calls, address space, noff format. The tool to convert user programs from MIPS’s COFF into Nachos’s NOFF format NOFF: Nachos Object File Format
Setup the System • Refer to the following document:http://newslab.csie.ntu.edu.tw/course/OS2005/files/nachos/217.htm
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 fromhttp://www.gnu.org/software/global/download.html
GLOBAL (Cont.) • How To Start? • http://www.gnu.org/software/global/download.html • Installation % ./configure % make % make install • gtags, htags
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-4.0http://newslab.csie.ntu.edu.tw/course/OS2005/files/nachos/NachOS-4.0/HTML/
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 • http://www.cs.duke.edu/~narten/110/nachos/main/main.html • http://newslab.csie.ntu.edu.tw/course/OS2005/index.php?SelectedItem=Nachos