5-操作系统设备管理.ppt_第1页
5-操作系统设备管理.ppt_第2页
5-操作系统设备管理.ppt_第3页
5-操作系统设备管理.ppt_第4页
5-操作系统设备管理.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第五章操作系统设备管理 訾小超 2 本章主要内容 概述设备管理的目标设备的类型设备和OS的通信方式设备管理和分配设备维护设备分配设备管理的向上接口磁盘调度Linux的设备管理 3 1 概述 1 1 为何要引入设备管理设备千差万别 即使同类设备也会存在实现细节和接口方面的区别 如果让使用者 应用程序 直接操纵设备 会加重应用程序设计者的负担 应用程序依赖于具体的设备 应用程序的移植性比较差 设备利用率低 根源 无法实现设备共享对一些低速设备 难以协调处理器和外设的速率不匹配问题 4 1 2 操作系统设备管理的要求和目标为用户提供方便 统一的设备使用界面 提高外部设备利用率 尽量提高并行程度实现程序与设备的无关性 要解决快速的处理器与慢速的I O设备之间的操作匹配的问题 缓冲区 预读 缓写等手段 设备管理要实现这些缓冲区的建立 分配 释放与回收 5 1 3 设备管理和使用的软件层次关系底层通信 中断处理 实现软件和硬件设备的通信 设备驱动 接受来自上层的抽象操作请求 并负责操作的具体实施 主要组成 与设备打交道的软件部分 共享支持 缓冲区支持等 对用户层的形式上统一的I O接口 每个I O调用接口对应具体的设备抽象操作 使用设备的用户级程序 通过调用所提供的接口来实现对设备的使用或控制 6 1 4 设备的类型设备种类比较多 每种的特征差别很大 分类方式不一 可以从多个角度进行分类 设备外在功能 使用者的角度 输入设备输出设备存储设备 设备的数据传输方式上 设备研制者 块设备字符设备流设备 7 设备的存在形式上 OS角度 物理设备逻辑设备设备的使用形式 使用和OS管理角度 共享设备独占设备 8 2 设备和OS间的通信控制方式 2 1 通信的硬件原理 I O设备组成 机械部件 实施部件 具体实现设备的操作 电子部件 接口部件 又叫设备控制器 直接外接用于控制和数据通信的电缆线 操作系统与控制器直接打交道 发送操作命令 或收发数据 控制器接收OS发来的操作指令 控制机械部件完成相应操作 9 设备控制器的接口特征简单的通信接口只要通过一根信号线的高低电平就能通信 对复杂的设备 可能很多字节的内容需要访问 设置或查询 总的来讲分为两类 控制类 一般称为控制寄存器 OS通过设置控制寄存器 向设备发出操作指令 或通过查询控制寄存器来获知设备的工作状态 数据类 一般称为数据寄存器 OS通过设置数据寄存器传出控制参数 或进行数据I O 数据寄存器可能包含多个 10 为每位或每个控制寄存器提供一根或一组信号线 太多的信号线 直接相连是不现实的 为兼容CPU的体系结构 出现地址的概念 把所有寄存器统一进行编址 一般而言这种编址是连续的 假定0 50字节 访问时 将设备的控制器与系统总线相连先发地址信号 然后访问对应的寄存器 11 设备的I O地址设备内部的I O编址 局限于单个设备整个系统I O编址 需要把单个设备的I O编址映射到系统全局编址 一般利用偏移映射即可与内存统一编址 同一般的内存访问操作 与内存分开编址 需要使用专门的I O指令访问设备控制器的寄存器在设备接入之后 需要分配合适的I O地址 设备内部的I O地址要映射到所分配的I O地址上 12 2 2 通信控制方式的类型询问 轮询 方式 询问方式又称程序直接控制方式 OS发出操作指令 设置控制寄存器 后 设备控制器收到指令控制设备机械部件开始工作 工作完成之后设置设备控制寄存器的相应状态位 OS检查设备控制寄存器的状态位 才能确定硬件操作是否完成 为了确定操作是否完成 需要不断进行询问 13 中断方式 中断控制器引入后 外围设备有了反映其状态的硬件基础 在操作完成之后 设备控制器在设置设备控制寄存器的相应状态位的同时 还要中断控制器发送信号 中断控制器向CPU发送中断信号CPU收到中断信号后 调用相应的处理程序 检查设备控制寄存器的状态位 进行相应处理 中断方式消除了程序查询方式的忙式测试 提高了CPU资源的利用率 14 中断控制器支持的中断数量有限 每个进行了编号 设备接入系统后 需要分配中断号 一般情况下 多个设备不能共享同一中断号 中断是重要的资源 设备在接入到系统中 需要分配合适的中断编号 没有合适的中断编号设备就不能正常工作 15 DMA方式 主存和I O设备之间设计自动化的数据通路 在主存和I O设备之间成块传送数据过程中 不需要CPU干预 I O设备能直接与主存交换数据而不占用CPU CPU资源的利用率再次得到提高 DMA不仅设有中断机构 而且 还增加了DMA传输控制机构 若出现DMA与CPU同时经总线访问主存 CPU把总线占有权周期性让给DMA DMA方式线路简单 价格低廉 但功能较差 只能实现单块数据传输 不能满足复杂的I O要求 系统中支持DMA的设备数量是有限的 一般为四个 设备接入系统后 需要向DMA控制器申请 16 I O通道技术 工作方式 I O通道是一种硬件设施 带有专用处理器的 是有很强I O处理功能的智能部件 可以独立地完成系统处理器交付的I O操作任务 通道具有自己专门的指令集 即通道指令 通道执行来自处理器的通道程序 完成后向系统处理器发出中断 请求结束 特征 I O通道能够一次实现多个离散的数据块的传输 I O通道又叫输入 输出处理器 通道属于高端系统配置 一般只在大型机系统中存在 17 分类 字节多路通道主要用于连接大量低 中速的I O设备 每次传输一个字节 以字节为单位交叉地工作 当为一台设备传送一个字节后 立即转去为另一台设备传送一个字节 选择通道主要用于支持高速设备 如磁盘 每次只对与一个设备进行数据传输 数据传输是以块为单位 每次可以传输一批数据 每当一个输入输出操作请求完成后 再选择与通道相连接的另一设备 成组多路通道以分时方式同时执行几道通道程序 方别实现几个高速设备的数据传输 数组多路通道的实质是 对通道程序采用多道程序设计技术的硬件实现 18 2 3 中断处理中断的基本类型 一般PC机支持15个中断 具体类型主要有 时钟中断 I O中断 磁盘 键盘等系统请求中断 用于实现系统调用等的特殊功能报警中断 程序错误中断 除零等机器错误中断 硬件设备故障或异常 19 中断响应和实现的大致流程 设备向中断控制器发送中断信号中断控制器比较各个中断的优先级 如果有没有被屏蔽的中断 中断控制器向CPU发送中断信号 CPU现场保存后 通过询问中断控制器 确定中断源 中断号 通过中断号 找到对应的中断处理程序 中断处理结束后 原运行在核心态 恢复现场 转向被中断的任务继续执行 原运行在用户态 检查调度标志 信号设置标志 如果被设置 进行相应处理 否则恢复现场 继续执行 20 2 4 时钟中断和处理时钟的概念和用途系统时钟 相当于一个钟表 是进行与时间相关的活动的依据 如在时间片调度方式下 如何判断时间片是否用完 如何判断闹钟到期等 闹钟 每个程序都可以设置闹钟 通过倒计时的方式实现 倒计时时间为0 系统会自动调用所设置的闹钟函数 21 系统时钟的维护 在计算机没有启动时 主板上包含了一个类似石英钟的物理时钟在记录时间的流逝和变化 系统启动时 OS从物理时钟读取当前时间 保存在全局变量里 时间度量单位为tick 每过一个tick 一般是20毫秒 时钟芯片都会向CPU发送一个时钟中断 中断处理程序 时钟全局变量加1 检查是否有与时间相关的任务 22 中断处理的技巧 时钟中断为例 紧急任务 时钟变量加1非紧急任务 当前进程运行时间统计量增加 检查当前时间片是否用完 计算所有进程的动态优先级 闹钟是否到期 处理函数 睡眠时间是否到了 需要唤醒相应进程 23 技巧 只把紧急任务放在时钟中断处理程序中 把非紧急任务在中断处理程序外 延迟处理 具体延迟处理时间在 核心态回到用户态时 Linux采用就是这种方式 延迟的处理叫底半部处理 24 3 设备管理和分配 3 1 缓冲区和缓冲区管理 缓存区存在的背景 提高CPU和外设的并行度缓解外设速度慢的瓶颈缓冲区分类 硬件缓冲 有些设备中会包含专门的硬件寄存器等用于缓冲 软件缓冲 直接在主存中 25 软件缓冲的分类 单缓冲 一个缓冲 外设和CPU互斥进行操作 双缓冲 设置两个缓冲区 交替使用 循环缓冲 类似于循环队列 依次使用 缓冲池 系统维护一组大小相同的缓冲区 进程和设备按需要申请 使用完后重新归入缓冲池中 26 3 2设备分配功能和目标为进程或作业分配所需的设备 充分发挥设备的使用效率 尽可能避免死锁 分配方式 静态分配 作业开始运行时 一次性分配给所有可能使用到的设备 缺点 设备利用率低优点 简单 不会出现死锁 动态分配 进程使用设备时再进行相应分配设备利用高 可能会出现死锁 27 3 3 设备分配的原则设备请求管理要使用设备时必须提供进行I O操作的有关信息 指出执行I O的逻辑设备名 如设备号 操作类型 传送数据的数目 信息源或目的地址等 存放进行I O操作的信息的结构称为I O请求块 如在UNIX系统中 系统的I O请求块的内容是包含在缓冲区控制块buf中 在请求I O时 首先请求分配缓冲区 然后把与操作有关的信息写到buf中 并把这个buf挂到请求设备的I O请求队列中去 28 b actfb actl av forw av forw av forw iobuf buf buf swbuf 图5 13设备I O请求队列 29 先请求先服务系统按先后次序组成I O请求队列 每个设备一个队列 当新的I O请求块生成后 把该块挂在相应设备的I O请求队列的队尾 设备空闲时 从该设备的I O请求队列的队首取出一个请求块 并按这个请求块的要求进行I O操作 30 进程优先级高的优先服务系统按请求进程的优先级由高到低次序组成I O请求队列 每个设备一个队列 当新的I O请求块生成后 根据请求优先级把该块挂在相应设备的I O请求队列中的合适位置 设备空闲时 从该设备的I O请求队列的队首取出一个请求块 并按这个请求块的要求进行I O操作 31 3 4 设备分配技术独占设备 同时只能分配给一个请求进程 共享设备 同时可以一个设备分配给多个请求进程 虚拟设备 用一个物理设备来同时模拟多个独占设备 达到设备共享的目的 提高设备利用率 32 3 5 SPOOLING技术背景和目标 SPOOLing系统可以进行作业的批处理 整个系统由三部分组成 第一部分输入作业和数据到输入井 磁盘 中 称为假脱机输入第二部分是从磁盘输入井中提取作业交CPU执行 称为作业管理部分第三部分是从磁盘输出井 磁盘 中选择一个作业的输出将其送往打印机输出 称为假脱机输出 三部分的工作在一定条件可以互相重叠执行 33 3 6 设备独立性背景 同类设备有多台 如果作业申请设备时指定某一台具体的物理设备 当指定的某台设备有故障时该作业也就不能投入运行 如果还有好的同类设备可以替代 这种设计显然不合理 解决思路 为了解决这一问题 通常用户不指定特定的设备 而指定逻辑设备 使得用户作业和物理设备独立开来 再通过其它途径建立逻辑设备和物理设备之间的对应关系 我们称这种特性为 设备独立性 具有设备独立性的系统中 用户编写程序时使用的设备与实际使用的设备无关 亦即逻辑设备名 设备管理的功能之一就是把逻辑设备名转换成物理设备名 34 设备独立性的好处 用户与物理的外围设备无关 系统增减或变更外围设备时程序不必修改 易于对付输入输出设备的故障 例如 某台行式打印机发生故障时 可用另一台替换 甚至可用磁带机或磁盘机等不同类型的设备代替 提高了系统的可靠性 增加了外围设备分配的灵活性 能更有效地利用外围设备资源 实现多道程序设计技术 35 4 设备管理的上层统一接口 4 1 背景I O设备数量很多 特性差别很大 应用程序难以直接操作设备操作系统的设备管理需要隐藏设备的操作细节 需要解决两个问题 如何用统一的方式来标示设备 如何用同统一的方法来表示设备的不同操作 36 4 2 设备的命名在Linux unix下 设备是以文件名的形式来表示的 如 dev tty0 这些文件叫设备文件 设备文件的名字供应用程序使用 把设备文件和对应的设备 或设备驱动程序 联系起来的是设备文件的两个属性 主设备号 通过主设备号就可以找到相应的设备驱动程序 同种类型的设备如果驱动相同 主设备号可以相同 次设备号 它作为传给驱动程序的参数指定具体的物理设备 37 4 3 设备操作的统一接口实现思路操作系统对上提供若干高级I O系统调用 getc putc read write seek open close等 这些调用接口同普通文件的调用接口 这些I O系统调用对应抽象的I O操作 包含对I O设备的控制 请求 相应 处理控制 缓冲等 对这些抽象I O操作请求 不同的设备具有不同的理解 对应不同的设备动作 总之 通过抽象的I O操作把应用程序与复杂的I O设备控制隔离开来 关键技术 如何把抽象I O操作和具体的操作实现 设备控制 联系起来 38 4 4 设备控制表设备控制表DCT包含多个表项 每个设备对应一个表项 每个表项对应一个设备 内容包括 设备描述符设备地址设备属性设备状态 39 4 5 设备开关表设备开关表实现抽象操作到设备具体操作的映射 标准的文件操作接口 针对特定设备的具体实现函数 40 5 磁盘调度 5 1 磁盘的物理特性硬件组成 磁盘驱动器 是机械部分 包括 驱动电机 读写磁头 及相应的控制电路 磁盘控制器 实现与计算机的逻辑接口接受来自CPU 或通道 指令 命令磁盘驱动器完成具体操作一个磁盘控制器可以控制多个磁盘驱动器进行操作 单个磁盘的存储组织以块为单位进行存储组织 块大小一般为512字节 一块被称为一个扇区 块是多维编址的 驱动器号 磁面号 磁道号 扇区号 四个参数才能唯一确定一个扇区 41 磁盘操作请求和响应磁盘操作请求包含参数 操作类型 输入或输出 首 扇区地址 数据长度 数据内存地址 如果磁盘驱动器空闲 请求可以立即得到服务 否则排队等候 一个请求完成后 检查是否有排队等候的请求 若有 开始为请求进行服务 磁盘操作的时间消耗寻道时间 把读写头移动到相应磁道上的时间 等待时间 等待指定扇区旋转到读写头下面的时间 数据传送时间 磁盘和内存之间发生数据传输的时间 磁盘调度的目标提高有效的数据吞吐率 减少请求的平均等待时间 42 5 2 先来先服务调度算法算法思想 按请求的时间顺序 依次进行服务优点 实现简单对每个请求看似 公平 缺点 寻道时间长 磁头移动幅度大 例如 当前位置53 服务请求队列98 183 37 122 14 124 65 67 总共需要移动640个磁道 43 5 3 最短寻道时间优先调度算法思想 寻道时间一般与磁头当前位置 所在磁道 和目标磁道间的差值成正比 优先响应寻道时间最短的请求 该请求对应的磁道与其它请求对应的磁道相比 离当前磁头最近 优点 寻道时间较短 服务效率较高 服务平均等待时间较短 例如 当前位置53 服务请求队列98 183 37 122 14 124 65 67 服务顺序53 65 67 37 14 98 122 124 183 总共需要移动236个磁道 缺点 公平性差 可能会出现服务请求长期得不到服务 甚至饿死 寻道时间并非最优 44 5 4 扫描法 电梯调度法 算法思想 磁头从一端出发向另一端移动 移动过程中 发现有请求对应磁头下的磁道 就对该请求提供服务 到另一端后 开始反向移动 遇到请求进行服务 算法特点 每个请求的等待时间不均匀 且平均等待时间长 如到达另一端反向时 将扫描的是刚刚扫描过的磁道 这里的请求

温馨提示

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

最新文档

评论

0/150

提交评论