版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MIS系统软件本章讲解内容1本章讲解内容2第五章设备管理5.1 5.1 概概 述述5.2 I/O5.2 I/O软件的组成软件的组成5.3 I/O5.3 I/O硬件特点硬件特点5.4 I/O5.4 I/O控制技术控制技术5.5 5.5 设备有关技术设备有关技术5.6 5.6 设备分配与设备处理设备分配与设备处理5.7 5.7 磁盘存储器管理磁盘存储器管理 5.8 5.8 典型外部设备典型外部设备 第五章第五章设备管理设备管理5.1 概 述I/O端口I/O端口外存储器接口控制器运算器存储器1.I/O性能经常成为系统性能的瓶颈(1)CPU性能不等于系统性能 响应时间也是一个重要因素(2)CPU性能越
2、高,与I/O差距越大 弥补:更多的进程(3)进程切换多,系统开销大 5.1.1 I/O的特点2.操作系统庞大复杂的原因之一是:资源多、杂、并发,均来自I/O 外设种类繁多,结构各异 输入输出数据信号类型不同 速度差异很大3.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键4.与其他功能联系密切,特别是文件系统1.按使用特性分 存储型设备 输入型设备(外设主机) 输出型设备(主机外设) 输入输出型设备(交互型设备)2.按数据组织分 块设备:以数据块为单位存储、传输信息 字符设备:以字符为单位存储、传输信息5.1.2 设备的分类 系统设备 指操作系统生成时,登记在系统中的标准设备(如
3、终端、打印机、磁盘机等) 用户设备 指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。(如A/D,D/A转换器,CAD所用专用设备) 3.按外部设备的从属关系分1) 1) 独占设备独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)临界资源,互斥访问,可引起死锁临界资源,互斥访问,可引起死锁2) 2) 共享设备共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式交叉的方式来使用设备,其资源利用率高。(如硬盘)宏观上多个进程同时访问,可寻址可随机访问宏观上多个进程同时访问,
4、可寻址可随机访问 3) 3) 虚拟设备虚拟设备 4.按设备的共享属性分 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备。 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。 实例:Spooling技术,利用虚设备技术 用硬盘模拟输入输出设备3)虚设备 为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术; spooling(simultaneous peripheral Operations on-line)外部设备联机并行操作(假脱机技术)。Spoolin
5、g技术传输速率在数百千个字节数至数兆字节数(磁盘机,光盘机)传输速率在数千个字节数至数万个字节数(行式打印机,激光打印机)传输速率在几个字节至数百个字节数(键盘、鼠标、语音输入输出)5.按数据传输率分5.1.3 设计目标与任务 提高方便性 实现并行性 均衡性 设备独立性 1.设计目标(1)设备分配与回收 记录设备的状态 根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路 (2)建立统一的独立于设备的接口(3)完成设备驱动程序,实现真正的I/O操作(4)处理外部设备的中断处理(5)管理I/O缓冲区2. 设备管理的功能 1)按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间
6、的数据交换,最终完成用户的I/O请求设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理。3.设备管理的目标和任务2)向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担 方便性 友好界面 透明性 逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)3)充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率( 并行性、 均衡性) 设备管理的目标和任务(续)4)保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作。5)保护设备传送或管理的数据应该是安全的
7、、不被破坏的、保密的。 设备管理的目标和任务(续)第五章第五章设备管理设备管理5.2 I/O硬件特点设备组成 IO设备一般由机械和电子两部分组成, 这两部分分开处理,以提供更加模块化,更加通用的设计。物理设备 机械部分是设备本身(物理装置)。设备控制器 电子部分叫做设备控制器或适配器。在小型和微型机中,它常采用印刷电路卡插入计算机中(接口)。 完成设备与主机间的连接和通讯。1. I/O硬件特点 控制器卡上有一个插座,通过电缆与设备相连。 控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准。CPU外部设备控控制制逻逻辑辑电电路路控制寄存器控制寄存器状态寄存器状态
8、寄存器数据寄存器数据寄存器(1)操作异步性(2)设备自治性(3)接口通用性 关注点:对该硬件如何进行程序设计,不考虑设备内部如何工作 程序员:软件接口 即硬件所接受的命令,它所完成的功能,报回的错误 1.I/O设备特点(续) 一个I/O过程由四步组成: 准备 启动 测试和等待 结果检查和错误处理 通过对设备接口寄存器组的读写完成 设备接口复杂繁琐 2. 设备接口 操作系统将命令写入控制器寄存器中,以实现输入输出 当控制器接受一条命令后,可独立于CPU完成指定操作,CPU可以转去执行其它运算。命令完成时,控制器产生一个中断,CPU响应中断,控制转给操作系统。CPU通过读控制器寄存器中的信息,获得
9、操作结果和设备状态。 控制器与设备之间的接口常常是一个低级接口。例如磁盘,可以按每个磁道8扇区,每个扇区512个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标(preamble)开始,然后是一个扇区的4096位(5128),最后是检查和或错误校验码(ErrorC一C:ECC)。头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据。 控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再将它复制到主存中。 指I/O设备与CPU之间的连
10、接方式,亦即将设备连接到一个计算机系统上的方式。 在一个确定的连接模式下,从I/O设备到CPU间的所有连接成分构成了一条I/O路径(I/O链)。3. 设备连接模式四个要素: 设备接口形式 I/O指令形式 I/O地址空间分配及译码 连线问题4.设备与主机间最基本的连接方式 端口地址译码 按照主机与设备的约定格式和过程接受或发送数据和信号 计算机 设备 设备 计算机 将计算机的数字信号转换为机械部分能识别的模拟信号,或反过来 实现一些诸如设备内部硬件缓冲存储、数据加工的提高性能或增强功能的任务1) 设备接口形式 接口电路中:多个寄存器 一个寄存器有唯一的一个地址,每个地址为I/O端口,该地址称为I
11、/O端口地址。 I/O指令形式与I/O地址是相互关联的,主要有两种形式: 内存映像编址(内存映像I/O模式) I/O独立编址(I/O专用指令)2) 端口编址方法3) I/O独立编址 分配给系统中所有端口的地址空间是完全独立的,与内存的地址空间没有关系 主机使用专门的I/O指令对端口进行操作 优点外部设备不占用内存的地址空间程序设计时,易于区分是对内存操作还是对I/O端口操作 缺点:对I/O端口操作的指令类型少,操作不灵活 例子:8086/8088,分配给I/O端口的地址空间64K,0000H0FFFFH,只能用IN和OUT指令对其进行读写操作4) 存储映像编址 分配给系统中所有端口的地址空间与
12、内存的地址空间统一编址 主机把I/O端口看作一个存储单元,对I/O的读写操作等同于对存储器的操作 优点凡是可对存储器操作的指令都可对I/O端口操作不需要专门的I/O指令I/O端口可占有较大的地址空间 缺点:占用内存空间第五章第五章设备管理设备管理5.4 I/O控制技术I/O控制的四种技术 程序控制 中断驱动 直接存储器存取(DMA) 通道1.程序控制I/O技术或称程序直接控制方式、循环循环I/OI/O测试方测试方式(轮询)式(轮询)它是一种由用户程序直接控制的输入输出方式。输入时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU读取接口中数据,否则继续测试。输出时:进程通过
13、CPU发START命令启动外设;进行状态测试;准备好,CPU向接口中输出数据,否则继续测试。2.中断驱动I/O技术为了解决程序控制I/O方法的主要问题 应该让处理器从轮询任务中解放出来 使I/O操作和指令执行并行起来。具体作法: 当I/O处理单元准备好与设备交互的时候 通过物理信号通知处理器,即中断处理器3. DMA技术中断的引入大大地提高了处理器处理I/O的效率当处理器和I/O间传送数据时,效率仍旧不高解决方法:直接存储器访问(DMA:Direct Memory Access) 通过系统总线中一独立控制单元DMA控制器 自动控制成块数据在内存和I/O单元间的传送 大大提高处理I/O的效能DM
14、A技术(续1)当处理器需要读写一整块数据时给DMA控制单元发送一条命令包含:是否请求一次读或写,I/O设备的编址,开始读或写的主存编址,需要传送的数据长度等信息处理器发送完命令后就可处理其它事情 DMA控制器将自动管理数据的传送 当这个过程完成后,它会给处理器发一个中断处理器只在开始传送和传送结束时关注一下就可 处理器和DMA传送不完全并行 有时会有总线竞争的情况发生 处理器用总线时可能稍作等待 不会引起中断 不引起程序上下文的保存 通常过程只有一个总线周期 在DMA传送时,处理器访问总线速度会变慢 对于大量数据I/O传送,DMA技术是很有价值DMA技术(续2)程序程序I/O中断中断I/O D
15、MA4.通道独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一管理代替CPU对I/O操作进行控制使CPU和外设可以并行工作通道又称为I/O处理机引入通道的目的:为了使CPU从I/O事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度第五章第五章设备管理设备管理5.5 设备有关技术 为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术。 spooling(simultaneous peripheralOperations on-line)外部设备联机并行操作(假脱机技术) 5.5.1 spooling技术1
16、、带有、带有SPOOLing的系统示意图的系统示意图 2、SPOOLing的工作原理的工作原理 操作系统初启后激活SPOOLing输入程序使它处于捕获输入请求 的状态,一旦有输入请求消息,SPOOLing输入程序立即得到执行,把装在输入设备上的作业输入到硬盘的输入井中。输入井是一组硬盘扇区。 SPOOLing输出把硬盘上输出井的数据送到慢速的输出设备上。输出井的数据来自作业运行过程中的输出。 3、SPOOLing的实质的实质 作业调度程序不是从输入设备上装入作业,而是直接从输入井中把选中的作业装入主存,使主机等待作业输入的时间大为缩短。 同样对作业的输出而言,写到输出井要比写到输出设备快得多
17、。 SPOOLing技术必须建立在多道程序功能的操作系统上,而且要有高速随机外存的支持。通常采用磁盘存储技术。4、SPOOLing系统的组成系统的组成 1、输入井与输出井输入井与输出井:磁盘区域;输入井模拟脱机输入的设备,暂存I/O设备输入的数据;输出井模拟脱机输出时的磁盘,暂存用户程序的输出数据。 2、输入缓冲区和输出缓冲区输入缓冲区和输出缓冲区:解决CPU与磁盘速度不匹配;内存中的区域;输入缓冲区暂存输入设备送来的数据,以后送入输入井;输出缓冲区用于存放从输出井送来数据。 3、输入进程和输出进程:输入进程和输出进程:模拟输入和输出时的外围控制机5、SPOOLing系统的特点系统的特点 1、
18、提高提高I/O的速度:的速度:对输入输出井的数据进行操作。 2、将独占设备改造为共享设备将独占设备改造为共享设备:不直接分配设备,而是根据需要在输入井或输出井中为其分配存储区和建立I/O请求表。 3、实现虚拟设备功能:实现虚拟设备功能:实现将独占设备改造为若干台对应的逻辑设备。讨论与练习5.5.2.中断技术1. 1. 中断的概念:中断的概念: CPU对系统发生的某个事件作出的一种反应 CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序特点:特点: 1) 中断随机的 2) 中断是可恢复的 3) 中断是自动处理的从用户角度看中断从用户角度看
19、中断 解决主机与外设的并行工作问题 提高可靠性 实现多机联系 实现实时控制 2. 引入中断的目的3.中断类型强迫性中断 正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的自愿性中断 用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生1)强迫性中断 输入/输出(I/O)中断:主要来自外部设备通道 程序性中断:运行程序中本身的中断(如溢出,缺页中断,缺段中断,地址越界) ) 时钟中断 控制台中断 硬件故障2)自愿性中断 执行I/O 创建进程 分配内存 信号量操作 发送/接收消息4. 微机中的中断1.可屏蔽中断(I/O中断
20、)2.不可屏蔽中断(机器内部故障、掉电中断)3.程序错误中断(溢出、除法错等中断)4.软件中断(Trap指令或中断指令INT) 有的计算机中,为了区分和不丢失中断信号,对应每个中断源分别用一固定触发器寄存中断信号规定值为1时,表示有中断信号,为0时表示无 这些触发器的全体称为中断寄存器 每个触发器称为一个中断位 所以中断寄存器是由若干个中断位组成5. 中断寄存器6. 中断响应CPU如何响应中断, 两个问题: CPU何时响应中断? 通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器 如何知道提出中断请求的设备或中断源? 因为只有知道中断源或中断设备,才
21、能调用相应的中断处理程序开始开始取下一条指令取下一条指令执行指令执行指令检查指令检查指令处理中断处理中断停止停止取周期取周期执行周期执行周期中断周期中断周期不允许中断不允许中断允许允许中断中断两种解决方法: 用软件指令去查询各设备接口 这种方法比较费时 多数微型机对此问题的解决方法: 使用一种“向量中断”的硬件设施“向量中断”: 当CPU接受某中断请求时,该设备接口给处理器发送具有唯一性的“中断向量”,以标识该设备 “中断向量”在各计算机上实现方法差别比较大7. 中断向量表 在有的机器中: 将主存最低位128个字保留作为中断向量表,每个中断向量占两个字 中断请求的设备接口为了标识自己,向处理器
22、发送一个该设备在中断向量表中表目的地址指针8. 中断优先级 在一些机器中,中断优先级按中断类型划分: 以机器故障中断的优先级最高 程序中断和访问管理程序中断次之 外部中断更次之 输入输出的优先级最低9. 中断屏蔽 在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽。 在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型 如果其PSW的中断禁止位建立后,则屏蔽中断 (不包括不可屏蔽的那些中断) 如果PSW中的中断禁止位未建立 则可以接受其中断优先级高于运行程序中断优先级的那些中断 各设备接口中也有中断禁止位,以禁止该设备的中断10. 实时处理的中断 对于以实时
23、处理为主要任务的机器,显然,必须把具有重要意义传感器发出的中断作为高优先级,这样才能有较好的响应 现代实时系统中,中断优先级的设计是灵活可变的,允许用户根据应用需要,选择不同中断优先策略11. 中断处理简单的中断处理 - 典型的处理过程:(1)设备给处理器发一个中断信号(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断)(3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态(4)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程 序状态字PSW,程序计数器PC中的下
24、一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中, 处理器状态被切换到管态(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等(7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复 处理器状态恢复成原来的状态。(8)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束简单的中断处理过程简单的中断处理过程12. 多个中断的处理 若中断处理过
25、程中又发生中断,引起多中断处理问题两种策略方法: 第一种:第一种: 处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态 当再次允许中断时,新中断信号被处理器检测到 软件实现方法: 在任何中断处理前使用禁止中断指令 在处理结束后开放中断指令 所有中断严格按照发生顺序处理 不考虑中断紧急程度,无法达到较严格时间要求多中断处理第一种策略方法多中断处理第一种策略方法 第二种: 中断按照优先度分级 允许优先级高中断打断优先级低的中断处理过程 这样中断优先级技术将引起中断处理的嵌套 只要合适地定义中断的优先级别 方法一的弊端大都可以克服用 户 程 序低 级 中 断高 级 中 断
26、多中断处理第二种策略方法多中断处理第二种策略方法13.典型的中断处理1)I/O中断由I/O设备的控制器或者通道发出两类I/O中断: I/O操作正常结束如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒 I/O异常需要重新执行失败的I/O操作重试次数有上限,次数过大,系统将判定硬件故障 系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括: 维护软件时钟:系统有若干个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟 处理器时间调度:维护当前进程时间片软件时钟,并在当前进
27、程时间片到时以后运行调度程序选择下一个被调度的进程 控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等 实时处理2) 时钟中断3) 硬件故障中断 硬件故障中断处理程序一般需要做的工作: 保存现场,使用一定警告手段,提供些辅助诊断信息 在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统 如Windows 2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故
28、障诊断程序指令出错、指令越权或者指令寻址越界而引发两类处理方法: 只能由操作系统的相关扩展功能模块完成 多为程序试图作不能做的操作引起的系统保护 如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入 可由程序自己完成,如一些算术运算错误 不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道” 系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试4) 程序性中断5) 系统服务请求(自愿性中断)系统服务请求由处理器专用指令(访管指令)激发 如x86处理器提供int指令,用来激发软件中断 其他不少处理器则提供系统调用指令
29、syscall 执行专用指令的结果是系统被切换到管态,并且转移到一段专门OS程序处开始执行指令格式通常是指令名加请求服务识别号(中断号) OS利用处理器提供的这种接口建立系统服务体系 处理器一般不负责定义系统调用所传递的参数格式 DOS:21h号中断的系统服务功能以及参数列表 现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API)从应用层面重新封装系统调用屏蔽复杂的系统调用传参问题高级语言接口,有助于快速开发有的系统在更高层面提供系统程序设计模板库和类库 如Windows 2000/XP提供封装系统用Win32 API和高层编程
30、机制MFC以及ATL Linux提供封装系统调用、符合POSIX标准 API和C运行库6) 系统服务请求实例设备控制器或其他设备控制器或其他系统硬件发出中断系统硬件发出中断处理器完成当前指处理器完成当前指令的执行令的执行处理器接受中断处理器接受中断处理器将处理器将PSW和和PC推入系统堆栈推入系统堆栈处理器根据中断类处理器根据中断类型读入新的型读入新的PC值值中断系统硬件完成的工作中断系统硬件完成的工作保存进程状态的其保存进程状态的其余信息余信息进程中断进程中断恢复进程状态信息恢复进程状态信息从系统堆栈恢复原从系统堆栈恢复原PSW和和PC中断系统软件完成的工作中断系统软件完成的工作PSWPC.
31、PSWPC.程序状态字指令计数器系统堆栈PSW1PC1PSW2PC2PSW3PC3PSW4PC4PSW5PC5PC1PC2PC3强迫性中断事件强迫性中断事件自愿性中断事件自愿性中断事件保存现场信息保存现场信息保存现场信息保存现场信息取出中断码取出中断码取出访管号取出访管号分析中断原因分析中断原因分析何种系统调用分析何种系统调用转相应处理程序转相应处理程序是否中断嵌套是否中断嵌套由系统恢复现场由系统恢复现场由系统恢复现场由系统恢复现场转低级调度程序转低级调度程序返回上层中断返回上层中断返回目态程序返回目态程序需要切换进程需要切换进程TFFT 定义:通道是独立于CPU的专门负责数据输入/输出传输工
32、作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入,输出操作可与CPU并行操作。 通道又称输入输出处理机,术语“通道”专指专门用来负责输入输出工作的处理机(简称处理机)。比起中央处理机来,通道是一个比功能较弱、速度较慢、价格较为便宜的处理机。但“通道”一词在微型机中常指与或与处理机相连设备的单纯的数据传送通路,它并不具有处理机的功能。5.5.3. 通道技术1. 引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力 2. 通道类型 字节多路通道:通常按字节交叉的方式工作,适用于低速设备。 数据选择通道:按成组方
33、式进行数据传输,适用于高速设备。 数组多路通道:综合前二个优点(数据传送率和通道利用率都较高)。 字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息 主要连接以字节为单位的低速I/O设备。如打印机,终端。 以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节1) 字节多路通道 选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输 当这台设备数据传输完成后,再选择与通道连接的另一台设备,
34、执行它的相应的通道程序 主要连接磁盘,磁带等高速I/O设备 2) 选择通道 选择通道选择通道选择通道 成组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令 主要连接高速设备 这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现 3)成组多路通道 3. 硬件连接结构 通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作
35、。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接 主要目的是启动外设时: a 提高了控制器效率 b 提高可靠性 c 提高并行度交叉连接5 通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序 4. 通道工作原理通道地址字 CAW: 记录通道程序在内存中的地址通道命令字 CCW: 保存正在执行的通道指令通道状态字 CSW: 存放通道执行后的返回结果通道数据字 CDW:存放传输数据 通道和CPU共用内存,通过周期窃取方式取得1) 通道运算控制部件 用于I/O操作的命令主要有两种: I/O指令:启动通道程序 通
36、道命令:对I/O操作进行控制 读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的转移命令 2) 通道命令 命令格式一般包括: 操作码、数据传输内存地址、特征位、计数器 3) 通道命令格式 CPU:执行用户程序,当遇到I/O请求时,可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通道程序的首地址放入CAW中;之后执行“启动I/O”指令,启动通道工作。 通道:接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程
37、序,完成传输工作。 4)工作原理(通道程序完成实际I/O,启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行, 否则表示传输完成) 当通道传输完成最后一条指令时,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,从CSW中取得有关信息,决定下一步做什么 5. 通道与CPU的关系 主从关系 可并行工作 有通信方式 作用不同(通道/; 计算)6.通道的发展 新的通道思想综合了许多新的技术 在个人计算机中,芯片组中专门I/O处理的芯片,称为IOP(IO Processor),发挥通道的作用 IBM 390 中,沿用了输入输出通道概念 IBM于1998年推出光纤通道技术(称为FICO
38、N),可通过 FICON 连接多达127个大容量I/O设备。传输速度是333MHzs,未来将达到1GHzs。 光纤通道技术具有数据传输速率高、传输距离远,可简化大型存储系统设计的优点 在大容量高速存储,如大型数据库、多媒体、数字影像等应用领域,有广泛前景。5.5.4. DMA 技术1. DMA 方式与中断的主要区别方式与中断的主要区别 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU
39、控制完成的 不用DMA时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中控制器按照指定存储器地址,把第一个字节送入主存控制器按照指定存储器地址,把第一个字节送入主存然后,按指定字节数进行数据传送然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减每当传送一个字节后,字节计数器值减1 1,直到字节计数器等于,直到字节计数器等
40、于0 0此时,控制器引发中断,通知操作系统,操作完成此时,控制器引发中断,通知操作系统,操作完成CPUCPU提供提供被读取块磁盘地址被读取块磁盘地址目标存储地址目标存储地址待读取字节数待读取字节数整块数据读进缓冲区整块数据读进缓冲区核准校验核准校验2.DMA2.DMA工作示例工作示例(以硬盘为例)(以硬盘为例) 存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,中断允许位和启动位置成1,启动设备 发出传输要求的进程进入等待状态 执行指令被暂时挂起,进程调度其他进程占据CPU 输入设备不断窃取CPU工作周期,数据不断写入内存 传送完毕,发出中断信号 CP
41、U接到中断信号转入中断处理程序处理 中断处理结束,CPU返回原进程或切换到新的进程3.DMA工作原理窃取总线控制权CPU向控制器发出启动向控制器发出启动DMA通知和有关参数通知和有关参数控制器向内存发出询问请求控制器向内存发出询问请求访问内存(读、写)访问内存(读、写)计数器减计数器减1结束否结束否发中断发中断NYDMA的实现流程的实现流程1 1. . 缓冲技术的引入缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 缓冲区:有一定容量、暂存信息的存贮装置。 在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率5.5.5.
42、缓冲技术2. 引入缓冲区的好处 提高硬件的并行操作能力; 减少了I/O设备对处理器的中断请求次数 简化了中断机制 节省了系统开销3. 引入缓冲区的缺点 在系统区要设置相当大的缓冲池才能满足所有的请求。 从系统缓冲区传送数据到调用进程缓冲区要花费额外的时间,增加了系统的总开销。硬缓冲:硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:软缓冲:在内存中开辟一个空间,用作缓冲区4. 缓冲区设置5. 几种缓冲技术1)单缓冲2)双缓冲(如下图a、b)3)多缓冲:多个缓冲按顺序构成环形,先进先出队列的形式,设头尾、指针指向同一个缓冲区。头、尾指针读写时不能相互超越。4)缓冲池。缓冲池为多个设备共享,设备需要时
43、才接上,用完归还。双缓冲(a)双缓冲(b)5) 缓冲池管理程序缓冲池管理程序负责缓冲池内的组织,管理摘链、挂链,协调控制程序与用户程序的工作。引入缓冲的主要原因,在于的情况。另一个原因是可以。如果I/O操作每传送一个字节就产生一次中断的话,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断。这样,中断次数就减少为1/n,而且中断响应时间也可相对放宽。缓冲有和之分。硬件缓冲是以专用的寄存器作为缓冲器。由于经济上的考虑,除了在最必要的地方采用一定量硬件缓冲器外,大都采用软件技术来实现缓冲。即在操作系统的管理下,在内存中划出若干个单元作为缓冲区。软件缓冲的是易于改变缓冲区的大小和数量,是占据
44、一部分内存空间。根据缓冲区个数的多少,缓冲分为:单缓冲、双缓冲和多重缓冲。单缓冲是指每当一个用户进程发出一个I/O请求时,操作系统在主存的系统区中开设一个缓冲区。对于块设备输入,如不用缓冲区:从磁盘把一块数据直接传送到用户进程空间,假如所花费的时间为T,接着,用户进程对这批数据进行计算,耗时为C,每批数据处理总的时间为T+C。如采用单缓冲机制,先从磁盘把一块数据传送到缓冲区,所花费的时间也为T,接着操作系统把缓冲区数据送到用户进程空间,设所花时间为M。由于这时缓冲区已空,操作系统可预读紧接的下一块,大多数应用将要使用邻接块。同时,用户进程对这批数据进行计算,共耗时C。每批数据处理时间约为,通常
45、M远小于C或T,故速度快了很多。为了加快I/O速度,实现输入、输出的并行工作提高设备利用率,需要引入双缓冲工作方式,又称缓冲交换(buffer swapping) 。在输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区域2。当缓冲区1空出后,输入设备再次向缓冲区1输入。操作系统又可以把缓冲区2的数据传送到用户进程区,用户进程开始加工缓冲区2的数据,两个缓冲区交替使用,使CPU和I/O设备、设备和设备的并行性进一步提高,仅当两个缓冲区都取空,进程还要提取数据时,它才被迫等待。粗略估计一下,传输和处理一块的时间:如果
46、CT,计算操作比输入操作慢,每当上一块数据计算完毕后,仍需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M。显然,这种情况下使得进程不必要等待I/O。当采用单缓冲技术进行磁盘输入时,设从磁盘上读入当采用单缓冲技术进行磁盘输入时,设从磁盘上读入1 1块块的时间为的时间为T T,将数据从单缓冲区送入用户区所需时间为,将数据从单缓冲区送入用户区所需时间为MM,用,用户程序处理这块数据的时间为户程序处理这块数据的时间为C C,且,且TMTM,TCTC。如果需从。如果需从磁盘上读入磁盘上读入2 2块数据,并
47、进行处理,则总共需要花费的时间为块数据,并进行处理,则总共需要花费的时间为2T+2M+C采用双缓冲区技术时,假设从磁盘上读一块信息到缓冲区所需的时间为T,从缓冲区把信息传送到用户工作区所需时间为M,用户进程对信息进行处理所需时间为C。(这里(M+C)分配控制器-分配通道为进程为进程P P分配所需的分配所需的I/OI/O设备设备从从SDTSDT表查该类设备的控制表表查该类设备的控制表DCTDCT由由DCTDCT检查该设备忙否检查该设备忙否? ?不忙不忙检查分配此设备的安全性检查分配此设备的安全性? ?不安全不安全分配此设备给进程分配此设备给进程P P查此设备连接的查此设备连接的COCTCOCT忙
48、否忙否? ?不忙不忙不忙不忙分配此控制器给进程分配此控制器给进程P P查此控制器连接的查此控制器连接的CHCTCHCT忙否忙否? ?最后一个最后一个DCT?DCT?分配此通道给进程分配此通道给进程P P启动启动I/O,I/O,进行具体的进行具体的I/OI/O操作操作忙忙进程进程P的的PCB放入放入此设备的等待队列此设备的等待队列YN忙忙最后一个最后一个COCT?COCT?最后一个最后一个DCT?DCT?进程进程P的的PCB放入放入此控制器的等待队列此控制器的等待队列YNY忙忙最后一个最后一个CHCT?CHCT?Y最后一个最后一个COCT?COCT?进程进程P的的PCB放入放入此通道的等待队列此
49、通道的等待队列NYNN多通路设备分配流程示意图多通路设备分配流程示意图5.6.2 设备处理 (1) 接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、 磁道号及扇区号。 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。1. 1. 设备驱动程序的功能和特点设备驱动程序的功能和特点1) 1) 设备驱动程序的功能设备驱动程序的功能 (3) 发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。 (4) 及时响应由控制器或通道
50、发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。 (5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。 2) 设备处理方式 (1) 为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。 (2) 在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。 为了控制I/O传输,系统为每类设备编制设备驱动程序 设备驱动程序是一种低级的系统例程。它必须和系统的输入输出硬设备相互通信。使用特权/指令来访问硬件,它通
51、常是用汇编语言或系统编程语言写的。 任务:主要负责接收和分析从设备分配转来的信息,并根据设备分配的结果,结合具体物理设备特性完成以下具体工作。3) 设备驱动程序4) 设备驱动程序的特点 (1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。 2. 设备驱动程序的处理过程将抽象要求转换为具体要求 2. 检查I/O请求的合法性 3. 读
52、出和检查设备的状态 4. 传送必要的参数 5. 工作方式的设置 6. 启动I/O设备 中断现场保护示意图 中断处理流程管理程序管理程序保护现场保护现场组织通道程序组织通道程序保存通道程序保存通道程序的始址于的始址于CAW启动启动I/O指令指令分析条件码分析条件码启动成功使启动成功使P阻塞阻塞,另选另选程序程序q运行运行保护程序保护程序q的的现场现场分析中断原因分析中断原因处理处理I/O中断中断选择可运行程序选择可运行程序请求请求启动程序启动程序程序程序q程序程序P用户程序用户程序判断状态判断状态执行通道程序执行通道程序控制控制I/O设备设备操作操作,执行情执行情况记录在况记录在CSW出现中断事
53、件出现中断事件CSW=主存通主存通道号道号,设备号设备号送特定寄存器送特定寄存器通道程序通道程序执行规定执行规定的操作的操作设备控制器和设备设备控制器和设备12345I/O的操作全过程的操作全过程第五章第五章设备管理设备管理5.7 磁盘存储器管理 磁盘存储器管理的主要任务 为文件分配存储空间 合理地组织文件地存储方式,以提高访问速度 提高磁盘存储空间地利用率 提高磁盘I/O速度,改善文件性能 确保文件系统的可靠性(备份) 5.7.1 磁盘性能简述1. 1. 数据的组织和格式数据的组织和格式(P172)(P172) 磁盘的格式化磁盘的结构图硬盘主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,
54、数据转换器,接口,缓存等几个部分组成。 磁盘的结构图1) 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。2. 磁盘的类型2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。3. 磁盘访问时间 1) 寻道时间Ts 2) 旋转延迟时间T 3) 传输时间Tt1)寻道时间Ts这
55、是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是与磁头移动所花费的时间之和,即Ts=mn+s其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘,m=0.2;对高速磁盘,m0.1,磁臂的启动时间约为2ms。这样,对一般的温盘,其寻道时间将随寻道距离的增加而增大,大体上是530ms。 2) 旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间T为5.55 ms;对于软盘,其旋转速度为300 r/min或600 r/min,这样,平均T为50100 ms。3)传输时间Tt把数据从磁盘读出或向磁盘
56、写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关: 其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同, 因此, 可将访问时间Ta表示为:其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同, 因此, 可将访问时间Ta表示为:5.7.2 磁盘调度p 移臂调度根据访问者指定的柱面位置来决定执行次序的调度,称为“移臂调度”。移臂调度的目的是尽可能地减少操作中的寻找时间。在磁盘盘面上,0磁道在盘面的外部;号数越大,磁道越靠近盘片的中心。磁盘在关机时,硬
57、盘磁头停放在最内圈柱面。常用的移臂调度算法有先来先服务算法、最短寻找时间优先算法、电梯调度算法和单向扫描算法。5.7.2 磁盘调度p 旋转调度对在同一个柱面中多个访问者的读写请求,需要有调度算法,用来确定为这些访问等待者服务的次序。在移动臂定位后有若干个访问者等待访问该柱面的情况下,若从减少输入输出操作总时间为目标出发,显然应该优先选择延迟时间最短的访问者去执行。根据延迟时间来决定执行次序的调度称为“旋转调度”。5.7.2 移臂调度1.先来先服务先来先服务FCFS(First-Come,FirstServed)FCFS调度算法2.最短寻道时间优先SSTF(ShortestSeekTimeFir
58、st)SSTF调度算法3.扫描(SCAN)算法 SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。 1) 1) 进程进程“饥饿饥饿”现象现象2) 2) 电梯调度电梯调度 实际问题:电梯正向上运动且到达七层,此时有如下三位乘客要求: A:处于2层,要去十层; B:处于6层,要去底层; C:处于9层,要去15层;电梯应该如何运行?3 3) SCAN) SCA
59、N算法算法 SCAN调度算法示例4. 循环扫描(CSCAN)算法CSCAN调度算法示例 1) N-Step-SCAN算法 在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况,例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而 垄 断 了 整 个 磁 盘 设 备 。 我 们 把 这 一 现 象 称 为 “ 磁 臂 粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCA
60、N算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时, N步SCAN算法便蜕化为FCFS算法。 5. N-Step-SCAN和FSCAN调度算法 2) FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化, 即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省宣城市2023-2024学年九年级上学期期末数学试题
- 2024年版:高端装备制造生产线融资租赁合同
- 2024-2030年中国双槽式清洗机项目可行性研究报告
- 2024全新年度企业师徒传承与品牌价值提升合同3篇
- 2024年特许经营合同的特许经营范围及权利义务
- 2024年玻璃幕墙制作安装合同
- 2024年标准化系统安装服务协议范本版B版
- 吕梁学院《会计学原理》2023-2024学年第一学期期末试卷
- 2024年度事业单位与境外专家劳动合同规范9篇
- 2024年桃树果苗采购合同样本3篇
- 区块链技术与应用学习通超星期末考试答案章节答案2024年
- 新质生产力背景下高质量职业教育教材建设的创新实践
- GB/T 22517.2-2024体育场地使用要求及检验方法第2部分:游泳场地
- 2024-2030年生命科学中的工业自动化行业市场现状供需分析及投资评估规划分析研究报告
- 三角形的高、中线与角平分线课件
- 在线教育平台行业五年发展洞察及发展预测分析报告
- 2023年部编版道德与法治五年级下册全册单元复习课教案
- 2024年江苏苏州市事业单位专业化青年人才定岗特选444人历年高频500题难、易错点模拟试题附带答案详解
- 学校食堂舆情处置预案
- 一年级心理健康课件生命真美好苏科版
- 2024年大学生信息素养大赛(省赛)考试题库(含答案)
评论
0/150
提交评论