操作系统概述
操作系统(Operating System,OS)是管理计算机硬件与软件资源的系统软件——它既是用户与硬件之间的中间层(屏蔽硬件细节、提供友好接口),又是所有应用程序的资源管家(分配 CPU、内存、磁盘、设备)。没有 OS,开发者要直接操纵裸机(写寄存器、管中断、分配物理内存);有了 OS,开发者面对的是进程、文件、系统调用这些抽象。理解 OS 的核心机制(进程调度、内存管理、并发同步、文件系统),是写出高效、安全、可扩展程序的基础——一个不懂虚拟内存的程序员难以理解 OOM,不懂线程调度的难以诊断性能抖动,不懂文件系统的难以优化 IO。
操作系统的全部考点围绕四大资源管理展开:①CPU 管理(进程/线程、调度、并发同步、死锁)——回答"谁在运行、运行多久、如何协调";②内存管理(分页、分段、虚拟内存、页面置换)——回答"地址怎么映射、内存不够怎么办";③存储管理(文件系统、I/O、磁盘调度)——回答"数据怎么持久化、怎么高效读写";④设备与安全(I/O 控制、访问控制、隔离保护)——回答"外设怎么驱动、进程怎么隔离"。本叶是全章的总览与地基,讲清 OS 的定义、作用、内核架构(单体/微内核/混合)、用户态与内核态、系统调用、中断与异常、OS 类型——后续 12 叶在各资源管理维度深入。
评价
优点
- 资源抽象:把复杂的硬件(CPU/内存/磁盘)抽象成进程、地址空间、文件,开发者无需关心物理细节
- 并发与隔离:让多个程序"同时"运行且互不干扰(进程隔离 + 虚拟内存 + 权限控制)
- 公平与效率:通过调度算法在多任务间公平分配 CPU,通过缓存/预读优化 IO,榨干硬件性能
- 标准化接口:POSIX/系统调用让程序跨硬件可移植,Linux/macOS/Windows 都遵循相似的抽象层
缺点
- 抽象有代价:系统调用陷入内核有上下文切换开销;虚拟内存的 TLB miss、缺页中断影响性能
- 并发复杂度:多线程带来竞态、死锁、内存可见性问题,是 bug 重灾区
- 学习曲线陡:内核机制(调度/内存/文件系统)相互耦合,需要系统级思维,初学者难入门
本叶地图
- 入门 —— OS 定义与作用、内核架构(单体/微内核/混合)、用户态与内核态、系统调用、中断与异常、OS 类型
- 内核架构详解 —— 单体内核 vs 微内核 vs 混合内核、内核态/用户态切换、系统调用分类与机制
- 中断、异常与系统调用 —— 中断与异常的区别、中断处理流程、系统调用陷入内核的全过程、用户态/内核态切换代价
- 参考 —— OS 组件速查、内核类型对比、系统调用清单、易错点