摘要:
Chapter 6 Locking 许多内核,包括 xv6 ,交替执行多个任务。交替执行的原因之一是多处理器硬件:计算机有多个独立执行的 CPUs,如 xv6 的 RISC-V。多个 CPUs 共享物理 RAM,xv6 利用这种共享维护所有 CPU 都能读写的数据结构。 这种共享产生了一种可能:一个 阅读全文

随笔档案 (23)
最新评论
- 1. Re:MIT6.S081 ---- Lab page tables
- @seaupnice 感谢~...
- --hihaochengw
- 2. Re:MIT6.S081 ---- Lab page tables
- @hihaochengw 可以参考我上一篇随笔的“进程地址空间”小节。 p->sz 指向的地址空间应该是 从 heap 到底部 0 这一段空间。所以理论上可以这样理解。 我认为你的疑惑主要在这...
- --seaupnice
- 3. Re:MIT6.S081 ---- Lab page tables
- @seaupnice 谢谢解答!请问这个p->sz的描述可以在xv6中找到相关的解读么?对这块还是有一些疑惑,想深入了解一下。 另外,虽然TRAPFRAME,USYSCALL,TRAMPOLINE都没...
- --hihaochengw
- 4. Re:MIT6.S081 ---- Lab page tables
- @hihaochengw 你好。 先回答第二个问题,TRAMPOLINE, TRAPFRAME, USYSCALL 这三页不在 p->sz 中,p->sz 的地址空间是用户进程可以通过系统调用进行内存...
- --seaupnice
- 5. Re:MIT6.S081 ---- Lab page tables
- 博主你好,想请教一下proc_freepagetable函数中为什么要先取消顶部的三个Page的映射,之后再到uvmfree中释放全部的page呢? 我看到uvmfree函数中也有执行uvmunmap...
- --hihaochengw