下面xv6-book以console driver(控制台驱动)为例, 进一步详细的介绍这个流程. Console input 介绍性内容 在正式进入console之前, 我觉得有必要了解一下这些东西的定义: terminal(终端) = tty = 文本输入输出环境 shell = 物理终端 console = 命令行解释器 早期的电脑具有一个带有大量的开关和指示灯控制面板, 这个面...
[xv6-book上原图] 上图展示了这种设计,可以看到文件系统被放在了user space, 在图示的MicroKernel中, 我们把作为进程运行(其实就是放在user space部分)的那部分os称为servers, 当一个进程想要和这部分server交互的时候, 这个进程会向kernel部分的os发起请求,等待回应. 上图就展示了一个user space的进程shell想要访问...
xv6 book risc-v 第八章 文件系统 文件系统的一个目标是组织和存储数据。文件系统通常支持在用户和应用之间共享数据,以及持久化它们以让重启后数据仍然可用。 xv6文件系统提供Unix风格的文件、目录以及路径名(查看第一章)并且将它的数据存储在virtio磁盘上以持久化(查看第四章)。文件系统面临多种挑战: 文件系统需要...
xv6 book risc-v 第六章 锁 包括xv6在内的大多数内核都会交错的执行多个活动,一个原因来自于多处理器硬件:计算机有多个独立运行的CPU,比如xv6的RISC-V,这些CPU共享物理内存,并且xv6利用这一点来维护被所有CPU共同读写的数据结构。这种共享提高了在一个CPU正在更新数据结构的过程中另一个CPU读取该数据结构的可能,...
xv6-book_chapter_1 System Call(系统调用) The job of an operating system is to share a computer among multiple programs and to provide a more useful set of services than the hardware alone supports. ... When a process needs to invoke a kernel service, it invokes a system call, one of ...
按照课程的建议,先去读了一下xv6 book的附录,感觉还是有一些收获的。这中间去扫盲增补各种概念的过程就已经收获不少。 1. 这里介绍了一下计算机的一个基本的逻辑模型,其实也可以作为我们思考计算机底层问题的一个基本思维模型。 2. 寄存器的本质其实也是存储,只是读取的速度会快很多。
以下所有的内容都可以在 xv6 book、实验指导书和 xv6 源码中找到原始出处; 发现有错误或改进的地方时,请不要吝啬您的键盘。 一、准备工作 1、内核内存布局 左边是 Kernel 的虚拟内存布局,右边是映射过去的物理内存布局。系统内的所有进程(包括 Kenel 和用户进程)都坐落在KERNBASE到PHYSTOP地址之间。Kernel 的end地...
Learning by Doing是这个课程推荐的方式,也是我觉得学习xv6的最佳方式 。不要只抱着xv6 book一直看,...
Contribute to Wu-yikun/xv6-riscv-book-Chinese development by creating an account on GitHub.
Commentary for xv6-public. Contribute to mit-pdos/xv6-book development by creating an account on GitHub.