Contents Menu Expand Light mode Dark mode Auto light/dark mode
rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档
rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档

Part1 - Just do it!

  • 第零章:操作系统概述
    • 引言
    • 什么是操作系统
    • 操作系统的系统调用接口
    • 操作系统抽象
    • 操作系统的特征
    • 实验环境配置
    • 练习
    • 练习参考答案
  • 第一章:应用程序与基本执行环境
    • 引言
    • 应用程序执行环境与平台支持
    • 移除标准库依赖
    • 内核第一条指令(基础篇)
    • 内核第一条指令(实践篇)
    • 为内核支持函数调用
    • 基于 SBI 服务完成输出和关机
    • 练习
    • 练习参考答案
  • 第二章:批处理系统
    • 引言
    • 特权级机制
    • 实现应用程序
    • 实现批处理操作系统
    • 实现特权级的切换
    • 练习
    • 练习参考答案
  • 第三章:多道程序与分时多任务
    • 引言
    • 多道程序放置与加载
    • 任务切换
    • 多道程序与协作式调度
    • 分时多任务系统与抢占式调度
    • 练习
    • 练习参考答案
  • 第四章:地址空间
    • 引言
    • Rust 中的动态内存分配
    • 地址空间
    • SV39 多级页表的硬件机制
    • 管理 SV39 多级页表
    • 内核与应用的地址空间
    • 基于地址空间的分时多任务
    • 超越物理内存的地址空间
    • 练习
    • 练习参考答案
  • 第五章:进程
    • 引言
    • 进程概念及重要系统调用
    • 进程管理的核心数据结构
    • 进程管理机制的设计实现
    • 进程调度
    • 练习
    • 练习参考答案
  • 第六章:文件系统
    • 引言
    • 文件系统接口
    • 简易文件系统 easy-fs
    • 在内核中接入 easy-fs
    • 练习
    • 练习参考答案
  • 第七章:进程间通信与 I/O 重定向
    • 引言
    • 基于文件的标准输入/输出
    • 管道
    • 命令行参数与标准 I/O 重定向
    • 信号
    • 练习
    • 练习参考答案
  • 第八章:并发
    • 引言
    • 用户态的线程管理
    • 内核态的线程管理
    • 锁机制
    • 信号量机制
    • 条件变量机制
    • 并发中的问题
    • 练习
    • 练习参考答案
  • 第九章:I/O设备管理
    • 引言
    • I/O设备
    • 外设平台与串口驱动程序
    • virtio设备驱动程序
    • 练习
    • 练习参考答案

附录

  • 综合练习
  • 附录 A:Rust 系统编程入门
  • 附录 B:常见工具的使用方法
  • 附录 C:深入机器模式:RustSBI
  • 附录 D:RISC-V相关信息
    • RISCV 汇编相关
    • RISCV 硬件相关
  • 附录 E:操作系统进一步介绍
  • 术语中英文对照表

开发注记

  • 修改和构建本项目
  • reStructuredText 基本语法
  • 更新日志
Back to top

第零章:操作系统概述#

  • 引言
    • 本章导读
    • 为何要写这本操作系统书
      • 有待思考的问题
      • 解决问题的思路
    • 如何基于本书学习操作系统
      • 前期准备
      • 目标与步骤
      • 编程语言与硬件环境
    • 本书章节导引
  • 什么是操作系统
    • 站在一万米的代码空间维度看
      • 系统软件
      • 执行环境
      • 操作系统的定义与组成
    • 站在计算机发展的时间尺度看
      • 寒武纪生物大爆发时代
      • 泥盆纪 鱼类时代和二叠纪 两栖动物时代
      • 侏罗纪 与白垩纪 的恐龙时代
      • 古近纪 哺乳动物时代
      • 第四纪智人时代
      • 二十一世纪神人时代
  • 操作系统的系统调用接口
    • API与ABI
    • 系统调用接口与功能
    • 系统调用接口举例
  • 操作系统抽象
    • 执行环境
      • 普通控制流
      • 异常控制流
      • 控制流上下文(执行环境的状态)
      • 异常控制流:中断
      • 异常控制流:异常
      • 异常控制流:陷入
    • 进程
    • 地址空间
    • 文件
  • 操作系统的特征
    • 虚拟性
      • 内存虚拟化
      • CPU 虚拟化
    • 并发性
    • 异步性
    • 共享性
    • 持久性
  • 实验环境配置
    • 在线开发环境配置
      • Github Classroom方式进行在线OS 环境配置
    • 本地操作系统开发环境配置
      • Windows的WSL2方式建立Linux环境
      • VMware虚拟机方式进行本地OS开发环境配置
      • Docker方式进行本地OS开发环境配置
      • 手动进行本地OS开发环境配置
        • 基于RISC-V硬件环境的配置
        • C 开发环境配置
        • Rust 开发环境配置
        • QEMU 模拟器安装
        • K210 真机串口通信
        • GDB 调试支持
    • 运行 rCore-Tutorial-v3
      • 在 QEMU 模拟器上运行
      • 在 K210 平台上运行
    • Q & A
  • 练习
    • 课后练习
      • 编程题
      • 问答题
  • 练习参考答案
    • 编程题
    • 问答题
Next
引言
Previous
Home
Copyright © 2020-2022, Yu Chen, Yifan Wu
Made with Sphinx and @pradyunsg's Furo