第7章设备管理_第1页
第7章设备管理_第2页
第7章设备管理_第3页
第7章设备管理_第4页
第7章设备管理_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第7章设备管理 7 1概述7 2缓冲技术7 4输入输出控制方式 4种 1 按设备的从属关系分 系统设备 指操作系统生成时 登记在系统中的标准设备 如键盘 显示器 打印机 用户设备 指在系统生成时 未登记在系统中的非标准设备 对于这类设备的处理程序由用户提供 并将其纳入系统 由系统代替用户实施管理 如网络系统中的各种网卡 实时系统中的A D D A转换器 CAD专用设备如绘图仪 扫描仪等 设备的分类 1 2 按操作特性分 存储设备 如磁盘 光盘等 I O设备 如键盘 扫描仪 鼠标 显示器 打印机 绘图仪等 设备的分类 2 3 按设备使用性质分 独占设备 在一段时间内只能有一个进程使用的设备 一般为低速I O设备 而且 这类设备如果分配不当 可能会造成死锁 例如打印机 共享设备 在一段时间内可有多个进程共同使用的设备 多个进程以交叉的方式来使用设备 其资源利用率高 例如硬盘 虚拟设备 严格来讲 虚拟设备是一种设备管理的技术 是指在一类设备上模拟另一类设备 常用共享设备模拟独占设备 高速设备模拟低速设备 这种经过虚拟技术处理后的设备称为虚拟设备 采用该技术可以使慢速独占设备改造成多个用户可共享的设备 以提高独占设备的使用效率 例如SPOOLing技术 用硬盘模拟输入输出设备 设备的分类 3 Spooling技术 当低速输入设备要输入信息时 便输入到高速辅存 磁盘 的输入井中 运行进程从输入井中提取信息加以处理 当运行进程要输出信息时 便输出到高速辅存的输出井中 当输出设备空闲时 便从输出井中提取信息输出 这样 就可以使输入设备和输出设备连续不断地工作 由于一台设备可以和辅存中的若干个存储区域相对应 所以在形式上就好像把一台I O设备变成了许多台虚拟的I O设备 Spooling技术 分析 Spooling技术的 输入井 和 输出井 是在磁盘中开辟的多个固定的存储区 输入过程 在系统收到进程输入请求信号后 输入管理模块 中的读函数负责将数据从输入设备读入内存中的缓冲区 当缓冲区满时 则由写函数将数据从内存缓冲区写到外存的输入井中 读函数和写函数反复循环 直到一个进程输入完毕 再准备输入下一个进程的数据 然后 系统为该进程建立进程控制块 从而使输入井中的进程进入进程等待队列 等待进程调度程序选中后进入内存运行 系统在管理输入井过程中可以 不断 读入输入的数据 直到输入结束或输入井满而暂停 Spooling技术 输出过程 以打印机为例来进行说明 当有进程要求打印输出时 SPOOLing系统并不是将这台打印机直接分配给该进程 而是在输出井中为其分配一块存储空间 进程的输出数据以文件形式存在 每个进程的数据输出文件形成了一个输出队列 由 输出管理模块 控制这台打印机进程 依次将队列中的输出文件实际打印输出 Spooling技术 从打印机的例子中 可以看到 在SPOOLing技术的支持下 系统实际上并没有为任何进程分配设备 而只是在输入井和输出井中为每个进程分配了一块存储区并建立了一张I O请求表 这样 便把独占设备 打印机 改造为共享设备 因此SPOOLing技术也是一种虚拟设备技术 Spooling技术 总结 SPOOLing技术具有如下3个特点 提高了I O速度 从对低速I O设备进行的I O操作变为对输入井或输出井的操作 提高了I O速度 缓和了CPU与低速I O设备速度不匹配的矛盾 I O设备并没有分配给任何进程 在输入井或输出井中 分配给进程的是一个存储区和建立的一张I O请求表 实现了虚拟设备功能 多个进程同时使用一个独占设备 而对每一进程而言 都认为自己独占这一设备 从而实现了设备的虚拟分配 华中科技大学2001 判断题1 虚拟设备技术是将不能共享的设备改造为可以共享的设备 答案 正确 4 按信息交换单位分 块设备 以数据块为单位存储 传输信息 一般数据块的大小为512B 4KB 如磁盘 磁带等 字符设备 以字符为单位存储 传输信息 如键盘 显示器 打印机等 设备的分类 4 1 设备独立性 7 1 2 设备独立性是指用户在编写程序时 无需关心系统具体配置了哪些设备 也无需了解各种设备的使用方法和特性 只需为所需设备起个逻辑设备名即可 例如print 与设备独立性密切相关的是统一命名这一目标 一个文件或一个设备的名字只应是一个简单的字符串或一个整数 不应依赖于设备 运行程序时 OS会为用户的逻辑设备指派一个具体的物理设备 由OS实现从逻辑设备到物理设备的转换 这样既可以按照用户的要求控制I O设备工作 完成用户所希望的I O操作 又可以减轻用户编制程序的负担 设备管理的目标 用户程序使用的设备的逻辑名 设备独立性 华中科技大学2001 判断题1 设备独立性是指设备由用户独占使用 答案 错 2 并行性为了提高外部设备的利用率 要使外部设备与CPU之间 各种外部设备之间充分地并行 3 对共享设备和独占设备的处理对共享设备 比如磁盘 多个用户同时在同一磁盘上使用不同文件或相同文件不会引起什么问题 而对独占设备 比如打印机 如果使用不正确 就可能导致各种各样的问题 例如死锁问题 设备管理的目标 7 2缓冲技术 单缓冲和双缓冲环形缓冲缓冲池 缓冲技术的引入 CPU与各种外部设备在速度上的差异很大 设备与设备之间的速度的差异也很大 系统有时会产生大量的数据需要I O 有时又会很长时间没有I O 造成I O负荷的不均匀 要解决这两个方面的问题就要引入缓冲的概念 什么是缓冲 两个设备传输速度不匹配时 实现平滑传输过程的手段 缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀 缓冲区 有一定容量 暂存信息的存储装置 缓冲的实现方法有两种 硬缓冲 在设备中设置缓冲区 由硬件实现软缓冲 在内存中开辟一个空间 用作缓冲区 缓冲区的设置 单缓冲单缓冲是在CPU与I O设备之间只设立一个缓冲区 输入与输出操作全部经该缓冲区来完成 当输入设备占用缓冲区时 输出设备必须处于等待状态 而当输出设备正在缓冲区将数据取走时 输入设备也必须等待 其工作方式是串行完成的 此时 缓冲区成了可共享的临界资源 但必须互斥占用 不可能实现并行工作 系统效率低 1 单缓冲和双缓冲 由于单缓冲不能实现并行处理 为避免单缓冲造成的设备利用率不高的状况 可引入双缓冲技术 为输入 输出分配两个缓冲区 并让两个缓冲区交替工作 就可以形成并行操作的方式 例如 在设备输入时 输入设备先将第一个缓冲区buf1装满数据 在输入设备装填第二个缓冲区buf2的同时 CPU可从buf1中取出数据供用户进程处理 当buf1中的数据处理完后 若buf2已填满 则CPU又可从buf2中取出数据进行处理 而输入设备又可装填buf1 由于缓冲区交替被占用 可以使CPU与外设间的并行度得到提高 1 单缓冲和双缓冲 例如 有一批卡片要从读卡机上读入 然后再从打印机上输出 系统设置了两个缓冲区buf1和buf2 它们用于从读卡机上接受数据 在适当的时候交给打印机输出 1 单缓冲和双缓冲 双缓冲虽然提高了I O操作的效率 但不能彻底解决在实际系统中的并行操作 由于计算机中配备有多种外围设备 CPU与外设的速度匹配全部由双缓冲来承担是不能胜任的 为此 必须使用多缓冲或是缓冲池技术来解决并行操作问题 1 单缓冲和双缓冲 多个大小相等的缓冲区按顺序构成环形 链接 按照先进先出队列的形式 设置头 尾指针都指向第一个缓冲区 还要设置两个指针 in和out in指针指向可以输入数据的第一个空缓冲区 out指针指向可以提取数据的第一个满缓冲区 系统初始化时 指针被初始化为start in out 2 环形缓冲 多缓冲 除系统初始化时之外 其它任何时候in out 缓冲区的读写不能同时进行 2 环形缓冲 输入时 首先判断in是否与out相等 若相等 则要等待 表示系统中的所有缓冲区都装满了数据 没有空的缓冲区可用 否则 将信息送入in指向的缓冲区 填满后 将缓冲区中的指向下一个缓冲区的指针next置in 如此类推 输出时 首先判断out in 若相等 则等待 意味着系统中没有数据可取 否则 取出缓冲区中的信息 将缓冲区中的next置out 缓冲池则是将多个大小相等的缓冲区 内存中一组缓冲区 连接成一个完整的区域 形成一个缓冲池 其中每个缓冲区既可以作为输入又可以作为输出用 这个池中的缓冲区为系统中所有的进程共享使用 缓冲池和环形缓冲都是临界资源 由系统进行统一分配和管理 必须被互斥使用 3 缓冲池 系统把各缓冲区按其使用状况分成以下几种队列 1 空缓冲队列 后备队列 2 装满输入数据的输入缓冲队列in 输入文件队列 3 装满输出数据的输出缓冲队列out 输出文件队列 4 等待或正在由输入设备装入信息的缓冲队列 装入队列 5 等待或正在由输出设备出空信息的缓冲队列 出空队列 3 缓冲池 结构 缓冲池的工作原理如下 当计算进程需要输入数据时 总是从输入文件队列队首的缓冲区中提取数据进行处理 完成之后 缓冲区管理程序把该缓冲区从输入文件队列摘下 挂在后备队列的队尾 当计算进程需要输出数据时 总是将数据装入输出文件队列队首的缓冲区中 装满后 缓冲区管理程序把该缓冲区从输出文件队列摘下 挂在出空队列的队尾 3 缓冲池 原理 缓冲池的工作原理如下 输入设备总是将输入信息放入装入队列队首的缓冲区中 当输入完成时会产生中断 以调用缓冲区管理程序 将已装满信息的缓冲区从装入队列摘下 挂在输入文件队列的队尾 输出设备总是从出空队列队首的缓冲区中提取信息 完成之后 产生中断信号 缓冲区管理程序将已出空信息的缓冲区从出空队列摘下 挂在后备队列的队尾 3 缓冲池 原理 哈尔滨工业大学2001 缓冲技术主要包括哪几种方式 单缓冲双缓冲多缓冲 环形缓冲和缓冲池 通常将外设和内存之间数据传送的控制方式分为4类 1 程序直接控制方式 2 中断控制方式 3 直接存储器存取 DMA 方式 4 通道控制方式 7 4 2I O控制方式 程序直接控制方式就是由用户进程来直接控制内存和外围设备之间的信息传送 这种方式的控制者是用户进程 当用户进程需要输入数据时 由CPU向设备控制器发出一条I O指令启动相应的设备进行输入 在设备输入数据期间 CPU通过循环执行测试指令不间断地检测状态寄存器的值 当状态寄存器的值显示设备输入完成时 CPU从数据寄存器把数据取出 送入内存的指定单元 然后再启动设备去读下一个数据 1 程序直接控制方式 循环测试I O方式 设备控制器处于CPU和各种I O设备之间 它接收从CPU发来的命令 并去控制I O设备工作 使CPU从繁杂的设备控制事务中解脱出来 设备控制器是一个可编址设备 当它仅控制一个设备时 它只有一个设备地址 当它控制多个设备时 则具有多个设备地址 使每一个地址对应一个设备 设备控制器 每个设备控制器中都设置几个寄存器用于与CPU和I O设备进行通讯 控制寄存器用于存放接收的命令及参数数据寄存器用于存放传输的数据状态寄存器用于记录设备状态当设备控制器接收到一条命令后 它能独立于CPU完成该命令所指定的操作 而CPU可以转去执行其它的运算 当命令完成时 设备控制器产生一个中断 CPU通过读设备控制器中的寄存器的信息 获得操作的结果和设备的状态 设备控制器 优点 控制简单 不需要其它硬件的支持 缺点 CPU和外围设备只能串行工作 而CPU的速度高出I O设备几个数量级 所以使得CPU的大量时间都处于等待和空闲状态 CPU的利用率大大降低 CPU在一段时间内只能和一台外围设备交换数据 所以不能实现设备之间的并行工作 适用于CPU执行速度慢 而且外围设备较少的系统 早期的设备控制方式采用 1 程序直接控制方式 具体作法 利用中断信号 外设可以将自身操作的状态及时反馈给CPU 这样 CPU便可以在发出一条I O指令后 转去继续完成其他的任务 而对外设的I O工作 则由设备控制器来指挥完成 当I O操作完成后 设备控制器自动向CPU发出中断请求信号 CPU接收到中断信号后进行干预 启动I O中断处理程序 2 中断控制方式 优点 CPU的利用率大大提高 缺点 由于在设备控制器的数据寄存器装满数据之后会发生中断 而且数据寄存器通常较小 因此 在一次数据传送过程中发生的中断次数较多 将耗去CPU大量时间 现代计算系统通常配备各种各样的外围设备 如果这些设备都通过中断方式进行并行操作 则由于中断次数的急剧增加而造成CPU无法及时响应中断 会出现数据丢失的现象 2 中断控制方式 DMA DirectMemoryAccess 方式 其基本思想是在外设和主存之间开辟直接的数据交换通路 DMA方式的特点是 数据传送的基本单位是数据块 所传送的数据是从设备送内存 或者相反 仅在传送一个或多个数据块的开始和结束时 才需中断CPU 请求干预 整块数据的传送是在DMA控制器的控制下完成的 3 直接存储器存取 DMA 方式 DMA方式与中断方式的主要区别 中断方式是在每个数据传送完成后中断CPU 而DMA方式则是在所要求传送的一批数据 数据块 全部传送结束时中断CPU 这样 大大减少了CPU进行中断处理的次数 中断方式的数据传送是在中断处理时由CPU控制完成的 而DMA方式是在DMA控制器的控制下 不经过CPU完成的 避免了因并行操作设备过多时CPU来不及处理而造成的数据丢失等现象 3 直接存储器存取 DMA 方式 局限性 DMA方式对外围设备的管理和操作 例如数据传送的方向 存放数据的主存始址及传送数据的长度等 仍由CPU

温馨提示

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

评论

0/150

提交评论