第零章:操作系统概述# 引言 本章导读 为何要写这本操作系统书 有待思考的问题 解决问题的思路 如何基于本书学习操作系统 前期准备 目标与步骤 编程语言与硬件环境 本书章节导引 什么是操作系统 站在一万米的代码空间维度看 系统软件 执行环境 操作系统的定义与组成 站在计算机发展的时间尺度看 寒武纪生物大爆发时代 泥盆纪 鱼类时代和二叠纪 两栖动物时代 侏罗纪 与白垩纪 的恐龙时代 古近纪 哺乳动物时代 第四纪智人时代 二十一世纪神人时代 操作系统的系统调用接口 API与ABI 系统调用接口与功能 系统调用接口举例 操作系统抽象 执行环境 普通控制流 异常控制流 控制流上下文(执行环境的状态) 异常控制流:中断 异常控制流:异常 异常控制流:陷入 进程 地址空间 文件 操作系统的特征 虚拟性 内存虚拟化 CPU 虚拟化 并发性 异步性 共享性 持久性 实验环境配置 阶段1: 基础环境准备 GitHub Classroom 线上环境(全平台通用) Docker 快速通道(全平台通用) 本地原生配置 阶段1.1: 基础依赖安装(WSL/VMware/Linux/macOS共用) C 开发环境配置 阶段2: Rust 工具链安装(必需) 阶段3: QEMU 7.0+ 安装(必需) 阶段4: IDE与调试支持 IDE 配置 GDB 调试支持 阶段5: 运行 rCore-Tutorial-v3 在 QEMU 模拟器上运行 在 K210 平台上运行 Q & A 练习 课后练习 编程题 问答题 练习参考答案 编程题 问答题