第1章 操作系统基础¶
这一章建立后续所有内容共同使用的语言:操作系统提供哪些抽象,内核如何组织,机器如何从上电走到第一个用户进程,以及执行流如何安全地从用户态进入内核。
为什么先学边界与入口¶
进程、虚拟内存和文件系统看似是不同主题,但它们都依赖同一个边界:普通应用不能任意执行特权指令或访问内核数据,只能通过受控入口请求服务。时钟、缺页和设备完成也会让 CPU 暂停当前控制流,进入内核处理。
如果没有这层共同模型,系统调用容易被误解成普通函数调用,中断容易和异常混为一谈,调度也会像是一个凭空发生的动作。
本章主线¶
小结目录¶
- 操作系统的角色、结构与启动:从抽象、资源管理和隔离出发,比较单体内核、微内核与模块化设计,并跟踪启动路径。
- 内核态、系统调用、中断与异常:区分特权级与不同事件入口,用一次最小系统调用理解用户态到内核态的受控转换。
学完应能回答¶
- 内核为什么不能只是一组普通链接库?
- 单体内核和微内核分别把什么放在可信边界内,代价是什么?
- 系统调用、硬件中断、同步异常的触发来源和返回位置有何不同?
- 从按下电源到用户登录界面,中间至少经过哪些阶段?
- “切换到内核态”为什么不必然等于“切换进程”?
与后续章节的连接¶
时钟中断为抢占式调度提供入口;缺页异常为按需分页提供入口;设备中断为异步 I/O 提供完成通知;系统调用则是文件、进程、网络和内存服务的统一入口。后续章节会不断复用本章的控制流框架。