xv6

一个类Unix的自由操作系统

xv6是以ANSI C重新编写的Unix第六版现代实现版本,适用于多处理器x86RISC-V系统。xv6于2006年问世,作为麻省理工学院的操作系统工程(6.828)课程的教学使用。

xv6
xv6 启动,并使用 ls 命令
开发者MIT
编程语言C语言汇编语言
操作系统家族类Unix系统
源码模式开源
当前版本
x86 (EOL):rev11(2018年9月2日,​6年前​(2018-09-02
RISC-V:rev3(2022年9月5日,​2年前​(2022-09-05
支持的语言英语
支持平台多处理器x86RISC-V
内核类别宏内核
默认用户界面命令行界面
许可证MIT许可证
官方网站pdos.csail.mit.edu/6.828/xv6


目的

编辑

LinuxBSD不同,xv6非常简单,足以在一个学期内讲完,但仍然包含Unix的重要概念和组织[1]。由于PDP-11机器没有被广泛使用,而且最初的操作系统是用过时的pre-ANSI C编写的,所以该课程没有学习原始的V6代码,而是使用xv6[1]

内置文档

编辑

xv6 Makefile的一个特性是能够以可读的格式生成整个源代码清单的PDF文档。整个打印输出只有99页,包括交叉引用[2]。这让人想起原始的V6源代码,该代码在《Lions' Commentary on UNIX 6th Edition, with Source Code》一书中以类似的形式发布。

教学使用

编辑

xv6已被用于许多著名大学的操作系统课程,包括:

美国的西北大学 (伊利诺伊州)[3]乔治·华盛顿大学[4]东北大学[5]耶鲁大学[6]哥伦比亚大学[7]约翰·霍普金斯大学[8]波特兰州立大学[9],南方耶稣复临大学[10]威斯康星大学麦迪逊分校[11]宾汉顿大学犹他大学[12][13]加利福尼亚州大学欧文分校[14]加利福尼亚大学河滨分校[15]伊利诺伊大学芝加哥分校[16]罗格斯大学[17],纽约大学。

中国清华大学[18],天津大学。

以色列内盖夫本-古里安大学[19]

印度的印度理工学院孟买校区、印度理工学院马德拉斯校区和印度理工学院布巴内斯瓦尔校区。

瑞典林奈大学[20]

新西兰奥塔哥大学[21]

阿根廷国立科尔多瓦大学[22]National University of Río Cuarto英语National University of Río Cuarto[23]

智利的费德里科圣玛利亚理工大学。

意大利的摩德纳大学[24]巴勒莫大学[25]

伊朗德黑兰大学[26]

巴西米纳斯吉拉斯联邦大学[27]

台湾国立台湾大学[28]

生产使用

编辑

参考文献

编辑
  1. ^ 1.0 1.1 Xv6, a simple Unix-like teaching operating system. [2014-09-22]. (原始内容存档于2015-08-23). 
  2. ^ xv6 source listing (PDF). [2018-01-10]. (原始内容 (pdf)存档于2021-12-09). 
  3. ^ EECS 343: Operating System, Fall 2016-17. [2018-11-11]. (原始内容存档于2018-10-24). 
  4. ^ CSCI 3411 - Operating Systems, Fall 2018. [2018-09-27]. (原始内容存档于2021-12-17). 
  5. ^ CS 3650: Computer Systems, Fall 2014. [2014-12-09]. (原始内容存档于2016-12-16). 
  6. ^ CS422/522: Operating Systems, Spring 2010 — Overview. [2010-02-05]. (原始内容存档于2012-07-30). 
  7. ^ COMS W4118: Operating Systems I, Fall 2013. [2013-09-09]. (原始内容存档于2021-09-21). 
  8. ^ 600.318/418: Operating Systems. [2015-11-07]. (原始内容存档于2015-11-04). 
  9. ^ CS 333 Introduction to Operating Systems. [2018-04-10]. (原始内容存档于2018-10-25). 
  10. ^ School of Computing at Southern Adventist University. [2017-12-10]. (原始内容存档于2018-10-20). 
  11. ^ CS-537: Introduction to Operating Systems. [2011-11-04]. (原始内容存档于2021-11-14). 
  12. ^ CS 6460: Operating Systems. [2014-01-20]. (原始内容存档于2021-09-21). 
  13. ^ Embedded in Academia : Xv6. [2014-04-08]. (原始内容存档于2014-04-13). 
  14. ^ University of California, Irvine, Wikipedia, 2018-11-10 [2018-11-14] (英语) 
  15. ^ CS 202: Advanced Operating System. [2017-12-02]. 
  16. ^ CS385 - Operating Systems Concepts and Design. [2015-03-18]. (原始内容存档于2021-09-21). 
  17. ^ 01:198:416: Operating Systems Design. [2010-02-05]. (原始内容存档于2012-07-30). 
  18. ^ FrontPage - OS Teaching Wiki. [2010-03-18]. (原始内容存档于2012-07-30). 
  19. ^ Operating Systems - 2012/Spring - Main. [2012-03-26]. (原始内容存档于2021-09-21). 
  20. ^ 1DV201: Operating system. [2013-03-14]. (原始内容存档于2022-04-01). 
  21. ^ COSC440: Advanced Operating system. [2015-07-14]. (原始内容存档于2022-02-09). 
  22. ^ SistOp14: Operating Systems. [2015-08-06]. 
  23. ^ Operating Systems. [2015-08-06]. [永久失效链接]
  24. ^ Progettazione di Sistemi Operativi. [2017-10-09]. (原始内容存档于2021-09-21). 
  25. ^ Sistemi Operativi. [2015-10-18]. 
  26. ^ Operating Systems instructed by Dr. Mehdi Kargahi. [失效链接]
  27. ^ DCC605: Sistemas Operacionais. [2015-11-16]. (原始内容存档于2021-09-21). 
  28. ^ 課程大綱. [2023-03-20]. (原始内容存档于2023-03-20). 
  29. ^ T6: TrustZone Based Trusted Kernel. [2015-01-12]. (原始内容存档于2021-10-29). 

外部链接

编辑