mit-pdos/xv6-public
GitHub: mit-pdos/xv6-public
MIT开发的Unix v6现代复现版本,专为操作系统教学和内核开发入门设计,支持x86多处理器架构。
Stars: 9267 | Forks: 4472
注意:我们已经停止维护 xv6 的 x86 版本,并已将精力转移到 RISC-V 版本 ( )
xv6 是对 Dennis Ritchie 和 Ken Thompson 的 Unix Version 6 (v6) 的重新实现。xv6 大体上遵循 v6 的结构和风格,但使用 ANSI C 为现代基于 x86 的多处理器实现。
致谢
xv6 的灵感来源于 John Lions 的《Commentary on UNIX 6th Edition》(Peer to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, 2000))。另请参阅 ,其中提供了 v6 的在线资源链接。
xv6 借鉴了以下来源的代码:
JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c 等)
Plan 9 (entryother.S, mp.h, mp.c, lapic.c)
FreeBSD (ioapic.c)
NetBSD (console.c)
以下人员做出了贡献:Russ Cox(上下文切换,加锁),Cliff Frey (MP),Xiao Yu (MP),Nickolai Zeldovich 和 Austin Clements。
我们也感谢 Silas Boyd-Wickizer, Anton Burtsev, Cody Cutler, Mike CAT, Tej Chajed, eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, Peter Froehlich, Yakir Goaron, Shivam Handa, Bryan Henry, Jim Huang, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Eddie Kohler, Austin Liew, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel Nider, Greg Price, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Cam Tenny, tyfkda, Rafael Ubal, Warren Toomey, Stephen Tu, Pablo Ventura, Xi Wang, Keiichi Watanabe, Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng 和 Zou Chang Wei 贡献的错误报告和补丁。
构成 xv6 的文件中的代码受版权保护,Copyright 2006-2018 Frans Kaashoek, Robert Morris 和 Russ Cox。
错误报告
我们不处理错误报告(请参阅本文件顶部的说明)。
构建和运行 XV6
要在 x86 ELF 机器(如 Linux 或 FreeBSD)上构建 xv6,请运行 "make"。在非 x86 或非 ELF 机器(如 OS X,即使在 x86 上)上,您需要安装能够生成 x86 ELF 二进制文件的交叉编译器 gcc 套件(请参阅 )。
然后运行 "make TOOLPREFIX=i386-jos-elf-"。现在安装 QEMU PC 模拟器并运行 "make qemu"。
标签:ANSI C, MIT 6.S081, RISC-V, Unix, Unix V6, x86, xv6, 内核, 多处理器, 客户端加密, 底层开发, 开源, 操作系统, 操作系统开发, 教学操作系统, 数字足迹, 系统编程, 系统软件, 计算机科学, 资源列表, 身份验证强制