From COEP Wiki
Jump to: navigation, search

xv6 is a simple unix-like teaching operating system developed at MIT. xv6 is re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 is implemented in ANSI C for an x86 based multiprocessors.
Xv6 is simple enough to teach operating system walking through it's code in a semester. xv6 has implemented most of modern operating system core functionalists which makes easier to start look through in operating system code for a newbie.

xv6 is around 8000 lines code yet still contains the important concepts and organization of Unix.

Understanding code Conceptually

xv6 is mainly written is ANSI c & some part in assembly. shell & perl are also used for making some files.
Basically understanding code of xv6 includes these sections

1. Boot process
2. Paging
3. Hardware Initialization
4. System call, Interrupts, Traps
5. Locking
6. Scheduling
7. File system

The dissection of code can be found in Struture of xv6 sourcecode