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

现代操作系统

第一章 引论

1.1 什么是操作系统

  • p2 作为扩展机器的操作系统
  • p3 作为资源管理者的操作系统

1.2 操作系统的历史

1.3 计算机硬件简介

  • p12 处理器
  • p14 存储器
  • p15 磁盘
  • p16 I/O设备
  • p18 总线
  • p19 启动计算机

1.4 操作系统大观园

1.5 操作系统概念

  • p22 进程
    • p22 地址空间
    • p22 进程表
    • p22 进程间通信
    • p23 警告信号
    • p23 UID
  • p23 地址空间
  • p23 文件
    • p23 目录
    • p24 根目录和工作目录
    • p24 文件描述符
    • p25 特殊文件
  • p25 输入输出
  • p25 保护
  • p25 shell

1.6 系统调用

  • 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系统调用

第二章 进程与线程

2.1 进程

  • p48 进程模型

    • p48 进程的概念
    • p48 多道程序设计
  • p49 进程的创建

    • p49 四种导致进程创建的主要事件
    • p50 守护进程
    • p50 fork系统调用
    • p50 写时复制机制
  • p51 进程的终止

    • p51 导致进程终止的条件
  • p51 进程的层次结构

    • p51 进程组
  • p51 进程的状态

    • p52 进程的三种状态:运行态、就绪态、阻塞态

    • p52 操作系统最底层是调度程序

  • p53 进程的实现

    • p53 进程表
    • p53 中断向量
    • p53 中断发生后操作系统底层的工作步骤
  • p54 多道程序设计模型

    • p54 CPU利用率

2.2 线程

  • p54 线程的使用
    • p54 使用多线程的理由
    • p56 高速缓存
    • p56 使用分派程序和工作线程的Web服务器设计
    • p57 有限状态机
  • p57 经典的线程模型
    • p57 线程的概念
    • p59 每个线程有自己的堆栈
  • p60 POSIX线程
  • p60 在用户空间中实现线程
    • p61 运行时系统是一个管理线程的过程的集合
    • p61 线程表
    • p62 包装器
  • p63 在内核中实现线程
  • p63 混合实现
  • p64 调度程序激活机制
    • p64 上行调用
  • p65 弹出式线程
  • p66 使单线程代码多线程化

2.3 进程间通信

  • 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 宽限期

2.4 调度

  • 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 线程调度

2.5 经典的IPC问题

  • p94 哲学家就餐问题
  • p94 饥饿
  • p96 读者-写者问题

2.6 有关进程与线程的研究

第三章 内存管理

  • p102 存储管理器

3.1 无存储器抽象

3.2 一种存储器抽象:地址空间

  • p104 把物理地址暴露给进程的问题
  • p104 地址空间的概念
    • p104 地址空间
    • 基址寄存器和界限寄存器
  • p106 交换技术
    • p106 处理内存超载的通用常用方法:交换和虚拟内存
    • p106 内存紧缩
  • p107 空闲内存管理
    • p107 使用位图的存储管理
    • p108 使用链表的存储管理
      • p108 首次适配算法
      • p108 最佳适配算法
      • p108 最差适配算法
      • p109 快速适配算法

3.3 虚拟内存

  • p109 虚拟内存的基本思想
  • p110 分页
    • p110 虚拟地址和虚拟地址空间
    • p110 内存管理单元MMU
    • p110 页框
    • p111 缺页中断和缺页错误
    • p111 页表
  • p112 页表
    • p112 页表项的结构
  • p112 加速分页过程
    • p112 分页系统的两个主要问题
    • p113 转换检测缓冲区TLB
    • p114 软件TLB管理
      • p114 TLB软失效和硬失效
  • p114 针对大内存的页表
    • p114 多级页表
    • p116 倒排页表

3.4 页面置换算法

  • p117 最优页面置换算法
  • p118 最近未使用页面置换算法
  • p118 先进先出页面置换算法
  • p118 第二次机会页面置换算法
  • p119 时钟页面置换算法
  • p119 最近最少使用页面置换算法
  • p120 用软件模拟LRU
    • p120 最不常用算法NFU
    • p120 老化算法
  • p121 工作集页面置换算法
    • p121 请求调页
    • p121 局部性访问
    • p121 工作集
    • p121 颠簸
    • p121 工作集模型和预先调页
    • p122 当前实际运行时间
    • p122 生存时间
  • p123 工作集时钟页面置换算法WSClock
  • p124 页面置换算法小结

3.5 分页系统中的设计问题

  • 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 分布式共享内存

3.6 有关实现的问题

  • p131 与分页有关的工作
  • p131 缺页中断处理
    • p131 缺页中断发生时的时间顺序
  • p132 指令备份
  • p132 锁定内存中的页面
    • p132 钉住页面
    • p132 I/O写内存时页面恰被移出的问题
  • p133 后备存储
  • p134 策略和机制的分离
    • p134 控制系统复杂度的一种重要方法是策略和机制的分离

3.7 分段

  • p135 段
  • p136 分页和分段的比较
  • p136 纯分段的实现
    • p136 棋盘形碎片或外部碎片

第四章 文件系统

  • p147 长期存储信息的三个基本要求
  • p147 文件和文件系统

4.1 文件

  • p148 文件命名
  • p149 文件结构
    • p149 三种文件结构:字节序列、记录序列和树
  • p149 文件类型
    • p150 字符特殊文件和块特殊文件
    • p150 目录
    • p150 普通文件分为ASCⅡ文件和二进制文件
    • p150 魔数
  • p151 文件访问
    • p151 顺序访问
    • p151 随机访问文件
  • p151 文件属性
    • p151 一些常用的文件属性
  • p152 文件操作
  • p152 使用文件系统调用的一个示例程序

4.2 目录

  • p154 一级目录系统
  • p154 层次目录系统
  • p154 路径名
    • p154 绝对路径名
    • p155 相对路径名
    • p155 工作目录
  • p156 目录操作

4.3 文件系统的实现

  • 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接口

4.4 文件系统管理和优化

  • 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 磁盘碎片整理

第五章 输入/输出

5.1 I/O硬件原理

  • p189 I/O设备
    • p189 块设备和字符设备
  • p190 设备控制器(适配器)
    • p190 磁盘输出的实际是串行的比特流
    • p190 前导符和错误矫正码
  • p190 内存映射I/O
    • p190 CPU如何与设备的控制寄存器和数据缓冲区进行通信
    • p190 I/O端口和I/O端口空间
    • p191 内存映射I/O
  • p192 直接存储器存取
    • p192 直接存储器存取
    • p193 使用DMA的过程
    • p193 总线能以两种模式操作:每次一字和块模式
    • p194 周期窃取
    • p194 突发模式
    • p194 飞越模式
    • p194 为什么需要内部缓冲区
  • p194 重温中断
    • p194 硬件层面的中断工作
    • p195 中断向量
    • p195 大多数CPU在堆栈中保存信息
    • p196 精准中断和不精准中断

5.2 I/O软件原理

  • p196 I/O软件的目标
    • p196 设备独立性
    • p197 统一命名
    • p197 错误处理
    • p197 同步和异步传输
    • p197 缓冲
    • p197 共享设备和独占设备
  • p197 程序控制I/O
    • p198 轮询(忙等待)
  • p198 中断驱动I/O
  • p199 使用DMA的I/O

5.3 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系统的层次以及每一层的主要功能

5.4 盘

  • p206 盘硬件
    • p207 磁盘
      • p207 重叠寻道

第五章后面部分暂时省略

第六章 死锁

6.1 资源

  • p245 需要排他使用的对象称为资源
  • p245 可抢占资源和不可抢占资源
    • p245 可抢占资源
    • p246 不可抢占资源
  • p248 资源获取

6.2 死锁简介

  • p249 死锁的规范定义
  • p249 资源死锁的条件
    • p249 死锁的四个必要条件:互斥、占有和等待、不可抢占、环路等待
  • p249 死锁建模
    • p251 四种处理死锁的策略:忽略、检测并恢复、仔细对资源分配、破坏死锁四个必要条件之一

6.3 鸵鸟算法

6.4 死锁检测和死锁恢复

  • p252 每种类型一个资源的死锁检测
    • p252 一个检测有环图的简单算法
  • p253 每种类型多个资源的死锁检测
    • p254 死锁检测算法
  • p254 从死锁中恢复
    • p254 利用抢占恢复
    • p255 利用回滚恢复
    • p255 通过杀死进程恢复

2.5 死锁避免

  • p255 资源轨迹图
posted @ 2021-12-25 21:36  pedro7  阅读(319)  评论(0编辑  收藏  举报