第 9 章 · 01 操作系统:它到底在管什么 本节摘要:本章是全书的登顶章——「造轮子的天花板」。操作系统和编译器,一个统治硬件,一个统治软件。本节先讲操作系统:它的三大职责(管理硬件、提供抽象、调度与隔离),以及它如何在你和裸机之间架起一层「让多任务成为可能」的桥梁。理解 OS 的职责,你才知道后续几节(引导、中断、调度、内存)在解决什么问题。 内容来源:基于「Build your own X」Operating System 域整理的导读,呼应姊妹篇《Linux 命令》第 5、6、8 章。 学习目标 说清操作系统的三大职责:管理硬件、提供抽象、调度与隔离。 理解 OS 如何让你「同时」跑多个程序(时分复用)。 解释「用户态/内核态」与系统调用的存在意义。
本节摘要:本章是全书的登顶章——「造轮子的天花板」。操作系统和编译器,一个统治硬件,一个统治软件。本节先讲操作系统:它的三大职责(管理硬件、提供抽象、调度与隔离),以及它如何在你和裸机之间架起一层「让多任务成为可能」的桥梁。理解 OS 的职责,你才知道后续几节(引导、中断、调度、内存)在解决什么问题。
内容来源:基于「Build your own X」Operating System 域整理的导读,呼应姊妹篇《Linux 命令》第 5、6、8 章。
没有操作系统,你面对的是一块裸机——CPU 只会执行指令、内存只是一片字节、磁盘只是一堆扇区。你能跑一个程序,但不能同时跑两个;任何程序能直接读写任何硬件,互相干扰;一个程序崩溃,整个机器死掉。
操作系统就是来解决这些问题的。它管理硬件(CPU 时间、内存、磁盘)、提供抽象(进程、虚拟内存、文件、套接字)、调度与隔离(不让一个程序搞崩别人)。你天天用的所有 Linux 命令(姊妹篇全书),都是基于操作系统提供的抽象。理解 OS,你就理解了「计算机怎么从裸机变成能跑你代码的环境」。
裸机硬件:CPU(几个核的计算能力)、内存(若干 GB)、磁盘(若干 TB)、网卡、显卡、键鼠。OS 是「硬件管家」,决定谁什么时候用什么资源:
OS 在硬件上提供「方便用的抽象」:
这些抽象让你不用关心硬件细节——你写 open/read/write,OS 替你翻译成磁盘操作。
本章后续四节讲 OS 的具体子系统(引导、中断、调度、内存、文件系统)。动手前,先建立全局观:OS 是「硬件管家 + 抽象提供者 + 调度隔离者」。带着这个框架,后续每节都是它的展开。
造完整 OS 是年级工程(本章给路线图,不强求完成)。第一步可以读 xv6(MIT 教学内核,源码很短)或 OSDev wiki,从「让裸机打印 Hello」开始。
下一节讲引导链路——从上电到内核启动。