Xv6是由麻省理工学院(MIT)为操作系统工程的课程开发的以教学目的的操作系统。Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。
Unix系统最早由KenThompson、Dennis Ritchie和Douglas McIlroy在贝尔实验室开发的操作系统,而现代广泛使用的Linux、Mac OS X、OpenBDS和FreeBSD都是类unix系统;但是unix v6在数字设备公司(DEC)的PDP-11机器上运行,与现在使用的x86架构不同。
莱昂氏unix源代码分析由上下两篇组成,上篇为Unix v6源代码,下篇是莱昂先生对Unix操作系统源代码的详细分析。该书简洁、透彻,曾作为未公开出版物广泛流传了二十多年(主要是许可问题,但是只允许作为大学课程使用),是一部杰出的经典之作,为操作系统hacker了解系统运行原理提供了非常好的途径。莱昂氏源码分析也是xv6的灵感来源,书籍形式和莱昂氏unix源码分析完全相同,但是xv6是在X86机器上的现代实现,并添加了多核支持,因此非常适合学习操作系统的基本原理;
我翻译这本书籍,主要是想把这本现代版本的莱昂氏源码分析介绍给更多有爱好者,共同提高和进步,翻译难免会有不准确或者错误之处,希望大家能够提issue或者fork,让我们共同完善和丰富操作系统的资料。
- Unix家族的维基百科资料
- Linux内核学习的书籍和资料:
- 莱昂氏源码分析的资料:
- Xv6书籍和源码PDF版本
- MIT操作系统工程最新课程计划
本文档中Xv6主要是在Ubuntu的虚拟机环境中编译、调试,VMWare或者VirtualBox(免费)都是是不错的选择,在MacOS下可以使用VMWare Fusion。