3. 硬件视角的操作系统

背景回顾:我们已经知道,程序可以用状态机表示,而编译器实现了 “高级语言状态机” 到 “机器指令状态机” 的翻译。但我们的程序乃至操作系统,要想运行在计算机硬件上,还有一些 “我们不知道的约定”。

本讲内容:计算机系统的状态机模型;回答以下问题:

  • 什么是计算机 (硬件) 系统?
  • 计算机硬件和程序员之间是如何约定的?
  • 听说操作系统也是程序。那到底是鸡生蛋还是蛋生鸡?

3.1 计算机系统的状态机模型

3.2 固件:接管计算机系统的第一个程序

3.3 从固件到操作系统

Take-away Messages

计算机系统是严格的数学对象:没有魔法;计算机系统的一切行为都是可观测、可理解的。

  • 处理器是无情的执行指令的机器。
  • 处理器会规定好 Reset 后的行为。
  • Reset 后 Firmware 开始运行,再加载操作系统。
  • 厂商逐渐形成了达成共识的 Firmware Specification (IBM PC “兼容机”、UEFI、……)。