3. 硬件视角的操作系统
背景回顾:我们已经知道,程序可以用状态机表示,而编译器实现了 “高级语言状态机” 到 “机器指令状态机” 的翻译。但我们的程序乃至操作系统,要想运行在计算机硬件上,还有一些 “我们不知道的约定”。
本讲内容:计算机系统的状态机模型;回答以下问题:
- 什么是计算机 (硬件) 系统?
- 计算机硬件和程序员之间是如何约定的?
- 听说操作系统也是程序。那到底是鸡生蛋还是蛋生鸡?
3.1 计算机系统的状态机模型
3.2 固件:接管计算机系统的第一个程序
3.3 从固件到操作系统
Take-away Messages
计算机系统是严格的数学对象:没有魔法;计算机系统的一切行为都是可观测、可理解的。
- 处理器是无情的执行指令的机器。
- 处理器会规定好 Reset 后的行为。
- Reset 后 Firmware 开始运行,再加载操作系统。
- 厂商逐渐形成了达成共识的 Firmware Specification (IBM PC “兼容机”、UEFI、……)。