
《现代操作系统》知识点目录
p2 作为扩展机器的操作系统
p3 作为资源管理者的操作系统
略
p12 处理器
p14 存储器
p15 磁盘
p16 I/O设备
p18 总线
p19 启动计算机
p22 进程
p22 地址空间
p22 进程表
p22 进程间通信
p23 警告信号
p23 UID
p23 地址空间
p23 文件
p23 目录
p24 根目录和工作目录
p24 文件描述符
p25 特殊文件
p25 输入输出
p25 保护
p25 shell
p28 操作系统的两种功能
p28 read系统调用
p29 TRAP指令
p30 常用的POSIX系统调用
p31 用于进程管理的系统调用
p31 fork系统调用
p31 进程标识符
p31 waitpid系统调用
p31 execve系统调用
p32 UNIX进程的存储空间划分:正文段、数据段和堆栈段
p32 用于文件管理的系统调用
p32 lseek调用
p32 用于目录管理的系统调用
p32 mkdir和rmdir系统调用
p32 link系统调用
p33 i-编号和i-节点
p33 mount系统调用
p48 进程模型
p48 进程的概念
p48 多道程序设计
p49 进程的创建
p49 四种导致进程创建的主要事件
p50 守护进程
p50 fork系统调用
p50 写时复制机制
p51 进程的终止
p51 导致进程终止的条件
p51 进程的层次结构
p51 进程组
p51 进程的状态
p52 进程的三种状态:运行态、就绪态、阻塞态
p52 操作系统最底层是调度程序
p53 进程的实现
p53 进程表
p53 中断向量
p53 中断发生后操作系统底层的工作步骤
p54 多道程序设计模型
p54 CPU利用率
p54 线程的使用
p54 使用多线程的理由
p56 高速缓存
p56 使用分派程序和工作线程的Web服务器设计
p57 有限状态机
p57 经典的线程模型
p57 线程的概念
p59 每个线程有自己的堆栈
p60 POSIX线程
p60 在用户空间中实现线程
p61 运行时系统是一个管理线程的过程的集合
p61 线程表
p62 包装器
p63 在内核中实现线程
p63 混合实现
p64 调度程序激活机制
p64 上行调用
p65 弹出式线程
p66 使单线程代码多线程化
p67 竞争条件
p68 临界区
p68 互斥
p68 临界区
p68 忙等待的互斥
p68 屏蔽中断
p68 锁变量
p69 严格轮换法
p69 忙等待和自旋锁
p69 Peterson解法
p70 TSL指令
p71 测试并加锁
p71 睡眠与唤醒
p72 优先级反转问题
p72 生产者-消费者问题
p73 唤醒等待位
p73 信号量
p73 用信号量解决生产者-消费者问题
p74 二元信号量
p74 用信号量实现同步
p74 互斥量
p76 快速用户去互斥量futex
p76 pthread中的互斥量
p76 条件变量
p78 管程
p78 死锁
p78 管程的概念
p81 消息传递
p81 消息传递系统的设计要点
p81 用消息传递解决生产者-消费者问题
p82 屏障
p83 避免锁:读-复制-更新
p84 读端临界区
p84 宽限期
p84 调度简介
p85 进程切换会使内存高速缓存失效
p85 进程行为
p85 I/O活动
p86 计算密集型和I/O密集型应用
p86 何时调度
p86 非抢占式调度算法和抢占式调度算法
p86 调度算法分类
p87 调度算法的目标
p87 吞吐量
p87 周转时间
p87 CPU利用率
p87 最小响应时间
p87 均衡性
p88 批处理系统中的调度
p88 先来先服务
p88 最短作业优先
p89 最短剩余时间优先
p89 交互式系统中的调度
p89 轮转调度
p89 时间片
p89 优先级调度
p90 多极队列
p91 最短进程优先
p91 保证调度
p91 彩票调度
p92 公平分享调度
p92 实时系统中的调度
p92 实时系统
p92 硬实时和软实时
p92 周期性时间
p92 可调度系统
p93 策略和机制
p93 调度机制和调度策略分离
p93 线程调度
p94 哲学家就餐问题
p94 饥饿
p96 读者-写者问题
p102 存储管理器
p104 把物理地址暴露给进程的问题
p104 地址空间的概念
p104 地址空间
基址寄存器和界限寄存器
p106 交换技术
p106 处理内存超载的通用常用方法:交换和虚拟内存
p106 内存紧缩
p107 空闲内存管理
p107 使用位图的存储管理
p108 使用链表的存储管理
p108 首次适配算法
p108 最佳适配算法
p108 最差适配算法
p109 快速适配算法
p109 虚拟内存的基本思想
p110 分页
p110 虚拟地址和虚拟地址空间
p110 内存管理单元MMU
p110 页框
p111 缺页中断和缺页错误
p111 页表
p112 页表
p112 页表项的结构
p112 加速分页过程
p112 分页系统的两个主要问题
p113 转换检测缓冲区TLB
p114 软件TLB管理
p114 TLB软失效和硬失效
p114 针对大内存的页表
p114 多级页表
p116 倒排页表
p117 最优页面置换算法
p118 最近未使用页面置换算法
p118 先进先出页面置换算法
p118 第二次机会页面置换算法
p119 时钟页面置换算法
p119 最近最少使用页面置换算法
p120 用软件模拟LRU
p120 最不常用算法NFU
p120 老化算法
p121 工作集页面置换算法
p121 请求调页
p121 局部性访问
p121 工作集
p121 颠簸
p121 工作集模型和预先调页
p122 当前实际运行时间
p122 生存时间
p123 工作集时钟页面置换算法WSClock
p124 页面置换算法小结
p124 局部分配策略与全局分配策略
p125 局部页面置换算法和全局页面置换算法
p125 缺页中断率算法PFF
p125 缺页中断率随着分配的页面增加而降低
p126 对于工作集算法和WSClock算法,只有局部策略有意义
p126 负载控制
p126 减少竞争内存地进程数的一个好方法是将一部分进程交换到磁盘
p126 页面大小
p126 内部碎片
p127 分离的指令空间和数据空间
p127 I空间和D空间
p128 共享页面
p128 写时复制
p128 共享库
p129 未定义外部函数
p130 位置无关代码
p130 内存映射文件
p130 清楚策略
p130 分页守护进程
p130 虚拟内存接口
p130 分布式共享内存
p131 与分页有关的工作
p131 缺页中断处理
p131 缺页中断发生时的时间顺序
p132 指令备份
p132 锁定内存中的页面
p132 钉住页面
p132 I/O写内存时页面恰被移出的问题
p133 后备存储
p134 策略和机制的分离
p134 控制系统复杂度的一种重要方法是策略和机制的分离
p135 段
p136 分页和分段的比较
p136 纯分段的实现
p136 棋盘形碎片或外部碎片
p147 长期存储信息的三个基本要求
p147 文件和文件系统
p148 文件命名
p149 文件结构
p149 三种文件结构:字节序列、记录序列和树
p149 文件类型
p150 字符特殊文件和块特殊文件
p150 目录
p150 普通文件分为ASCⅡ文件和二进制文件
p150 魔数
p151 文件访问
p151 顺序访问
p151 随机访问文件
p151 文件属性
p151 一些常用的文件属性
p152 文件操作
p152 使用文件系统调用的一个示例程序
p154 一级目录系统
p154 层次目录系统
p154 路径名
p154 绝对路径名
p155 相对路径名
p155 工作目录
p156 目录操作
p157 文件系统布局
p157 主引导记录
p157 分区表
p157 引导块
p157 超级块
p157 文件的实现
p157 连续分配
p159 链表分配
p159 采用内存中的表进行链表分配
p159 文件分配表
p160 i节点
p160 目录实现
p161 在何处存放文件属性
p161 在目录中处理长文件名的两种方法:在行中、在堆中
p162 加快文件查找速度的方法是在每个目录中使用散列表
p162 共享文件
p162 链接
p162 符号链接
p163 日志结构文件系统
p164 日志文件系统
p165 幂等的
p165 原子事务
p165 虚拟文件系统
p165 POSIX接口
p166 VFS接口
p167 磁盘空间管理
p167 块大小
p168 数据率和空间利用率
p169 记录空闲块
p170 磁盘配额
p170 打开文件表
p170 配额记录
p170 磁盘配额文件
p171 文件系统备份
p171 增量转储
p172 物理转储和逻辑转储
p173 逻辑转储算法执行的四个阶段
p174 从转储磁带上恢复文件系统
p174 不应该被转储的文件(特殊文件、命名管道等等)
p174 文件系统的一致性
p174 两种一致性检查:块的和文件的
p174 块丢失
p174 块重复
p175 文件系统校验程序检查目录系统
p176 文件系统性能
p176 高速缓存
p176 缓冲区高速缓存数据结构
p177 系统调用sync
p177 通写高速缓存
p177 块提前读
p177 减少磁盘臂运动
p177 不用块而用连续块簇来跟踪磁盘存储区
p178 在磁盘中部而不是开始处存放i节点
p178 将磁盘分成多个柱面组
p178 磁盘碎片整理
p189 I/O设备
p189 块设备和字符设备
p190 设备控制器(适配器)
p190 磁盘输出的实际是串行的比特流
p190 前导符和错误矫正码
p190 内存映射I/O
p190 CPU如何与设备的控制寄存器和数据缓冲区进行通信
p190 I/O端口和I/O端口空间
p191 内存映射I/O
p192 直接存储器存取
p193 使用DMA的过程
p193 总线能以两种模式操作:每次一字和块模式
p194 周期窃取
p194 突发模式
p194 飞越模式
p194 为什么需要内部缓冲区
p194 重温中断
p194 硬件层面的中断工作
p195 中断向量
p195 大多数CPU在堆栈中保存信息
p196 精准中断和不精准中断
p196 I/O软件的目标
p196 设备独立性
p197 统一命名
p197 错误处理
p197 同步和异步传输
p197 缓冲
p197 共享设备和独占设备
p197 程序控制I/O
p198 轮询(忙等待)
p198 中断驱动I/O
p199 使用DMA的I/O
p199 I/O软件系统的层次
p199 中断处理程序
p200 中断处理程序执行步骤
p200 设备驱动程序
p201 设备驱动程序的若干功能
p202 驱动程序必须是重入的
p202 与设备无关的I/O软件
p202 设备驱动程序的统一接口
p203 设备驱动程序特殊文件的i节点包含了主设备号和次设备号
p202 缓冲
p202 缓冲设计方案
p204 双缓冲
p204 循环缓冲区
p205 错误报告
p205 分配与释放专用设备
p205 与设备无关的块大小
p205 用户空间的I/O软件
p206 守护进程
p206 I/O系统的层次以及每一层的主要功能
p206 盘硬件
p207 磁盘
p207 重叠寻道
第五章后面部分暂时省略
p245 需要排他使用的对象称为资源
p245 可抢占资源和不可抢占资源
p245 可抢占资源
p246 不可抢占资源
p248 资源获取
p249 死锁的规范定义
p249 资源死锁的条件
p249 死锁的四个必要条件:互斥、占有和等待、不可抢占、环路等待
p249 死锁建模
p251 四种处理死锁的策略:忽略、检测并恢复、仔细对资源分配、破坏死锁四个必要条件之一
p252 每种类型一个资源的死锁检测
p252 一个检测有环图的简单算法
p253 每种类型多个资源的死锁检测
p254 死锁检测算法
p254 从死锁中恢复
p254 利用抢占恢复
p255 利用回滚恢复
p255 通过杀死进程恢复
p255 资源轨迹图