第零章:操作系统概述# 为何要写这本操作系统书 有待思考的问题 解决问题的思路 目标与步骤 编程语言与硬件环境 什么是操作系统 站在一万米的代码空间维度看 站在计算机发展的百年时间尺度看 寒武纪生物大爆发时代 泥盆纪 鱼类时代和二叠纪 两栖动物时代 侏罗纪 与白垩纪 的恐龙时代 古近纪 哺乳动物时代 第四纪智人时代 二十一世纪神人时代 操作系统的系统调用接口 API与ABI 系统调用接口与功能 操作系统抽象 执行环境 普通控制流 异常控制流 控制流上下文(执行环境的状态) 异常控制流:中断 异常控制流:异常 异常控制流:陷入 进程 地址空间 文件 操作系统的特征 虚拟性 内存虚拟化 CPU 虚拟化 并发性 异步性 共享性 持久性 实验环境配置 在线开发环境配置 Github Classroom方式进行在线OS 环境配置 本地操作系统开发环境配置 Windows的WSL2方式建立Linux环境 VMware虚拟机方式进行本地OS开发环境配置 Docker方式进行本地OS开发环境配置 手动进行本地OS开发环境配置 基于RISC-V硬件环境的配置 C 开发环境配置 Rust 开发环境配置 QEMU 模拟器安装 在 openEuler ECS 上搭建环境 K210 真机串口通信 GDB 调试支持 运行 rCore-Tutorial-v3 在 QEMU 模拟器上运行 在 K210 平台上运行 Q & A K210 开发板相关问题 K210 相关 Demo 和文档 K210 相关工具 JTAG 调试 烧写 K210 可用内存大小 K210 的频率 K210 的 MMU 支持 K210 的外部中断支持 练习 课后练习 编程题 问答题 练习参考答案 编程题 问答题