Contents Menu Expand Light mode Dark mode Auto light/dark mode
rCore-Camp-Guide-2024A 文档
rCore-Camp-Guide-2024A 文档

正文

  • 第零章:实验环境配置
  • 第一章:应用程序与基本执行环境
    • 引言
    • 应用程序执行环境与平台支持
    • 移除标准库依赖
    • 构建用户态执行环境
    • 构建裸机执行环境
  • 第二章:批处理系统
    • 引言
    • 实现应用程序
    • 实现批处理操作系统
    • 实现特权级的切换
  • 第三章:多道程序与分时多任务
    • 引言
    • 多道程序放置与加载
    • 任务切换
    • 管理多道程序
    • 分时多任务系统
    • chapter3练习
  • 第四章:地址空间
    • 引言
    • 实现 SV39 多级页表机制(上)
    • 实现 SV39 多级页表机制(下)
    • 内核与应用的地址空间
    • 基于地址空间的分时多任务
    • chapter4练习
  • 第五章:进程及进程管理
    • 引言
    • 与进程有关的重要系统调用
    • 进程管理的核心数据结构
    • 进程管理机制的设计实现
    • chapter5练习
  • 第六章:文件系统与I/O重定向
    • 引言
    • 文件与文件描述符
    • 文件系统接口
    • 简易文件系统 easy-fs (上)
    • 简易文件系统 easy-fs (下)
    • 在内核中使用 easy-fs
    • chapter6练习
  • 第七章:进程间通信
    • 引言
    • 管道
    • 命令行参数与标准 I/O 重定向
    • chapter7练习
  • 第八章:并发
    • 引言
    • 内核态的线程管理
    • 锁机制
    • 信号量机制
    • 条件变量机制
    • chapter8 练习

附录

  • 附录 A:Rust 系统编程资料
  • 附录 B:常见工具的使用方法
  • 附录 C:深入机器模式:RustSBI
  • 附录 D:RISC-V相关信息

开发注记

  • 修改和构建本项目
  • reStructuredText 基本语法

第四章:地址空间¶

  • 引言
    • 本章导读
    • 实践体验
    • 本章代码树
  • 实现 SV39 多级页表机制(上)
    • 虚拟地址和物理地址
      • 内存控制相关的CSR寄存器
      • 地址格式与组成
      • 地址相关的数据结构抽象与类型定义
    • 页表项的数据结构抽象与类型定义
  • 实现 SV39 多级页表机制(下)
    • 物理页帧管理
      • 可用物理页的分配与回收
      • 分配/回收物理页帧的接口
    • 多级页表实现
      • 页表基本数据结构与访问接口
      • 内核中访问物理页帧的方法
      • 建立和拆除虚实地址映射关系
  • 内核与应用的地址空间
    • 实现地址空间抽象
      • 逻辑段:一段连续地址的虚拟内存
      • 地址空间:一系列有关联的逻辑段
    • 内核地址空间
    • 应用地址空间
  • 基于地址空间的分时多任务
    • 建立并开启基于分页模式的虚拟地址空间
      • 创建内核地址空间
    • 跳板的实现
    • 加载和执行应用程序
      • 扩展任务控制块
      • 更新对任务控制块的管理
    • 改进 Trap 处理的实现
    • 改进 sys_write 的实现
  • chapter4练习
    • 编程作业
      • 重写 sys_get_time 和 sys_task_info
      • mmap 和 munmap 匿名映射
      • 实验要求
    • 问答作业
    • 报告要求
Next
引言
Previous
chapter3练习
Copyright © OS2024Autumn | Built with Sphinx and @pradyunsg's Furo theme. | 显示源代码