摘要: 三、xv6的内存实验专项 1. 写时复制 (Copy-on-Write, COW) 核心机制: Fork 优化:在执行 fork 系统调用时,不再立即为子进程拷贝物理内存,而是将父子进程的用户页表中原本可写的页面(PTE_W)统一改为只读。 状态标记:利用 PTE 中的软件保留位(PTE_RSW)将 阅读全文
posted @ 2026-03-05 14:26 Xwj-art 阅读(3) 评论(0) 推荐(0)
摘要: 二、书接上文,上一节大概弄清了从通电到第一个程序运行的脉络。本节将深入探讨上节最后一部分:从 Kernel(内核态)切换到 User(用户态)的执行逻辑,并详细解析 从 User 返回 Kernel 的全过程。 kexec 进程加载与启动流程 阅读kexec所需声明:用户栈大小、程序头结构体定义、p 阅读全文
posted @ 2026-03-04 16:53 Xwj-art 阅读(5) 评论(0) 推荐(0)
摘要: xv6:如何开始运行第一个用户进程 1. 硬件复位与内核加载 qemu 是虚拟主板。它模拟了 RISC-V 处理器、内存条、串口(用于输出文字到你的终端)、以及磁盘驱动器 。xv6 的初始化始于 QEMU 模拟的硬件复位 。根据kernel.ld链接脚本的约束,内核镜像被加载至物理地址0x80000 阅读全文
posted @ 2026-03-03 20:47 Xwj-art 阅读(7) 评论(0) 推荐(0)