操作系统原理复习总结_第1页
操作系统原理复习总结_第2页
操作系统原理复习总结_第3页
操作系统原理复习总结_第4页
操作系统原理复习总结_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统复习总结操作系统复习总结 软件软件 0908 何泽何泽 第一章 操作系统概述 2 第二章 操作系统逻辑结构 2 第三章 用户界面 3 第四章 进程管理 3 第五六章 死锁和进程调度 5 第七章 主存管理 6 第八章 设备管理 10 第九章 文件系统 10 第一章第一章 操作系统概述操作系统概述 操作系统发展的四个典型阶段 1 手工操作 无操作系统 40 年代 2 单道批处理系统 50 年代 批 串行 自动 3 多道批处理系统 60 年代初 多道 并行 串行 4 分时系统 60 年代中 多路调制性 独占性 交互性 操作系统的功能 进程管理 内存管理 设备管理 文件管理 网络管理 操作系统定义 1 管理并调度系统资源 2 为用户提供友好接口 操作系统特性 并发性 共享性 不确定性 中断技术 CPU 收到外部信号 中断信号 后 停止当前工作 转去处理该外部事件 处理完毕后回 原来工作的中断处 断点 继续原来的工作 通道技术 专门处理外设与内存之间的数据传输的处理机 多道程序设计技术 在内存中存放多道程序 它们在管理程序的控制下相互穿插地运行 当某道程序因为某种原 因 例如 I O 请求 不能继续运行下去时 管理程序便调度另一程序投入运行 这样可以 使 CPU 尽量处于忙碌状态 提高系统效率 第二章第二章 操作系统逻辑结构操作系统逻辑结构 虚拟机的概念 裸机极难使用 必须安装 OS 面对用户 操作系统可以称作虚拟计算机 逻辑结构 整体式结构 层次式结构 把所有功能模块按照调用次序分别排成若干层 确保各层之间只能是单向依赖或单向调用 客户 服务器结构 微内核 态 核态 用户态 管态 中断机制 CPU 对突发外部事件的反应过程或机制 中断响应过程 识别中断源 保护现场 装入中断服务程序的入口地址 CS IP 进入中断 服务程序 恢复现场 中断返回 IRET 第三章第三章 用户界面用户界面 用户环境 用户工作的软件和硬件环境 OS启动 启动过程 从加电到用户工作环境准备好的过程 初始引导 目的 把 OS 核心装入内存并使之开始工作接管计算机系统过程 JUMP 指令 POST BIOS 运行启动程序 启动程序 加载 MBR 引导程序 BIOS 引导程序 加载和初始化 OS 内核 主启动扇区 MBR OS 内核 OS 核心 辅存 常驻内存 逐步加载 OS 剩余部分 OS 核心初始化 OS 内核初始化系统的核心数据 系统初始化 为用户使用系统作准备 使系统处于待命状态 操作系统的生成 满足特定硬件环境和用户需要 组装和构建操作系统过程 主要工作 1 根据硬件环境配置功能模块 2 根据硬件环境确定构造参数 3 根据用户要求配置功能模块 4 根据用户要求确定构造参数 5 build 新的 OS 映象 用户界面 操作界面 键盘命令 图形用户接口 作业控制语言 系统功能调用 操作系统内核提供的子程序给应用程序调用 访管指令 SVC N N 系统功能 子程序 的编号 ID 实质是中断 第四章第四章 进程管理进程管理 进程 程序在某个数据集合上的一次运行活动 特征 动态性 动态产生 消亡 并发性 可与其它进程一起向前推进 独立性 系统分配资源和调度 CPU 的单位 异步性 按各自独立速度向前推进 状态变迁 运行状态 已占用 CPU 在 CPU 上运行 就绪状态 具备运行条件 但无 CPU 等待状态 阻塞 等待服务完成或信号来到 1 就绪 运行 进程调度 2 运行 就绪 时间片到 被抢占 3 运行 阻塞 服务请求 等待信号 4 阻塞 就绪 服务完成 信号来到 进程的描述 进程控制块 PCB 进程控制 原语 由若干指令构成的具有特定功能的函数 进程创建 创建一个空白 PCB 赋予进程标识符 为进程分配空间 初始化 PCB 默认值 加入相应的进程队列 新进程插入就绪队列 Linux 进程创建 Fork fork 返回进程 ID pid 在子进程中 pid 0 在父进程中 pid 0 windows 进程创建 CreatProcess 线程 当创建进程时 系统自动创建一个主线程 主线程可以创建其他线程 提供多个并发路径 加快执行效率 提高用户响应性能 线程的创建 AfxBeginThread CreateThread UINT ThreadProc LPVOID lpParam 临界区和临界资源 临界资源 一次只允许一个进程独占使用的资源 临界区 在进程中访问临界资源的程序段 临界区访问的四个原则 空闲让进 当无进程处于临界区时 任何有权进程可以进入临界区 忙则等待 当有进程处于临界区时 其他进程必须在临界区外等待 有限等待 进程进入临界区的要求应在有限时间内得到满足 让权等待 等待进程放弃 CPU 以让其它进程有机会得到 CPU 运行 锁 表示临界资源 临界区 是否可用的标志 可使用的状态 0 不可使用的状态 1 同步和互斥 进程的互斥关系 多个进程由于共享具有独占性的资源 必须协调各 进程对资源的存取顺序 以确保没有任何两个进程 同时进行资源的存取操作 进程的同步关系 若干合作进程为了共同完成一个任务 需要相互协 调运行步伐 确保进程在关键点上能相互等待 合作进程中某些关键操作之间需要满足某种先后时 序关系 一个操作开始之前必须要求另外一个操作 已经完成 否则只能等待 互斥关系属于特殊的同步关系 信号灯和 P V 操作重点中的重点 请看书 第五六章第五六章 死锁和进程调度死锁和进程调度 死锁的定义 两个或多个进程无限期地等待永远不会发生的条件的一种系统状态 死锁的另一个定义 在两个或多个进程中 每个进程都持有某种资源 但又继续申请其它进程已持有的某种资 源 此时每个进程都拥有其运行所需的一部分资源 但是又都不够 从而每个进程都不能 向前推进 陷于阻塞状态 这种状态称死锁 死锁的起因 1 系统资源有限 资源数目不足以满足所有进程的需要 引起进程对资源的竞争而产生死锁 2 并发进程的推进顺序不当 进程在运行过程中 请求和释放资源的顺序不当 导致进程产生死锁 死锁的必要条件 1 互斥条件 资源具有独占性 每次只能被一个进程所使用 2 不剥夺条件 资源使用完之前 不能被其他进程剥夺 3 部分分配条件 进程运行中除占有已有资源外 还会申请新的资源 4 环路条件 存在进程环路 环中每个进程已有的资源被环中前一进程申请 而自己所需资源又被环中 后一进程所占有 解决死锁的的策略 预防死锁 通过设置某些限制条件 破坏死锁四个必要条件中的一个或多个 来防止死锁 避免死锁 不事先采取限制去破坏产生死锁的条件 而是在资源的动态分配过程中 用某种 方法去防止系统进入不安全状态 从而避免死锁的发生 检测死锁恢复死锁 允许死锁发生 但可通过检测机制及时检测出死锁状态 并精确确定 与死锁有关的进程和资源 然后采取适当措施 将系统中已发生的死 锁清除 将进程从死锁状态解脱出来 静态资源分配法 进程调度时 仅当其所需的全部资源可用时才投入运行 有序资源分配法 1 系统中每个资源分给一个唯一序号 2 进程每次申请资源时只能申请序号更大的资源 如果目前已有资源最大序号为 N 以后只能序号大于 N 的资源 而不 能再申请序号小于 N 的资源 分配资源时检查申请的序号是否符合递增规定 若符合且资源可用则 予以分配 若符合但资源不可用则不分配 陷于阻塞 若不符合则拒 绝该申请 并撤销该进程 进程调度 按照一定策略从就绪队列中选取一个进程获得 CPU 典型调度算法 先来先服务调度 按照作业进入系统的时间先后次序来挑选作业 先进入系统的作业优先 被运行 短作业优先调度算法 参考运行时间 选取时间最短的作业投入运行 响应比高者优先调度算法 响应比定义 作业的响应时间和与运行时间的比值 响应比 响应时间 运行时间 等待时间 运行时间 运行时间 1 等待时间 运行时间 算法 调度作业时计算作业列表中每个作业的响应比 选择响应比最高的作业优先投入运行 优先数调度算法 根据进程优先数 把 CPU 分配给最高的进程 循环轮转调度法 把所有就绪进程按先进先出的原则排成一个就绪队列 新来的进程加到 队列末尾 每个进程轮流使用 CPU 时间片 每个时间片结束时 该进程 让出处理器给下一个进程并排到队列尾部 等候下一轮再次被调度 第七章第七章 主存管理主存管理 主存管理的功能 虚拟存储 程序员编程时不受内存容量和物理结构的一种 虚拟的 理想的 存储器 地址映射 把虚拟地址 虚地址 逻辑地址 变换成真实的物理地址 实地址 的过程 内存分配 为程序运行分配足够的内存空间 存储保护 保证在内存中的多道程序只能在给定的存储区域内活动并互不产生干扰 物理内存管理方法 1 单一区存储管理 用户区不分区 被一个程序完全占用 2 分区存储管理 把用户区内存划分为若干大小不等的分区 供不同程序使用 3 内存覆盖技术 4 内存交换技术 固定分区 把内存固定地划分为若干个大小不等的分区供各个程序使用 每个分区位置都 固定 系统运行期间不再重新划分 动态分区 在程序装入的时候创建分区 使分区的大小刚好与程序的大小相等 解决固定分区浪费内存和大程序不能运行的问题 分区的选择 放置策略 首次适应法 前提 空闲区表按首址递增次序排序 算法 从空闲区表的第一个分区开始查找 直到找到 SIZE 的分区为止 分 割分区 剩余部分留在空闲区表 更新空闲区表 分区的回收 回收时考虑合并的情况后 按首址递增次序排序 更新空闲区 表 最佳适应法 前提 空闲区表按分区大小递增次序排序 算法 从空闲区表的第一个分区开始查找 直到找到 SIZE 的分区为止 分割 分区 剩余部分留在空闲区表 更新空闲区表 分区的回收 回收时考虑合并的情况后 按分区大小递增次序排序 更新空闲 区表 最坏适应法 前提 空闲区表按分区大小递减次序排序 算法 从空闲区表的第一个分区开始查找 直到找到 SIZE 的分区为止 第一 个分区就是 分割分区 剩余部分留在空闲区表 更新空闲区表 分区的回收 回收时考虑合并的情况后 按分区大小递减次序排序 更新空闲 区表 碎片 解决的碎片的方法 规定门限值 分割空闲区时 若剩余部分小于门限值 则此空闲区不进行分割 而是全部分配给用户 内存拼接技术 定期清理存储空间 将所有空闲区集中一起 覆盖 目的 在较小的内存空间中运行较大的程序 原理 程序分成若干个代码段或数据段 将程序必要的段常驻内存 将目前要用的段装入内存 将目前不用的段放在硬盘中 覆盖文件 当一个新段调入内存时可以叠放在不用的段上 即覆盖 以减少程序对内存的需求 对换 原理 当进程 A 的运行空间不够时 把内存中的进程 B 写到磁盘上 换出 以便腾出空 间给进程 A 当进程 B 要运行时 再把其写回到内存 换入 虚拟存储管理 页式存储管理 把进程映像和内存都划分成小片 进程的小片 页 或页面或虚拟页 主存的小片 物理页 内存分配和程序装入的原则 内存以物理页为单位分配使用 程序运行时以页为单位装入 内存 只把当前需要的若干页装入内存 且这些页占用的物理页不必相邻 程序运行需要新的页时 按需从外存上调入内存 页式地址 页号 P 和页内偏移 W 页表 记录页与物理页之间对应关系的表 页号 物理页号 使用特性 映射过程 1 从 VA 分离页号 P 和页内偏移 W 2 查询页表 以 P 为索引查找物理页号 P 3 计算物理地址 MA MA P x 页大小 W 快表 Cache 放在高速缓存的页表 页面共享 共享页面在内存只有一份真实存储 每个进程把共享页面映射到进程空间 加在页表中以便引用 在各个进程的页表中共享页面映射到相同的物理页面上 缺页 在地址映射过程中 当所要访问的目的页不在内存时 则系统产生异常中断 缺 页中断 缺页中断的中断处理程序 中断处理程序把该页从页表指出的辅存地址调入内存中 并更新该页对应的物理页 号以及更新中断位 I 标志为 0 页面淘汰 缺页 中断 率 缺页率 f 缺页次数 访问页面总次数 最佳算法 OPT 算法 Optimal 淘汰以后不再需要或最远的将来才会用到的页面 先进先出淘汰算法 FIFO 算法 淘汰在内存中停留时间最长的页面 最久未使用淘汰算法 LRU 算法 淘汰最长时间未被使用的页面 最不经常使用 LFU 算法 选择到当前时间为止被访问次数最少的页面 每页设置访问计数器 每当页面被访问时 该页面的访 问计数器加 1 发生缺页中断时 淘汰计数值最小的页面 并将所有计 数清零 段式存储管理 原理 把进程按逻辑意义划分为多个段 进程由多段组成 每段有段名 每段长度不定 段式地址 段号 S 和段内偏移 W 映射过程 1 由逻辑地址 VA 分离出 S W 2 查询段表 检索段号 S 查询该段首地址 B 和段长 L 3 物理地址 MA B W 段式共享 共享段在内存中只有一份存储 共享段被进程映射到自己的空间 写入段表 需要共享的模块都可以设置为单独的段 段页比较 地址空间的区别 页式系统 一维地址空间 段式系统 二维地址空间 段与页的区别 段长可变 页面大小固定 段有意义 页面无意义 段方便共享 页面不方便共享 段用户可见 页面用户不可见 段偏移有溢出 页面偏移无溢出 段页式存储管理 原理 在段式存储管理中结合页式存储管理技术 段页式地址 逻辑地址 段号 S 页号 P 和页内位移 W 对于用户是段式系统 段号 S 和段内位移 W 对于 CPU 是段页式系统 段内位移 W 分为页号 P 和页内位移 W 映射过程 同时采用段表和页表实现地址映射 系统为每个进程建立一个段表 系统为每个段建立一个页表 段表给出每段的页表起始地址及页表长度 页表给出每页对应的物理页 i386和Linux存储管理 实模式 Real Mode 20 位地址 段地址 16 位 偏移地址 16 位 段地址 16 字节对齐 20 位 1M 内存空间 保护模式 Protect Mode 32 位地址空间 4G 物理内存 多任务 能够快速地进行任务切换和保护任务环境 资源共享又能保证代码和数据的安全和任务隔离 分段管理机制 分页管理机制 新的硬件 EAX EDX 32 位扩展 CR0 CR3 GDTR LDTR IDTR 段描述符 段基址 32 位 段基址 1 段基址 2 段界限 20 位 Linux的段机制 段机制的作用 利用段机制来隔离用户数据和系统数据 Linux 四个范围一样的段 0 4 G 内核数据段 内核代码段 用户数据段 用户代码段 各段属性不同 内核段特权级为 0 用户段特权级为 3 作用 避免逻辑地址到线性地址转换 保留段等级保护 第八章第八章 设备管理设备管理 缓冲技术 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的手段 解决 CPU 和 I O 设备的速度不匹配的问题 解决逻辑记录和物理记录大小不匹配的问题 设备分配 独享分配 在进程执行前将其所要使用的设备分配给它 当其结束时才把设备释放收回 系统 又称静态分配 共享分配 当进程提出资源申请时 由设备管理模块进行分配 进程使用完毕后 立即 归还 虚拟分配 当进程需要与独占设备交换信息时 就采用虚拟技术将与该独占设备所对应 的虚拟设备 部分辅存 分配给它 I O 设备控制 查询方式 异步传送 传送数据之前 CPU 先对外设状态进行检测 直到外设准备好才 开始传输 输入时 外设数据 准备好 输出时 外设 准备好 接收 无条件传送方式 同步传送 进行 I O 时无需查询外设状态 直接进行 主要用于外设 时钟固定而且已知的场合 当程序执行 I O 指令 IN OUT MOV 时 外设必定已为传送数据做好了准备 中断方式 外设数据准备好或准备好接收时 产生中断信号 CPU 收到中断信号后 停止当 前工作 处理该中断事情 完成数据传输 CPU 处理完毕后继续原来工作 通道方式 通道是用来控制外设与内存数据传输的专门部件 通道有独立的指令系统 既 能受控于 CPU 又能独立于 CPU I O 处理机 DMA 方式 外设和内存之间直接进行数据交换 不需 CPU 干预只有数据传送开始 初始化 和结束时 反初始化 需要 CPU 参与 传输过程不需要 CPU 参与 设备驱动 应用程序通过驱动程序来使用硬件设备或底层软件资源 驱动程序工作在核

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论