XV6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。并且MIT6.828这门关于操作系统的课程也是广受好评的,也推荐大家去学习。 1 xv6源码下载 git clone https://github.com/mit-pdos/xv6-public.git 2 安装qemu sudo apt-get install qemu # 安装软件 man qemu-sy...
https://github.com/FrankZn/xv6-riscv-book-Chinese 北大xv6教学参考资料 xv6-book-riscv Lab 0 Utilities 实验要求 本lab的任务是熟悉xv6及其系统调用。 详细要求及提示见链接:(https://pdos.csail.mit.edu/6.828/2022/labs/util.html) Exercise 0 源代码阅读 阅读下列源代码,理解Xv6及其系统调用。 l kerne...
按照课程的建议,先去读了一下xv6 book的附录,感觉还是有一些收获的。这中间去扫盲增补各种概念的过程就已经收获不少。 1. 这里介绍了一下计算机的一个基本的逻辑模型,其实也可以作为我们思考计算机底层问题的一个基本思维模型。 2. 寄存器的本质其实也是存储,只是读取的速度会快很多。 3. x86的指令集是Intel发明的...
在文件(kernel/memlayout.h)声明了xv6内核内存布局的常量。 QEMU模拟一台包含RAM(物理内存)的计算机,从物理地址0x80000000开始,至少持续到0x86400000, xv6将其称为PHYSTOP(最高内存),这些空间属于DRAM硬件。QEMU模拟还包括I/O设备,如磁盘接口。QEMU将设备接口作为位于物理地址空间0x80000000以下的内存映射控制寄存器公...
Xv6是由麻省理工学院(MIT)为操作系统工程的课程(代号6.828)[1],[2]开发的一个教学目的的操作系统。 Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6[3])。Unix V6是1975年发布的,基于DEC PDP-11小型机,当时还没有x86系列CPU,
MIT XV6的教学网站提供了一份英文版的book-rev7.pdf,其中Chapter 0. Operating SystemInterface比较详细地这些系统调用的功能,熟悉Unix或Linux的兄弟们对这几个函数应如老友重逢般激动。是的,XV6就是Unix V6在X86平台上的重生。这里班门弄斧地简介这几个系统调用的功能:...
xv6好像是MIT的人把Unix V6(作者里奇,跟golang的plan9有关)从原版的奇怪机器架构移植到x86上,所以本体是一本书xv6-book(在书中印代码系列),里面再指向一个仓库叫xv6-public。我买了一本清大的xv6书,看能不能看得懂。实际上xv6-book这本书还参考了另一本书叫《莱昂氏unix源代码分析》,又是一本神书。其实...
Xv6是由麻省理工学院(MIT)为操作系统工程的课程开发的以教学目的的操作系统。Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。 Xv6设计灵感来源 Unix系统最早由KenThompson、Dennis Ritchie和Douglas McIlroy在贝尔实验室开发的操作系统,而现代广泛使用的Linux、Mac OS ...
MIT操作系统工程的教学操作系统Xv6的源码剖析中文翻译项目,使用ANSI标准C重新在X86架构上实现Unix v6; - depengchen/xv6-book-chinese
从xv6的视角来说x86 CPU是使用的虚拟地址来执行,而真实情况是x86需要逻辑地址(见图:逻辑地址、线性地址和物理地址之间的关系。)的指令来执行,所以其中加一个地址转换即可。逻辑地址是由段选择器和偏移量组成,有时候可以写成:段:偏移。分段硬件执行上述转换以生成线性地址。如果启动了分页硬件功能(请看第一章),它能...