第四章:地址空间第四章:地址空间 引言 本章导读实践体验本章代码树本章代码导读 Rust 中的动态内存分配 本节导读静态与动态内存分配 静态分配动态分配 Rust 中的堆数据结构在内核中支持动态内存分配 地址空间 本节导读虚拟地址与地址空间 地址虚拟化出现之前加一层抽象加强内存管理增加硬件加速虚实地址转换 分段内存管理分页内存管理 实现 SV39 多级页表机制(上) 本节导读虚拟地址和物理地址 内存控制相关的CSR寄存器地址格式与组成地址相关的数据结构抽象与类型定义 页表项的数据结构抽象与类型定义多级页表原理 实现 SV39 多级页表机制(下) 本节导读物理页帧管理 可用物理页的分配与回收分配/回收物理页帧的接口 多级页表实现 页表基本数据结构与访问接口内核中访问物理页帧的方法建立和拆除虚实地址映射关系 内核与应用的地址空间 本节导读实现地址空间抽象 逻辑段:一段连续地址的虚拟内存地址空间:一系列有关联的逻辑段 内核地址空间应用地址空间 基于地址空间的分时多任务 本节导读建立并开启基于分页模式的虚拟地址空间 创建内核地址空间检查内核地址空间的多级页表设置 跳板的实现加载和执行应用程序 扩展任务控制块更新对任务控制块的管理 改进 Trap 处理的实现改进 sys_write 的实现小结 chapter4练习 编程作业 申请内存实验要求实验检查 问答作业报告要求