《生产管理——设备管理的目标和任务》由会员分享,可在线阅读,更多相关《生产管理——设备管理的目标和任务(142页珍藏版)》请在金锄头文库上搜索。
1、第七章设备管理n概述nI/O软件的组成nI/O硬件特点n有关技术n设备处理n典型外部设备一、概述1、I/O的特点 (1)I/O性能经常成为系统性能的瓶颈nCPU性能不等于系统性能响应时间也是一个重要因素nCPU性能越高,与I/O差距越大弥补:更多的进程n进程切换多,系统开销大(2)操作系统庞大复杂的原因之一是:资源 多、杂,并发,均来自I/O外设种类繁多,结构各异输入输出数据信号类型不同速度差异很大 (3)理解I/O的工作过程与结构是理解操作系 统的工作过程与结构的关键I/O技术很实用 (4)与其他功能联系密切,特别是文件系统1、I/O的特点(1)按使用特性分存储型设备输入型设备(外设主机)输
2、出型设备(主机外设)输入输出型设备(交互型设备)2、设备的分类(2)按数据组织分块设备以数据块为单位存储、传输信息字符设备以字符为单位存储、传输信息(3)按外部设备的从属关系分系统设备指操作系统生成时,登记在系统中的标 准设备(如终端、打印机、磁盘机等)用户设备指在系统生成时,未登记在系统中的非 标准设备。对于这类设备的处理程序由用 户提供,并将其纳入系统,由系统代替用 户实施管理。(如A/D,D/A转换器,CAD所用专用设备)(4)按资源分配角度分独占设备在一段时间内只能有一个进程使用的设备,一 般为低速I/O设备(如打印机,磁带等)共享设备在一段时间内可有多个进程共同使用的设备, 多个进程
3、以交叉的方式来使用设备,其资源利 用率高(如硬盘)虚设备 在一类设备上模拟另一类设备,常用共享 设备模拟独占设备,用高速设备模拟低速 设备,被模拟的设备称为虚设备目的:将慢速的独占设备改造成多个用户可共享 的设备,提高设备的利用率 (实例:SPOOLing技术,利用虚设备技术用硬盘模拟输入输出设备)SPOOLing技术为解决独立设备数量少,速度慢,不能满 足众多进程的要求,而且在进程独占设备 期间,设备利用率比较低而提出的一种设 备管理技术(5)从程序使用角度分逻辑设备、物理设备 (6)按数据传输率分高速设备、低速设备 (7)按接口分与用户交流:显示器,键盘,鼠标,打 印机等与电子设备交流:磁
4、盘、磁带等通信:与远程设备通信:调制解调器各类设备的差别:数据传输率应用控制的复杂性传输单位数据表示出错条件(1)按照用户的请求,控制设备的各种操 作,完成I/O设备与内存之间的数据交换 (包括设备分配与回收;设备驱动程序 ;设备中断处理;缓冲区管理),最终 完成用户的I/O请求3.设备管理的目标和任务n设备分配与回收记录设备的状态根据用户的请求和设备的类型,采用一定 的分配算法,选择一条数据通路 n建立统一的独立于设备的接口n完成设备驱动程序,实现真正的I/O操作n处理外部设备的中断处理n管理I/O缓冲区功能(2)向用户提供使用外部设备的方便 接口,使用户摆脱繁琐的编程负担n 方便性n 友好
5、界面n 透明性逻辑设备与物理设备、屏蔽硬件细节( 设备的物理细节,错误处理,不同I/O的 差异性)(3)充分利用各种技术(通道,中断,缓 冲等)提高CPU与设备、设备与设备之 间的并行工作能力,充分利用资源,提 高资源利用率n 并行性n 均衡性(使设备充分忙碌)(4)保证在多道程序环境下,当多个 进程竞争使用设备时,按一定策略 分配和管理各种设备,使系统能有 条不紊的工作(5)保护设备传送或管理的数据应该是安全的 、不被破坏的、保密的(6)与设备无关性(设备独立性)用户在编制程序时,使用逻辑设备名,由 系统实现从逻辑设备到物理设备(实际 设备)的转换用户能独立于具体物理设备而方便的使用 设备用
6、户申请使用设备时,只需要指定设备类 型,而无须指定具体物理设备,系统根 据当前的请求,及设备分配的情况,在 相同类别设备中,选择一个空闲设备, 并将其分配给一个申请进程统一性:对不同的设备采取统一的操作方式,在 用户程序中使用的是逻辑设备优点: n设备忙碌或设备故障时,用户不必修改 程序n改善了系统的可适应性和可扩展性IO软件的基本思想是按分层的思想构成 ,较低层软件要使较高层软件独立于硬 件的特性,较高层软件则要向用户提供 一个友好的、清晰的、简单的、功能更 强的接口二、I/O软件的组成在设计IO软件时的一个关键概念是设备 独立性。用户在编写使用软盘或硬盘上 文件的程序时,无需为不同的设备类
7、型 而修改程序就可以使用与设备独立性密切相关的是统一命名这 一目标。一个文件或一个设备的名字只 应是一个简单的字符串或一个整数,不 应依赖于设备1. IO软件的目标出错处理是IO软件的另一个目标。一般来 说,数据传输中的错误应尽可能地在接近硬 件层上处理最后一个问题是可共享设备和独占设备的处 理问题2.中断处理程序每个进程在启动一个IO操作后阻塞直到IO操作完成并产生一个中断由操作系统接管CPU后唤醒该进程为止3.设备驱动程序与设备密切相关的代码放在设备驱动程序中 ,每个设备驱动程序处理一种设备类型每一个控制器都设有一个或多个设备寄存器 ,用来存放向设备发送的命令和参数。设备 驱动程序负责释放
8、这些命令,并监督它们正 确执行一般,设备驱动程序的任务是接收来自与设 备无关的上层软件的抽象请求,并执行这个 请求在设备驱动程序的进程释放一条或多条命令 后,系统有两种处理方式,多数情况下,执 行设备驱动程序的进程必须等待命令完成, 这样,在命令开始执行后,它阻塞自已,直 到中断处理时将它解除阻塞为止。而在其它 情况下,命令执行不必延迟就很快完成4.设备独立的软件虽然IO软件中一部分是设备专用的,但大 部分软件是与设备无关的。设备驱动程序与 设备独立软件之间的确切界限是依赖于具体 系统的1.独立于设备的软件的基本任务是实现所有 设备都需要的功能,并且向用户级软件提供 一个统一的接口2.如何给文
9、件和设备这样的对象命名是操作 系统中的一个主要课题。独立于设备的软件 负责把设备的符号名映射到正确的设备驱动 上3.设备保护系统如何防止无权存取设备的用户存取设备 呢?4.不同的磁盘可以采用不同的扇区尺寸。向 较高层软件掩盖这一事实并提供大小统一的 块尺寸,这正是设备独立软件的一个任务。 它可将若干扇区合成一个逻辑块。这样,较 高层的软件只与抽象设备打交道,独立于物 理扇区的尺寸而使用等长的逻辑块5.缓冲技术6.设备分配7.出错处理 5.用户空间的IO软件尽管大部分IO软件都包含在操作系统中, 但仍有一小部分是由与用户程序连接在一起 的库过程,甚至完全由运行于核外的程序构 成。系统调用,包括I
10、O系统调用,通常由 库过程实现这些过程所做的工作只是将系统调用时所用 的参数放在合适的位置,由其它的IO过程 实际实现真正的操作(1)用户进程层执行输入输出系统调用,对I O数据进行格式化,为假脱机输入输出 作准备 (2)独立于设备的软件实现设备的命名、设 备的保护、成块处理、缓冲技术和设备分配 (3)设备驱动程序设置设备寄存器、检查设 备的执行状态 (4)中断处理程序负责IO完成时,唤醒设 备驱动程序进程,进行中断处理 (5)硬件层实现物理IO的操作1.设备组成IO设备一般由机械和电子两部分组成把这两部分分开处理,以提供更加模块化 ,更加通用的设计三、I/O硬件特点(1)物理设备机械部分是设
11、备本身(物理装置) (2)设备控制器电子部分叫做设备控制器或适配器。在小型和微型机中,它常采用印刷电路卡 插入计算机中(接口)完成设备与主机间的连接和通讯控制器卡上通常有一个插座,通过电缆与设 备相连控制器和设备之间的接口是一个标准接口, 它符合ANSI、IEEE或ISO这样的国际标准CPU外 部 设 备控 制 逻 辑 电 路控制寄存器状态寄存器数据寄存器I/O设备特点: (1)操作异步性 (2)设备自治性 (3)接口通用性关注点:对该硬件如何进行程序设计,不考虑设备 内部如何工作程序员:软件接口即硬件所接受的命令,它所完成的功能,报回的错 误2.设备接口一个I/O过程由四步组成:准备启动测试
12、和等待结果检查和错误处理通过对设备接口寄存器组的读写完成设备接口复杂繁琐操作系统将命令写入控制器寄存器中,以实 现输入输出例如:IBM PC的软盘控制器可接收15条命令 ,READ、WRITE、FORMAT、SEEK、 RECALIBRATE,命令可以带参数。它们被一 起送入控制器的寄存器中当控制器接受一条命令后,可独立于CPU完成 指定操作,CPU可以转去执行其它运算。命 令完成时,控制器产生一个中断,CPU响应 中断,控制转给操作系统。CPU通过读控制 器寄存器中的信息,获得操作结果和设备状 态控制器与设备之间的接口常常是一个低级 接口。例如磁盘,可以按每个磁道8扇区, 每个扇区512个字
13、节进行格式化。然而,实 际从驱动器出来的却是一连串的位流,以 一个头标(preamble)开始,然后是一个 扇区的4096位(5128),最后是检查和 或错误校验码(ErrorC一C:ECC)。头 标是在对磁盘格式化时写上的,它包括柱 面和扇区数,扇区的大小和类似的一些数 据控制器的任务是把串行的位流转换为字节 块,并进行必要的错误修正。首先,控 制器按位进行组装,然后存入控制器内 部的缓冲区中形成以字节为单位的块。 在对块验证检查和并证明无错误时,再 将它复制到主存中3.设备连接模式指I/O设备与CPU之间的连接方式,亦即将设 备连接到一个计算机系统上的方式在一个确定的连接模式下,从I/O设
14、备到CPU 间的所有连接成分构成了一条I/O路径(I/O 链)设备与主机间最基本的连接方式四个要素:设备接口形式I/O指令形式I/O地址空间分配及译码连线问题(1)设备接口形式* 端口地址译码* 按照主机与设备的约定格式和过程接受或 发送数据和信号计算机 设备设备 计算机* 将计算机的数字信号转换为机械部分能识 别的模拟信号,或反过来* 实现一些诸如设备内部硬件缓冲存储、数 据加工的提高性能或增强功能的任务(2)端口编址方法 接口电路中:多个寄存器 一个寄存器有唯一的一个地址,每个地 址为I/O端口,该地址称为I/O端口地址 。I/O指令形式与I/O地址是相互关联的, 主要有两种形式:内存映像
15、编址(内存映像I/O模式)I/O独立编址(I/O专用指令)I/O独立编址n分配给系统中所有端口的地址空间是完全独立的 ,与内存的地址空间没有关系n主机使用专门的I/O指令对端口进行操作n优点n外部设备不占用内存的地址空间n程序设计时,易于区分是对内存操作还是对I/O 端口操作n缺点:对I/O端口操作的指令类型少,操作不灵活n例子:8086/8088,分配给I/O端口的地址空间64K ,0000H0FFFFH,只能用IN和OUT指令对其进 行读写操作存储映像编址n分配给系统中所有端口的地址空间与内存的地 址空间统一编址n主机把I/O端口看作一个存储单元,对I/O的读 写操作等同于对存储器的操作n
16、优点n凡是可对存储器操作的指令都可对I/O端口 操作n不需要专门的I/O指令nI/O端口可占有较大的地址空间n缺点:占用内存空间设备完成技术:系统如何知道设备的一次 I/O操作是否完成? 对CPU编程的I/O技术:CPU必须亲自完成 I/O的启动与完成的处理,亲自执行所有 数据在内存和设备之间的实际物理传送4.要考虑的几个问题一次I/O 传送过程:准备传送后处理 例:一个打印机有两个I/O设备寄存器状态寄存器数据寄存器设备完成技术设备的一次操作是否完成?测试设备的一个硬件信号 几种测试模式: (1)I/O测试指令 (2)中断技术使CPU利用率尽可能不被I/O降低使CPU尽可能摆脱I/On 提高I/O本身的绝对速度n 减少或缓解速度差距 n 使CPU不等待I/O 进一步改善提高设备利用率在设备与主机的硬连接上,引入总线,节 省连线并提供配置扩充与改变时的灵活性 ;引入控制器,扩大设备与主机间的相互 适用范围小结:控制器与设备的分离,循环测试到中 断,对CPU编程式的I/O到D