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.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches