已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章设备管理管理和控制所有的外部设备 I O设备 是操作系统的主要功能之一 本章介绍 外部设备分类及控制方式设备使用方法 I O子系统的层次结构及缓冲技术辅存及磁盘请求调度技术 6 1I O系统 1 I O设备的类型 1 按传输速率分类 低速设备 这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备 典型设备有键盘 鼠标器 语音的输入和输出等设备 中速设备 这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备 典型设备有 行式打印机 激光打印机等 高速设备 这是指其传输速率在数百千个字节至数十兆字节的一类设备 典型的高速设备有磁带机 磁盘机 光盘机等 2 按信息交换的单位分类 块设备 BlockDevice 这类设备用于存储信息 由于信息的存取总是以数据块为单位 故而得名 典型的块设备是磁盘 每个盘块的大小为512B 4KB 磁盘设备的基本特征是 1 传输速率较高 通常每秒钟为几兆位 2 可寻址 即对它可随机地读 写任一块 字符设备 CharacterDevice 用于数据的输入和输出 其基本单位是字符 故称为字符设备 如交互式终端 打印机等 传输速率低 字符设备在I O时 常采用中断驱动方式 3 按设备的共享属性分类这种分类方式可将I O设备分为如下三类 独占设备 它是指在一段时间内只允许一个用户 进程 访问的设备 即临界资源 因而 对多个并发进程而言 应互斥地访问这类设备 系统一旦把这类设备分配给某进程后 便由该进程独占 直至用完释放 应当注意 独占设备的分配有可能引起进程死锁 共享设备 它是指在一段时间内允许多个进程同时访问的设备 当然 对于每一时刻而言 该类设备仍然只允许一个进程访问 虚拟设备 它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备 供若干个用户 进程 同时使用 通常把这种经过虚拟技术处理后的设备 称为虚拟设备 2 设备控制器 I O部件 设备控制器是计算机中的一个实体 其主要职责是控制一个或多个I O设备 以实现I O设备与和计算机之间的数据交换 它是CPU与I O设备的接口 它接收从CPU发来的命令 并去控制I O设备工作 操作系统一般只与控制器打交道 而非设备本身 早期CPU是直接控制外部设备的 在引入设备控制器之后 I O指令功能加强 才将CPU逐渐从与外设的交互细节中解放出来 PCI总线控制器 处理机 内存 显卡 外设 光盘 磁盘 IDE总线控制器 外设控制器 控制器 控制器 连接CPU 内存 设备控制器和I O设备模型 每个控制器都有一些用来与CPU通讯的I O寄存器 操作系统通过向这些寄存器写命令字来实现I O功能 IBMPC的I O地址 6 2I O控制方式 所谓I O操作的控制方式也就是外围设备和内存之间的数据传送控制方式 经历了程序直接控制方式 中断控制方式 DMA方式和通道方式四种 它们之间的不同主要在与I O交互过程中CPU的干预程度 一 程序直接控制方式 CPU直接控制I O操作的全过程 包括发送读写命令 传输数据 测试设备状态 设备控制器接收到相应的命令后 将I O状态寄存器的相应位置上 随着操作的执行更改状态位 由CPU执行相应指令读取I O完成状态 在该方式中 CPU还负责从主存中取出需要输出的数据 送到设备控制器寄存器 或从设备控制器寄存器取出输入数据 将输入数据存入主存 CPU向设备控制器发读命令 读设备控制器状态寄存器 检查状态 从设备控制器读字数据到CPU寄存器中 将该字写入内存 未OK OK 出错 该块读完 OK 下一指令 未OK 缺点 在这种方式中CPU的大量时间用在了等待输入输出的循环测试上 使主机不能充分发挥效率 外设也不能得到合理使用 整个系统效率很低 二 中断控制方式 CPU向I O部件发出命令后 转去做其他有用的工作 当I O部件准备好数据后 利用中断通知CPU 再由CPU完成数据传输 CPU不必反复测试寄存器状态 节约了时间 向设备控制器发读命令 读设备控制器状态寄存器 检查状态 从设备控制器读字数据 将该字写入内存 OK 出错处理 该块读完 OK 下一指令 未OK 中断 缺点 虽然中断的引入改善了中央处理机的利用率 但I O操作毕竟还是由CPU控制的 此时每传输一个字或字符 往往就要做一次中断处理 每个字的数据传输都必须经过CPU寄存器转发 由此可见 当I O设备很多时 CPU可能完全陷入I O处理中 三 DMA方式 前两种方式的缺陷 I O的传输速率受CPU测试或中断响应的速度限制CPU为管理I O耗费大量时间 DMA 直接内存存取 负责完成整个I O操作 无需再经CPU寄存器转发 并在全部传输结束后向CPU发中断信号 CPU向DMA部件发送I O命令后 即可进行其他工作 当传送完成后 DMA部件向CPU发中断信号 因此仅在数据块传送的开始和结束涉及到CPU 四 通道方式 I O通道方式是DMA方式的发展 它可进一步减少CPU的干预 即把对一个数据块的读 或写 为单位的干预 减少为对一组数据块的读 或写 及有关的控制和管理为单位的干预 同时 又可实现CPU 通道和I O设备三者的并行操作 从而更有效地提高整个系统的资源利用率 通道又称I O处理机 它能完成主存储器和外设之间的信息传输 并与中央处理机并行操作 通道技术解决了I O操作的独立性和各部件的并行性 通道是一个具有特殊功能的处理器 可以实现对外围设备的统一管理和外围设备与内存之间的数据传输 CPU直接控制外部设备 CPU直接控制设备控制器程序直接控制方式 中断驱动方式 DMA控制方式 I O通道控制方式 输入输出控制方式的发展过程 引入设备控制器 6 3 1I O层次结构 通常 操作系统将设备管理系统划分并组织成四个层次 用户层I O设备无关的I O 设备独立性软件 设备驱动程序中断处理程序 6 3设备I O子系统 用户进程 用户层I O 设备无关的I O 设备驱动及中断处理 硬件 设备管理子系统 逻辑结构图 核心态运行 一 用户层I O 实现与用户交互的接口 用户可直接调用在用户层提供的 与I O操作有关的库函数 对设备进行操作 它将所有的设备看作逻辑资源 为用户进程提供各类I O函数 用户以设备标识符和一些简单的函数来使用设备 如打开 关闭 读 写等 如C库中的函数open read write close 等 设备相关系统调用简介 申请设备 该系统调用中有参数说明了要申请的设备名称 操作系统处理该系统调用时 会按照设备特性 是独占还是共享式使用 及设备的占用情况来分配设备 返回申请是否成功标志 将数据写入设备 从设备读取数据 释放设备 这是申请设备的逆操作 在UNIX中 你也可以用如下的系统调用将数据直接写入软盘中 fd open dev fd0 O RDRW 申请软盘 dev fd0代表软盘 iseek fd 1024 0 将软盘当前I O位置定位到1024字节位置 write fd buffer 36 将用户缓冲区buffer中的36个字节写入软盘1024 1059字节 close fd 释放软盘 二 设备无关的I O 设备独立性软件 设备独立性的概念设备独立性 也称为设备无关性 其基本含义是 应用程序独立于具体使用的物理设备 I O系统中有许多不同种类的设备 作为程序员 只需要知道如何使用这些资源来完成所需的操作 而无需了解设备的有关具体实现细节 这一层的基本功能 向上层提供统一的系统调用接口 对下通过设备驱动程序接口调用设备驱动程序 主要任务 设备命名及与设备驱动程序的映射 在UNIX中 如 dev fd0唯一地确定了一个inode数据结构 其中包含了主设备号 通过主设备号可以找到相应的设备驱动程序 统一命名 在系统中对各类设备采取预先设计的 统一的逻辑名称进行命名 所有软件都以逻辑名称访问设备 在应用程序中 使用逻辑设备名称来请求使用某类设备 而系统在实际执行时 还必须使用物理设备名称 因此 系统须具有将逻辑设备名称转换为某物理设备名称的功能 这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念 三 设备驱动程序 设备驱动程序包括了所有与设备相关的代码 其功能是从与设备无关的软件中接收I O请求并执行 与硬件直接相关 负责具体实现系统对设备发出的操作命令 驱动I O设备工作的驱动程序 中断处理用于保存被中断进程的CPU环境 转入相应的中断处理程序进行处理 处理完后恢复被中断进程的线程后返回被中断进程 中断处理层的主要工作有 进行进程上下文的切换 对处理中断信号源进行测试 读取设备状态和修改进程状态等 四 中断处理程序 1 独占式使用设备所谓独占式使用设备是指在一段时间内只允许一个用户 进程 访问的设备 通常以一次设备使用过程为单位使用设备 在申请设备时 如果设备空闲 就将其独占 不再允许其它进程申请使用 一直等到该设备被释放 才允许被其它进程申请使用 6 3 2 设备的使用方法 2 分时共享式使用设备独占式使用设备时 设备利用率很低 分时共享式设备是指在一段时间内允许多个进程同时访问的设备 当然 对于每一时刻而言 该类设备仍然只允许一个进程访问 3 可虚拟设备 可虚拟设备是指一台物理设备采用虚拟技术后 可变成多台逻辑上的所谓虚拟设备 一台可虚拟设备是可共享的设备 可以将它同时分配给多个进程使用 并对这些访问该设备的先后次序进行控制 SPOOLing技术SPOOLing技术是在批处理操作系统时代引入的 即所谓假脱机输入输出技术 把这种技术用于对设备的使用实质就是对输入 输出数据成批处理 对于有些设备必须进行独占式使用 如打印机 通常往打印机输出的数据不是独立的字符行 而是一批关联的字符行 当输出这批关联字符行时 必须独占打印机设备 才能使关联的字符行打印出来 如果在进程执行中一边生成输出结果一边调用写打印机系统调用输出 则打印机在独占期间因为等输出结果而未被充分利用 因此必须避免边生成边打印 可以将输出数据边生成边写入文件中 文件相当于虚拟打印设备 待全部输入完成 在独占打印机把文件内容从打印机上打印出来 例如 同一进程所有输出数据在进程运行时被写到同一文件当中 文件排到打印输出队列 打印进程申请占用打印机后 成批读出文件中数据 并送打印机打印出去 Spooling技术能将 改造成可以共享的虚拟设备 A 内存B 独占设备C CPUD I O设备虚拟设备 指通过虚拟技术将一台独占设备变换为若干台供多个用户 进程 共享的逻辑设备 一般可以利用假脱机 SPOOLing 技术实现虚拟设备 Spooling技术可以实现设备的 分配 A 独占B 虚拟C 物理 6 3 3 缓冲技术 虽然中断 DMA和通道控制技术使得系统中设备和设备 设备和CPU等得以并行工作 但是外围设备和CPU的处理速度不匹配的问题是客观存在的 外围设备和CPU处理速度不匹配的问题极大地制约了计算机系统性能的进一步提高和限制了系统的应用范围 例如 当计算进程阵发性地把大批量数据输出到打印机上打印时 由于CPU输出数据的速度大大高于打印机的打印速度 因此 CPU只好停下来等待 反之 在计算进程进行计算时 打印机又因无数据输出而空闲无事 6 3 3 缓冲技术 外围设备与处理机速度不匹配的问题可以采用设置缓冲区的方法解决 缓冲技术提高CPU与设备之间的并行程度 在系统主存空间开辟一片区域 将要从外部设备读的数据预先读到这片主存区 将要输出到外部设备的数据先写到这片主存区 以后再择机写到外部设备 在设置了缓冲区之后 计算进程可把数据首先输出到缓冲区 然后继续执行 而打印机则可以从缓冲区取出数据慢慢打印 主存速度远高于外部设备 因此缓冲技术的引入 匹配了外设与CPU之间的处理速度 缓冲区结合预读和滞后写技术对具有重复性及阵发性I O进程提高I O速度很有帮助 6 4存储设备6 4 1 常见存储外设 磁盘物理设施移动臂 动臂 主轴 盘面 读写磁头数据组织 一个磁盘由多个盘面组成 盘面由同心圆磁道组成 磁道由扇区 盘块 组成 扇区为基本传输单位 多磁头活动头盘示意图 6 4 2 磁盘调度 磁盘地址 台号 柱面号 磁道号 盘面号 扇区号 读写一次磁盘信息所需的时间可分解为 寻找时间 延迟时间 传输时间寻找时间 读写磁头在读写信息之前 必须首先将磁头移到相应的柱面 磁头这种定位柱面所花费的时间称为寻找时间 延迟时间 读写磁头定位于某一个磁道的扇区所需时间称为延迟时间 传输时间 数据写入磁盘或从磁盘读出的时间 为提高磁盘传输效率 软件应着重考虑减少寻找时间和延迟时间 一 减少寻找时间的方法 减少寻找时间是提高磁盘传输效率的关键 因为 寻找时间 在几十毫秒时间量级 操作系统磁盘驱动程序可以通过合理调度多道进程对磁盘的访问请求顺序 达到减少磁盘平均服务时间的目的 例如 假设在某一时间 系统中的若干进程同时请求下列磁盘地址上的读写操作T0 柱面1 盘面2 扇区1 T1 柱面40 盘面3 扇区3 T2 柱面4 盘面4 扇区5 T3 柱面38 盘面5 扇区7 若按照自然的时间顺序访问磁盘 则磁头将在盘面的水平方向为定位在各柱面来回运动 寻找时间会较长 若操作系统对各服务请求顺序进行重新调整 可以减少寻找时间 调度策略 FCFS 先来先服务法 SSTF 最短寻道时间优先法 SCAN调度 电梯调度法 C SCAN调度 单向扫描法 FCFS调度 最简单的磁盘调度算法 简单 效果不好 假设磁盘请求队列中所涉及的柱面号 磁道号 为Queue 98 183 37 122 14 124 65 67 磁头的初始位置为53 SSTF调度 根据磁头的当前位置 首先选择请求队列中距磁头最短的请求 优点 这个方法极大的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潍坊食品科技职业学院《化工环保与安全概论》2024-2025学年第二学期期末试卷
- 民非内部管理制度
- 浪潮集团内部规章制度
- 海阳核电站内部管理制度
- 煤矿内部转运管理制度
- 牧草企业内部管理制度
- 环境建设内部管理制度
- 疾控中心内部督导制度
- 监理公司内部工作制度
- 监理机构内部工作制度
- 2026年露天矿山复工复产试卷
- 2026广东广州市中级人民法院招募就业见习人员25人考试参考题库及答案解析
- 2026年扎兰屯职业学院单招职业技能考试题库含答案解析
- 2026年江西旅游商贸职业学院单招职业适应性测试题库含答案解析
- 2026吉林农业大学三江实验室办公室招聘工作人员考试参考题库及答案解析
- 2023年12月英语四级真题及答案-第3套
- 2026年内蒙古商贸职业学院单招职业技能测试题库带答案详解(考试直接用)
- 高职高专学生心理健康教育 第四版 课件 第第五讲 相伴适应路
- 心血管疾病健康知识科普
- 农副产品营销培训课件
- 装饰工程施工质量方案
评论
0/150
提交评论