Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

术语表

TL;DR

  • 本章不再引入新概念
  • 遇到忘记的名词,可以按“启动—进程—内存—设备—文件—保护”的顺序回来查找

正文

  操作系统这条线走完了。最后把一路用过的名字收进工具箱,方便随时回查。

启动与边界

术语一句话解释
复位上电后 CPU 从固定地址开始执行
固件最先运行的软件,负责自检并找到启动设备
引导程序把内核装入内存并跳转过去的程序
内核操作系统的核心,常驻内存
操作系统管理硬件资源、提供抽象的软件
内核态 / 用户态两种运行模式:可执行特权指令 / 受限
特权指令只在核态可执行的危险指令
系统调用用户程序请求内核服务的正式接口

进程与调度

术语一句话解释
进程正在运行的程序
进程控制块(PCB)内核对每个进程的记录
运行 / 就绪 / 阻塞三种基本状态
上下文切换保存一个进程的现场,恢复另一个
调度决定下一个跑谁、跑多久
先来先服务(FCFS)按到达顺序执行
最短任务优先(SJF)先执行预计最快的
时间片轮转每个进程轮流跑一小段
优先级与老化分轻重,并让等待久的进程逐步提权
多级反馈队列用多个队列按表现动态调整优先级
线程进程内的一条执行线,共享地址空间
并发 / 并行看起来同时 / 真正同时

同步与协作

术语一句话解释
进程间通信(IPC)进程之间交换数据的方式
管道 / 消息 / 信号几种常见的 IPC
共享内存多方可直接读写同一块内存,最快但需同步
竞态条件结果依赖执行顺序的问题
临界区必须独占执行的代码段
原子操作硬件保证不可打断的操作
互斥锁保证同一时刻只有一个进入临界区
自旋锁 / 睡眠锁忙等 / 让出 CPU 等锁
条件变量条件不满足时睡下、满足时被唤醒
信号量带计数的同步工具(P / V)
死锁互相持有并等待对方资源,全员停滞
循环等待死锁的四个必要条件之一

内存与地址

术语一句话解释
地址空间进程以为自己独占的那片地址范围
虚拟地址 / 物理地址程序用的地址 / 内存条上的地址
重定位把程序地址调整到实际装载位置
分段按代码、数据、栈等划分内存
页 / 页帧虚拟内存 / 物理内存切成的等大块
页表记录虚拟页到物理页帧的映射
MMU完成地址转换的硬件
TLB页表的缓存
多级页表分层、按需展开的页表
缺页异常访问的页不在内存时触发
交换空间磁盘上存放被换出页的区域
页面置换内存满时选择换出哪一页
工作集 / 抖动近期常用页的集合 / 频繁换页却几乎不做事
写时复制先共享,写入时才复制
内部碎片 / 外部碎片分配块里的浪费 / 零散拼不起来的空块

设备与文件

术语一句话解释
设备控制器设备一侧操控硬件的部件
驱动程序内核里把标准请求翻译给设备的代码
程序查询 / 中断 / DMACPU 参与设备传输的三种方式,越来越省
文件有名字、可读写的字节流
文件描述符打开文件后拿到的凭据
目录 / 路径组织文件的名字结构 / 定位文件的路线
索引节点(inode)记录文件元数据的结构
数据块 / 元数据文件的内容 / 关于内容的信息
页面缓存缓存磁盘块的内存
内存映射(mmap)把文件映射进地址空间
崩溃一致性崩溃后磁盘结构仍保持一致
日志先记意图、再改结构,保证原子性

保护与隔离

术语一句话解释
用户 / 组访问控制中的身份
读 / 写 / 执行权限文件的基本权限
访问控制判断谁能操作哪些资源
最小权限只授予真正需要的权限
虚拟机隔离整台机器,各带一套内核
容器隔离进程,共享同一个内核

小结

知识点

  • 从启动、进程、同步、内存到设备、文件与保护的核心术语
  • 名词的顺序,也大致是操作系统工作的顺序

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪