天天看点

《现代操作系统》知识点目录

《现代操作系统》知识点目录

《现代操作系统》知识点目录

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 资源轨迹图

继续阅读