Xv6 - DRAFT as of September 3, 2014
xv6
a simple, Unix-like teaching operating system
Russ Cox Frans Kaashoek Robert Morris xv6-book@pdos.csail.mit.edu
Draft as of September 3, 2014
Contents
0 Operating system interfaces
7
1 Operating system organization
17
2 Page tables
29
3 Traps, interrupts, and drivers
37
4 Locking
49
5 Scheduling
57
6 File system
71
7 Summary
87
A PC hardware
89
B The boot loader
93
Index
99
DRAFT as of September 3, 2014
3
Foreword and acknowledgements
This is a draft text intended for a class on operating systems. It explains the main concepts of operating systems by studying an example kernel, named xv6. xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented in ANSI C for an x86based multiprocessor.
The text should be read along with the source code for xv6. This approach is inspired by John Lions's Commentary on UNIX 6th Edition (Peer to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, 2000)). See for pointers to on-line resources for v6 and xv6.
We have used this text in 6.828, the operating system class at MIT. We thank the faculty, TAs, and students of 6.828 who all directly or indirectly contributed to xv6. In particular, we would like to thank Austin Clements and Nickolai Zeldovich.
DRAFT as of September 3, 2014
5
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.