104 / 163 · C11 · 约 8 分钟
前言
本书以费曼讲义为灵感,围绕虚拟化、并发与持久性三大主题展开,介绍问题驱动的章节结构、时间线、对话等教学手法,并说明免费获取方式、课程安排以及面向教师和学生的实践建议。
欢迎与三大主题
欢迎阅读这部操作系统教材。书名向费曼的物理学讲义致敬,内容则围绕三个核心思想组织:虚拟化让每个程序感觉独占处理器和内存;并发处理多个活动共享同一台机器时的协调问题;持久性保证数据在断电后仍然存在。各主题再细分为简短章节,先明确一个具体困难,再给出解决方案,并尽量追溯原始论文与发明者,让读者同时看到最终设计和它是如何被创造出来的。
独特的教学工具
书中反复使用几种手法帮助理解。每个问题的“关键点”会先被明确写出,然后才给出技术、算法和思想。时间线展示系统随时间演化的行为,例如缺页或日志写入的全过程。旁注补充相关但非必需的背景,提示则给出可迁移到自己系统中的通用教训。对话以轻松口吻重述概念并偶尔加入幽默。每一大部分先给出操作系统提供的抽象,再在后续章节讨论实现该抽象所需的机制与策略。尽可能使用真实C代码而非伪代码,读者可自行编译运行。
作业模拟器与编程项目
书中穿插小型模拟作业,通过改变随机种子可生成几乎无穷的题目,模拟器还能给出答案供自测。配套项目全部用C语言完成,分为两类:面向初学者的UNIX系统编程,以及在MIT xv6教学内核上动手修改的内核项目。示例代码和项目说明已放在公开仓库,读者可自行实现、测试并调试真实操作系统组件。威斯康星大学的课程曾采用纯系统编程、纯xv6或两者混合三种方式。
给教师与学生的说明
全书可免费在线阅读,也可购买纸质版。十五周学期可较深入覆盖大部分内容,十周学季则需适当删减细节。并发被安排在虚拟化之后,因为学生需要先理解进程、地址空间以及上下文切换可能在任意时刻发生,否则很难明白为何需要同步。课堂上常用黑板讲解概念,用投影仪演示真实代码。请尽量链接在线章节而非本地复制,以便作者统计使用量并推送最新版本。学生被鼓励阅读原始论文,体会思想并非凭空出现,而是由聪明勤奋的研究者逐步创造出来的。
常见误区
- 把对话当成可跳过的娱乐而错过另一种复习核心概念的途径
- 不运行作业模拟器,从而失去用不同种子反复自测的机会
运行一个例子
这一章用官方 PDF 讲清概念;本页不附带可运行程序。
CHECK YOUR UNDERSTANDING
合上答案,试着解释。
本书的三大组织主题是什么?为什么把并发放在虚拟化之后讲授?
查看参考答案
虚拟化、并发与持久性。先讲虚拟化是因为学生需要先理解进程、地址空间以及上下文切换可能随时发生,然后才容易明白为何会出现并发问题以及为何需要同步机制。
继续查证
标准草案与官方章节会更新;版本标记只说明示例最低要求。