当一个进程要求 xv6 提供更多的用户内存时,xv6 首先使用kalloc来分配物理页,然后将指向新物理页的 PTE 添加到进程的页表中。Xv6 设置这些 PTE 的PTE_W、PTE_X、PTE_R、PTE_U和PTE_V标志。大多数进程不使用整个用户地址空间;xv6 将不使用的 PTE 的PTE_V位保持为清除状态。 我们在这里看到了几个有趣例子,是...
Xv6为每个CPU维护了一个cpu结构体(kernel/proc.h:22),它记录了当前在该CPU上运行的进程(如果有的话),为CPU的调度线程保存的寄存器,以及管理中断禁用所需的嵌套自旋锁的计数。函数mycpu(kernel/proc.c:60)返回一个指向当前CPU结构体cpu的指针。RISC-V对CPU进行编号,给每个CPU一个hartid。Xv6确保每个CPU的hartid...
xv6-riscv-book-Chinese本项目是MIT 6.S081与6.828课程用书xv6-riscv-book的中文翻译。此版翻译基于xv6-book-2020-Chinese修改与校对完成,全部内容转为Markdown格式。如果您在阅读过程中发现翻译中有任何错误或可以改进的地方,欢迎提出issue或pull request。目录操作...
Breadcrumbs xv6-riscv-book-Chinese / Chapter-6.mdTop File metadata and controls Preview Code Blame 180 lines (117 loc) · 23.7 KB Raw 第六章:锁 大多数内核,包括xv6,都会交错执行多个任务。一种实现交错执行任务的方式是多处理器架构:硬件系统具有多个CPU独立执行,如xv6的RISC-V。这些CPU共享物理RAM...
当RISC-V计算机开机时,它会初始化自己,并运行一个存储在只读存储器中的***boot loader\***。***Boot loader\***将xv6内核加载到内存中。然后,在机器模式下,CPU从 **_entry**(kernel/entry.S:6)开始执行xv6。RISC-V在禁用分页硬件的情况下启动:虚拟地址直接映射到物理地址。 当RISC-V计算机开机...
xv6-book-riscv-rev1-Chinese MIT6.S081 (操作系统介绍)与6.828课程是操作系统知名课程,本项目是课程教材的中文翻译。 译者也在学习当中,水平有限,出现错误在所难免,如有任何意见或建议,请在Issues留言。 Chinese translation for MIT6.S081(Introduction to Operating Systems) textbook ‘xv6: A simple, Unix-...
book-riscv-rev0.pdf update new edition of book Feb 26, 2020 Xv6是由麻省理工学院(MIT)为操作系统工程的课程开发的以教学目的的操作系统。Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。 Unix系统最早由KenThompson、Dennis Ritchie和Douglas McIlroy在贝尔实...
book-riscv-rev0.pdf update new edition of book Feb 26, 2020 README Xv6操作系统 Xv6是由麻省理工学院(MIT)为操作系统工程的课程开发的以教学目的的操作系统。Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。
xv6-riscv-book-Chinese本项目是MIT 6.S081与6.828课程用书xv6-riscv-book的中文翻译。此版翻译基于xv6-book-2020-Chinese修改与校对完成,全部内容转为Markdown格式。如果您在阅读过程中发现翻译中有任何错误或可以改进的地方,欢迎提出issue或pull request。目录操作...
xv6-riscv-book-Chinese本项目是MIT 6.S081与6.828课程用书xv6-riscv-book的中文翻译。此版翻译基于xv6-book-2020-Chinese修改与校对完成,全部内容转为Markdown格式。如果您在阅读过程中发现翻译中有任何错误或可以改进的地方,欢迎提出issue或pull request。目录操作...