课程主要内容☞操作系统引论(第1章)☞进程管理(第2-3章)☞存储管理(第4章)☞设备管理(第5章)☞文件管理(第6章)☞操作系统接口(第7章)☞UNIX操作系统(第10章)第5章设备管理I/O系统I/O控制方式缓冲管理I/O软件设备分配磁盘存储器管理UNIX系统中的设备管理本章练习5.1I/O系统I/O设备设备控制器I/O通道I/O系统的总线系统I/O系统的结构I/O系统的组成:I/O设备、设备控制器、I/O通道、总线及相应软件5.1.1I/O设备1、I/O设备的类型1)按使用方式/共享属性分类2)按传输速率分类3)按信息交换的单位分类独享设备1)按使用方式/共享属性分类共享设备虚拟设备独享/独占设备:在一段时间只允许一个用户进程访问的设备。多数低速设备属此类,打印机就是典型的独享设备。共享设备:在一段时间允许多个用户进程同时访问的设备。磁盘就是典型的共享设备。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。低速设备2)按传输速率分类中速设备高速设备低速设备:传输速率仅为每秒钟几个字节至数百个字节的设备。典型的有:键盘、鼠标、语音的输入/输出等。中速设备:传输速率为每秒钟数千个字节至数万个字节的设备。典型的有:打印机等。高速设备:传输速率为每秒钟数百KB至数十MB的设备。典型的有:磁盘机、磁带机、光盘机等。块设备3)按信息交换的单位分类字符设备块设备:信息交换的基本单位为字符块,属于有结构设备,块大小一般为512B---4KB,典型的有:磁盘、磁带等。块设备的基本特征:传输速率较高(几MB/s)、可寻址、I/O常采用DMA方式。字符设备:信息交换的基本单位为字符,典型的有:键盘、打印机和显示器等。基本特征:传输速率较低,几字节~数千B/s、不可寻址、I/O常采用中断驱动方式。2、设备与控制器之间的接口(见下图即P161图5-1)设备间接通过设备控制器与CPU进行通信,在设备与设备控制器之间有一接口,传递三类信号:数据信号线:双向(输入输出),用于传送数据信号控制信号线:控制器发给设备;要求设备完成相关操作状态信号线:设备发给控制器,用于传送指示设备当前状态的信号I/O设备控制逻辑缓冲转换器信号数据数据信号线状态信号线控制信号线至设备控制器5.1.2设备控制器设备控制器是处于CPU与I/O设备之间的接口,接收CPU发来的命令,并控制I/O设备工作,是一个可编址设备。功能:接收CPU命令,控制I/O设备工作,解放CPU1.接收和识别命令:应有相应的Register来存放命令(设置多个“命令寄存器”和“命令译码器”)2.实现数据交换:CPU——控制器的数据寄存器——设备3.了解设备状态:设备控制器中应有“状态寄存器”5.1.2设备控制器设备控制器是处于CPU与I/O设备之间的接口,接收CPU发来的命令,并控制I/O设备工作,是一个可编址设备。功能:接收CPU命令,控制I/O设备工作,解放CPU(续)4.识别设备地址:CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。应配置“地址译码器”。5.数据缓冲:在控制器中必须设置一缓冲器。6.差错控制:对I/O设备传送来的数据进行差错检测5.1.2设备控制器设备控制器的组成设备控制器与处理机的接口设备控制器与设备接口I/O逻辑寄存器:控制寄存器(存放命令及参数)、数据寄存器(存放数据)、状态寄存器(记录设备状态)。见下页图设备控制器的组成数据寄存器控制、状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口iCPU与控制器接口控制器与设备接口数据线地址线控制线数据状态控制数据状态控制......5.1.3I/O通道(1)一、引入在CPU和I/O设备之间增加了设备控制器减轻了CPU对数据输入输出的控制、使得CPU的效率得到显著的提高。而通道的出现则进一步提高了CPU的效率。这是因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制。而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的并行工作。5.1.3I/O通道(2)通道:一种特殊的执行I/O指令的处理机,指令类型单一,没有自己的内存,与CPU共享内存。引入目的:建立独立的I/O操作,解脱CPU对I/O的组织、管理。CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。通道的基本功能:执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断等,具体有以下五项任务:5.1.3I/O通道(3)(1)接受CPU的I/O指令,按指令要求与指定的外(2)从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。(3)组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。5.1.3I/O通道(4)(4)从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。(5)将外围设备的中断请求和通道本身的中断请求,按次序及时报告给CPU。5.1.3I/O通道(5)二、CPUCPU通过执行I/O指令以及处理来自通道的中断,实现对通道的管理。来自通道的中断有两种,一种是数据传送结束中断,另一种是故障中断。管态:CPU运行操作系统的管理程序的状态。目态:CPU执行用户程序时的状态。大中型计算机的I/O指令都是管态指令,只有当CPU处于管态时,才能运行I/O指令,目态时不能运行I/O指令。这是因为大中型计算机的软、硬件资源为多个用户所共享,而不是分给某个用户专用。5.1.3I/O通道(6)通道通过使用通道指令控制设备控制器进行数据传送操作,并以通道状态字接收设备控制器反映的外围设备的状态。因此,设备控制器是通道对I/O设备实现传输控制的执行机构。5.1.3I/O通道(7)(1)从通道接受通道指令,控制外围设备完成所要求的操作;(2)(3)将各种外围设备的不同信号转换成通道能够识别的标准信号。5.1.3I/O通道(8)四、通道的类型根据信息交换方式的不同,通道可分成以下几种类型:字节多路通道数组选择通道数组多路通道注:“瓶颈”问题字节多路通道(1)工作原理:字节多路通道主要用于连接大量的低速设备,如键盘、打印机等等。例如数据传输率是1000B/s,即传送1个字节的间隔是1ms,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。数据传送是按字节交叉方式工作。字节多路通道(2)1)有一个主通道。2)含有多个非分配型子通道A、B、C……3)每个子通道通过一个控制器与一台中/低速的I/O设备相连,可同时并行向主通道传数据。4)各子通道以时间片轮转方式按字节交叉使用主通道。优点:可连多台中/低速设备;能分时并行操作。缺点:传输率较低,不适于连接高速设备。数组选择通道(1)工作原理:选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。选择通道很像一个单道程序的处理器,在一段时间内只允许执行一个设备的通道程序,只有当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。数据传送是按成组方式进行工作,每次传输一批数据。主要用于连接高速I/O设备。数组选择通道(2)1)有一个主通道2)含有多个子通道A、B、C……3)每个子通道通过一个控制器与一台高速的I/O设备相连,在一段时间内只能选择一个子通道程序执行,控制一台设备进行数据传送。优点:可连多台高速设备;传输速率较高。缺点:某设备占用该通道后,如果不传输数据,就会使主通道闲置,其它子通道也不能传输数据(即每次只允许一台设备传输数据)。所以通道的利用率很低。选择通道数组多路通道数据传送仍是按数组方式工作。工作原理(结合两者:并行+数组)1)有一个主通道2)含有多个非分配型子通道A、B、C……3)每个子通道通过一个控制器与一台高/中速的I/O设备相连,可分时并行向主通道传数据。4)各子通道以时间片轮转方式共享主通道,按数组方式进行数据传输。优点:可连多台高/中速设备;能分时并行操作,传输速率较高。“瓶颈”问题存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备7单通路I/O系统通道数量少,造成整个系统吞吐量下降解决“瓶颈”问题的方法-多路方式多通路I/O系统通道2设备1设备2设备3设备4存储器通道1控制器1控制器2解决问题的方法是增加设备到主机的通路而不增加通道:即把一个设备连接到多个控制器上,一个控制器连接到多个通道上5.1.4I/O系统的结构(1)微型机I/O系统结构---总线型…CPU内存储器打印机控制器其他控制器磁盘控制器5.1.4I/O系统的结构(2)带有通道的I/O结构(主机I/O系统)5.2I/O控制方式按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,对I/O设备的控制方式分类。主要差别在于:CPU和外围设备并行工作的方式不同,并行工作的程度不同常用的输入/输出控制方式:1、程序I/O方式2、中断驱动I/O控制方式3、直接存储器访问DMAI/O控制方式4、I/O通道控制方式宗旨:减少主机对I/O控制的干预,提高并行度1、程序直接控制方式(1)处理机对I/O的控制采用程序直接控制方式。工作原理:主程序特点:控制简单,但CPU的利用率低(串行),出现忙等待(循环等待设备的I/O操作)--即轮询(Polling)控制设备状态的控制位1)command-ready(等待命令)2)Busy(忙)3)Error(错误)设备是否“准备就绪”传送数据否继续主程序是1、程序直接控制方式(2)一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间;I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序;CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。2、中断驱动I/O控制方式(1)1)需数据的进程向CPU发出指令启动I/O设备输入数据。2)该进程放弃处理机,等待输入完成。3)输入完成后,I/O控制器向CPU发出中断请求,CPU收到后,转向中断服务程序。中断服务程序将数据寄存器中的数据送到指定内存单元,并将原进程唤醒,继续执行。4)以后某时刻,该进程再次被调度,从内存单元取出数据进行处理。优点—CPU利用率大大提高(可以与I/O设备并行工作)。缺点—若中断次数较多,将耗去大量CPU处理时间。2、中断驱动I/O控制方式(2)向I/O发命令——返回——执行其它任务。I/O中断产生——CPU转相应中断处理程序。如:读数据,读完后以中断方式通知CPU,CPU完成数据从I/O——内存2、中断驱动I/O控制方式(3)例如,从终端输入一个字符的时间约为100ms,而将字符送入终端缓冲区的时间小于0.1ms。若采用程序I/O方式,CPU约有99.9ms的时间处于忙—等待中。采用中断驱动方式后,CPU可利用这99.9ms的时间去做其它事情,而仅用0.1ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。3、DMAI/O控制方式(1)如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器访问(DMA)方式:1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。2)该进程放弃处理机等待输入完成,处理机被其它进程占用。3)DMA控制器挪用CPU周期,将一批数据写入内存中。3、DMAI/O控制方式(2)4)DMA控制器传