Nachos 5.0j Tutorial
Rong Zheng
*
, Ala Shaabana and Qiang Xu
Dept. of Computing and Software
McMaster University
Hamilton, ON, Canada
{
rzheng,shaabaa,xuq22
}
@mcmaster.ca
December 18, 2014
*
Contact author
Contents
Disclaimer
How to Use this Document
1
Introduction
2
Installation and Execution of Nachos 5.0j
2.1
System requirements
2.2
Nachos Installation
2.3
Cross-compiler Installation
2.4
Organization of Nachos 5.0j sources
2.5
Execution
2.6
Using Eclipse with Nachos
3
Nachos Machine
3.1
Boot process
3.2
Processor
3.3
Interrupt management
3.4
Timer
3.5
Serial console
3.6
Network link
Exercise
4
Threads and Scheduling
4.1
KThread and Nachos thread life cycles
4.2
Scheduler
Exercise
5
User Level Process
5.1
Developing and compiling user programs
5.2
Loading COFF binaries
5.3
User threads
5.4
System calls and exception handling
Exercise
6
Nachos Memory Management
6.1
Memory allocation
6.2
Address translation
Exercise
A
Common Object File Format (COFF)
A.1
COFF header
A.2
Section table
B
Q&As – Questions Raised During Nachos Projects
B.1
Virtual memory