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). 

外部連結