- 本章不再引入新概念
- 遇到忘记的名词,可以按“启动—进程—内存—设备—文件—保护”的顺序回来查找
操作系统这条线走完了。最后把一路用过的名字收进工具箱,方便随时回查。
| 术语 | 一句话解释 |
| 复位 | 上电后 CPU 从固定地址开始执行 |
| 固件 | 最先运行的软件,负责自检并找到启动设备 |
| 引导程序 | 把内核装入内存并跳转过去的程序 |
| 内核 | 操作系统的核心,常驻内存 |
| 操作系统 | 管理硬件资源、提供抽象的软件 |
| 内核态 / 用户态 | 两种运行模式:可执行特权指令 / 受限 |
| 特权指令 | 只在核态可执行的危险指令 |
| 系统调用 | 用户程序请求内核服务的正式接口 |
| 术语 | 一句话解释 |
| 进程 | 正在运行的程序 |
| 进程控制块(PCB) | 内核对每个进程的记录 |
| 运行 / 就绪 / 阻塞 | 三种基本状态 |
| 上下文切换 | 保存一个进程的现场,恢复另一个 |
| 调度 | 决定下一个跑谁、跑多久 |
| 先来先服务(FCFS) | 按到达顺序执行 |
| 最短任务优先(SJF) | 先执行预计最快的 |
| 时间片轮转 | 每个进程轮流跑一小段 |
| 优先级与老化 | 分轻重,并让等待久的进程逐步提权 |
| 多级反馈队列 | 用多个队列按表现动态调整优先级 |
| 线程 | 进程内的一条执行线,共享地址空间 |
| 并发 / 并行 | 看起来同时 / 真正同时 |
| 术语 | 一句话解释 |
| 进程间通信(IPC) | 进程之间交换数据的方式 |
| 管道 / 消息 / 信号 | 几种常见的 IPC |
| 共享内存 | 多方可直接读写同一块内存,最快但需同步 |
| 竞态条件 | 结果依赖执行顺序的问题 |
| 临界区 | 必须独占执行的代码段 |
| 原子操作 | 硬件保证不可打断的操作 |
| 互斥锁 | 保证同一时刻只有一个进入临界区 |
| 自旋锁 / 睡眠锁 | 忙等 / 让出 CPU 等锁 |
| 条件变量 | 条件不满足时睡下、满足时被唤醒 |
| 信号量 | 带计数的同步工具(P / V) |
| 死锁 | 互相持有并等待对方资源,全员停滞 |
| 循环等待 | 死锁的四个必要条件之一 |
| 术语 | 一句话解释 |
| 地址空间 | 进程以为自己独占的那片地址范围 |
| 虚拟地址 / 物理地址 | 程序用的地址 / 内存条上的地址 |
| 重定位 | 把程序地址调整到实际装载位置 |
| 分段 | 按代码、数据、栈等划分内存 |
| 页 / 页帧 | 虚拟内存 / 物理内存切成的等大块 |
| 页表 | 记录虚拟页到物理页帧的映射 |
| MMU | 完成地址转换的硬件 |
| TLB | 页表的缓存 |
| 多级页表 | 分层、按需展开的页表 |
| 缺页异常 | 访问的页不在内存时触发 |
| 交换空间 | 磁盘上存放被换出页的区域 |
| 页面置换 | 内存满时选择换出哪一页 |
| 工作集 / 抖动 | 近期常用页的集合 / 频繁换页却几乎不做事 |
| 写时复制 | 先共享,写入时才复制 |
| 内部碎片 / 外部碎片 | 分配块里的浪费 / 零散拼不起来的空块 |
| 术语 | 一句话解释 |
| 设备控制器 | 设备一侧操控硬件的部件 |
| 驱动程序 | 内核里把标准请求翻译给设备的代码 |
| 程序查询 / 中断 / DMA | CPU 参与设备传输的三种方式,越来越省 |
| 文件 | 有名字、可读写的字节流 |
| 文件描述符 | 打开文件后拿到的凭据 |
| 目录 / 路径 | 组织文件的名字结构 / 定位文件的路线 |
| 索引节点(inode) | 记录文件元数据的结构 |
| 数据块 / 元数据 | 文件的内容 / 关于内容的信息 |
| 页面缓存 | 缓存磁盘块的内存 |
| 内存映射(mmap) | 把文件映射进地址空间 |
| 崩溃一致性 | 崩溃后磁盘结构仍保持一致 |
| 日志 | 先记意图、再改结构,保证原子性 |
| 术语 | 一句话解释 |
| 用户 / 组 | 访问控制中的身份 |
| 读 / 写 / 执行权限 | 文件的基本权限 |
| 访问控制 | 判断谁能操作哪些资源 |
| 最小权限 | 只授予真正需要的权限 |
| 虚拟机 | 隔离整台机器,各带一套内核 |
| 容器 | 隔离进程,共享同一个内核 |
- 从启动、进程、同步、内存到设备、文件与保护的核心术语
- 名词的顺序,也大致是操作系统工作的顺序
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
设计师 | 南国微雪