xv6-riscv README

The project's README from github.com/mit-pdos/xv6-riscv. As one markdown file: README.md.

xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.

ACKNOWLEDGMENTS

xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, 2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides pointers to on-line resources for v6.

The following people have made contributions: Russ Cox (context switching, locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin Clements.

We are also grateful for the bug reports and patches contributed by Abhinavpatel00, Takahiro Aoyagi, Marcelo Arroyo, Hirbod Behnam, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian Chen, clivezeng, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi,Wenyang Duan, echtwerner, eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin Liew, Bruce Lowekamp, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi Merimovich, mes900903, Mark Morrissey, mtasm, Joel Nider, Hayato Ohhashi, OptimisticSide, papparapa, phosphagos, Harry Porter, Greg Price, Zheng qhuo, Quancheng, RayAndrew, Jude Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya Shigemitsu, snoire, Taojie, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Alissa Tung, Rafael Ubal, unicornx, Amane Uehara, Pablo Ventura, Luc Videau, Xi Wang, WaheedHafez, Keiichi Watanabe, Lucas Wolf, Nicolas Wolovick, wxdao, Grant Wu, x653, Andy Zhang, Jindong Zhang, Icenowy Zheng, ZhUyU1997, and Zou Chang Wei.

ERROR REPORTS

Please send errors and suggestions to Frans Kaashoek and Robert Morris (kaashoek,[email protected]). The main purpose of xv6 is as a teaching operating system for MIT's 6.1810, so we are more interested in simplifications and clarifications than new features.

BUILDING AND RUNNING XV6

You will need a RISC-V "newlib" tool chain from https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for riscv64-softmmu. Once they are installed, and in your shell search path, you can run "make qemu".

xv6-riscv (mit-pdos/xv6-riscv)

Searching Database…

10.7K ·GitHub
这是什么?xv6-riscv 是对原始 Unix 第六版(v6)操作系统的重新实现,使用 ANSI C 重写,并移植到可在现代 RISC-V 多处理器上运行。它被用作麻省理工学院 6.1810 操作系统课程的教学操作系统。
这是一个生产用的操作系统,还是教学工具?它是一个小型的教学用操作系统内核,并不是为生产环境设计的。它的主要目的是教学:用简化、易读的代码展示一个真实的类 Unix 内核是如何工作的。
我该如何构建和运行它?安装所需的工具链和模拟器之后,只需运行一条 make 命令,即可完成构建并启动它。
构建之前我需要准备哪些工具?你需要一套 RISC-V 的 'newlib' GCC 工具链,以及为 riscv64-softmmu 目标配置好的 QEMU 版本。
这个内核是用来添加新功能的,还是只用来学习的?维护者明确优先考虑简化和厘清现有代码,而不是添加新功能,因此它更适合用于学习和课程作业,而不适合作为开发新操作系统功能的基础。
它是在真实的 RISC-V 硬件上运行,还是只能在模拟器中运行?README 只描述了通过 QEMU(riscv64-softmmu)运行的方式,因此文档中记载的用法是基于模拟器的,而不是直接在裸机硬件上运行。
为什么是 RISC-V,而不是原版 xv6 使用的 x86?此仓库是 xv6 的 RISC-V 移植版,沿用了 Unix v6 的结构和风格,但面向的是现代 RISC-V 多处理器架构,而不是原版的 PDP-11/x86。
xv6 的设计源自哪里?它受到 John Lions 的 Commentary on UNIX 6th Edition 启发,由麻省理工学院的研究人员(包括 Russ Cox)开发,多年来也有许多社区贡献者参与其中。
Which topics is it in?operating-system, c, education, open-source
Creator
mit-pdos
Size
17.7 MB
Stars
10.7K
Updated
CommitOct 15
Age
7y
Commits · 90 Days