1、设备管理设备管理内容提要内容提要I/OI/O系统系统I/OI/O控制方式控制方式中断技术中断技术缓冲管理缓冲管理设备分配设备分配I/OI/O处理过程处理过程设备管理对象设备管理对象 设备管理的对象是硬件资源中除设备管理的对象是硬件资源中除CPUCPU、存储器之外的所有设备。、存储器之外的所有设备。设备管理的任务设备管理的任务选择和分配输入输出设备以便进行数据选择和分配输入输出设备以便进行数据传输操作传输操作控制输入输出设备和控制输入输出设备和CPUCPU(或内存)之(或内存)之间交换数据间交换数据方便用户使用方便用户使用I/OI/O设备设备提高设备和设备之间、提高设备和设备之间、CPUCPU和
2、设备之间和设备之间的并行操作度的并行操作度设备管理的功能设备管理的功能设备分配设备分配设备处理设备处理缓冲管理缓冲管理虚拟设备虚拟设备I/OI/O系统的两大分类系统的两大分类微机微机I/OI/O系统:总线型系统:总线型I/OI/O系统结构系统结构主机主机I/OI/O系统:具有通道的系统:具有通道的I/OI/O系统结构系统结构总线型总线型I/OI/O系统结构系统结构CPU存储器存储器磁磁 盘盘控制器控制器打印机打印机控制器控制器其其 它它控制器控制器打印机打印机磁盘驱动器磁盘驱动器系统总线系统总线具有通道的具有通道的I/OI/O系统结构系统结构计算机计算机设备设备I/O通道通道1I/O通道通道2
3、控制器控制器控制器控制器控制器控制器控制器控制器设备设备I/OI/O设备设备按传输速率分类按传输速率分类低速设备:几个几百字节低速设备:几个几百字节/秒秒中速设备:数千数十千字节中速设备:数千数十千字节/秒秒高速设备:数百千数兆字节高速设备:数百千数兆字节/秒秒按信息交换单位分类按信息交换单位分类块设备:特征是传输速率较高,可寻块设备:特征是传输速率较高,可寻址,磁盘设备的址,磁盘设备的I/OI/O采用采用DMADMA方式;方式;字符设备:特征是传输速率低,不可字符设备:特征是传输速率低,不可寻址,字符设备在寻址,字符设备在I/OI/O时采用中断驱时采用中断驱动方式;动方式;按设备共享属性分类
4、按设备共享属性分类独占设备独占设备共享设备共享设备虚拟设备虚拟设备I/OI/O设备与设备控制器间的接口设备与设备控制器间的接口转换器转换器缓冲缓冲控制逻辑控制逻辑I/O设备设备数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线数据数据信号信号至设备至设备控制器控制器接口信号分类接口信号分类数据信号数据信号控制信号控制信号状态信号状态信号设备控制器设备控制器 设备控制器是设备控制器是CPUCPU与与I/OI/O设备之间设备之间的接口,它接受的接口,它接受CPUCPU的命令,并控制的命令,并控制I/OI/O设备工作。它是一个可编址设备。设备工作。它是一个可编址设备。设备控制器可分为两大类
5、:一类设备控制器可分为两大类:一类是用于控制字符设备的控制器;另一是用于控制字符设备的控制器;另一类是用于控制块设备的控制器。类是用于控制块设备的控制器。设备控制器的功能设备控制器的功能接受和识别命令接受和识别命令数据交换数据交换设备状态的了解和报告设备状态的了解和报告地址识别地址识别数据缓冲数据缓冲差错控制差错控制设备控制器的组成设备控制器的组成设备控制器与处理机的接口设备控制器与处理机的接口设备控制器与设备的接口设备控制器与设备的接口I/OI/O逻辑逻辑设备控制器的组成设备控制器的组成数据寄存器数据寄存器控制控制/状态状态寄存器寄存器I/O逻辑逻辑控制器控制器与设备与设备接口接口1控制器控
6、制器与设备与设备接口接口i数据数据状态状态控制控制数据数据状态状态控制控制数据线数据线控制线控制线地址线地址线I/OI/O通道设备的引入通道设备的引入 在在CPUCPU和设备之间增加了设备控制和设备之间增加了设备控制器后,使数据的传送能独立于器后,使数据的传送能独立于CPUCPU,但,但有关对有关对I/OI/O操作的组织、管理及其结束操作的组织、管理及其结束处理工作仍然由处理工作仍然由CPUCPU承担。这样当主机承担。这样当主机所配置的外设很多时,所配置的外设很多时,CPUCPU的负担仍很的负担仍很重。所以在重。所以在CPUCPU和外设间又增设了通道。和外设间又增设了通道。I/OI/O通道通道
7、I/OI/O通道是一种特殊的处理机,它具有通道是一种特殊的处理机,它具有执行执行I/OI/O指令的能力,并通过指令的能力,并通过I/OI/O程序来程序来控制控制I/OI/O操作;操作;它与一般处理机的区别:它与一般处理机的区别:(1)(1)指令类型指令类型单一;单一;(2)(2)没有内存,通道与没有内存,通道与CPUCPU共享共享内存。内存。I/OI/O通道类型通道类型字节多路通道字节多路通道数组选择通道数组选择通道数组多路通道数组多路通道字节多路通道的工作原理字节多路通道的工作原理控制器控制器A AA A1 1A A2 2A A3 3子通道子通道A A控制器控制器B BB B1 1B B2
8、2B B3 3子通道子通道B B控制器控制器C CC C1 1C C2 2C C3 3子通道子通道C C控制器控制器NNNN1 1NN2 2NN3 3子通道子通道NN控制器控制器A A1 1B B1 1C C1 1A A2 2B B2 2C C2 2设备设备单通路单通路I/OI/O系统系统设备设备1 1设备设备2 2设备设备3 3设备设备4 4设备设备5 5设备设备6 6设备设备7 7控制器控制器1 1控制器控制器2 2控制器控制器3 3控制器控制器4 4通道通道1 1通道通道2 2存储器存储器瓶颈问题瓶颈问题 由于通道价格昂贵,致使机器中所由于通道价格昂贵,致使机器中所设置的通道数量势必较少
9、,这往往又成设置的通道数量势必较少,这往往又成为为I/OI/O瓶颈,进而造成整个系统吞吐量瓶颈,进而造成整个系统吞吐量的降低。的降低。多通路多通路I/OI/O系统系统I/OI/O设备设备控制器控制器1 1控制器控制器2 2通道通道1 1通道通道2 2存储器存储器I/OI/O设备设备I/OI/O设备设备I/OI/O设备设备单总线模型单总线模型CPU存储器存储器磁盘磁盘控制器控制器打印机打印机控制器控制器其它其它控制器控制器磁盘驱动器磁盘驱动器打印机打印机系统总线系统总线I/OI/O控制方式控制方式程序程序I/OI/O方式方式中断驱动中断驱动I/OI/O控制方式控制方式DMADMA方式方式通道控制
10、方式通道控制方式程序程序I/OI/O方式方式向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查状态?检查状态?从从I/O控制器控制器中读入字中读入字向向I/O控制器控制器中写字中写字传送完成?传送完成?CPUI/OI/OCPUI/OCPUCPU内存内存出错出错就绪就绪完成,执行下一条指令完成,执行下一条指令未完未完未未就就绪绪中断驱动方式中断驱动方式 CPUCPU一旦启动设备成功,一旦启动设备成功,CPUCPU转去转去执行另一个程序。当设备完成时,向执行另一个程序。当设备完成时,向CPUCPU提出中断请求,提出中断请求,CPUCPU执行完当前一执行完当前一条指令,就响
11、应中断,转去执行中断处条指令,就响应中断,转去执行中断处理程序。从而使理程序。从而使CPUCPU可与设备并行操作。可与设备并行操作。中断驱动方式中断驱动方式CPU与与I/O设备并行操作设备并行操作CPU向向I/O控制器发读命令控制器发读命令读读I/O控制器的状态控制器的状态从从I/O控制器中读入字控制器中读入字向存储器中写字向存储器中写字CPU可做其它事了可做其它事了I/OCPU出错出错就绪就绪I/OCPUCPU内存内存传送完成传送完成检查状态检查状态是,检查是否还有传输操作是,检查是否还有传输操作未完未完数据进入数据寄存器,发中断数据进入数据寄存器,发中断从外部设备从外部设备读取一块数读取一
12、块数据到存储器,据到存储器,每次读一个每次读一个字的数据字的数据中中 断断处处理理DMADMA方式方式数据缓冲寄存器数据缓冲寄存器DR内存地址寄存器内存地址寄存器MAR数据计数器数据计数器DC命令命令/状态寄存器状态寄存器CR命令命令系统总线系统总线DMA控控制制器器内存内存主机主机控制器接口控制器接口CPU数据块缓冲区数据块缓冲区磁盘磁盘DMADMA方式的特征方式的特征数据传输基本单位是数据块数据传输基本单位是数据块在在DMADMA控制器的控制下,设备直接与控制器的控制下,设备直接与内存交换数据内存交换数据仅在开始和结束时才需仅在开始和结束时才需CPUCPU干预干预DMADMA控制器的组成控
13、制器的组成命令命令/状态寄存器状态寄存器CRCR内存地址寄存器内存地址寄存器MARMAR数据寄存器数据寄存器DRDR数据计数器数据计数器DCDCDMADMA控制器的组成控制器的组成countI/O控制控制逻辑逻辑DRMARDCCR命令命令CPU内存内存主机控制器接口主机控制器接口控制器与块设备接口控制器与块设备接口系统总线系统总线DMA控制器控制器DMADMA工作过程工作过程首先,控制器控制磁盘驱动器串行地一首先,控制器控制磁盘驱动器串行地一位一位地读,在数据缓冲寄存器中组装位一位地读,在数据缓冲寄存器中组装成字节,直到将整块信息放入控制器的成字节,直到将整块信息放入控制器的内部缓冲区中内部缓
14、冲区中其次,它计算检查和,以核实没有读错其次,它计算检查和,以核实没有读错误发生误发生然后控制器将从缓冲区中一次一个字节然后控制器将从缓冲区中一次一个字节或一个字地读数据送主存贮器中,直到或一个字地读数据送主存贮器中,直到一块读完一块读完产生一个中断。等待产生一个中断。等待CPUCPU响应中断响应中断DMADMA工作过程工作过程DMA 控制磁盘驱动器进控制磁盘驱动器进行读数据,并将读的位行读数据,并将读的位组成字节组成字节挪用挪用CPU工作周期传送数据字工作周期传送数据字存储器地址增存储器地址增1数据计数器减数据计数器减1DC=0?请求中断请求中断NY每当把磁盘每当把磁盘一个数据字一个数据字读
15、入数据寄读入数据寄存器,存器,DMA控制器取代控制器取代CPU接管地接管地址总线的控址总线的控制权。制权。使使CPU访问访问总线时速度总线时速度会变慢。会变慢。DMADMA控制下的控制下的CPUCPU工作方式工作方式CPU向向DMA控制器发读块命令(设置控制器发读块命令(设置MAR和和DC初值),启动初值),启动DMA进行传送,启动成功,进行传送,启动成功,CPU转去做其它事转去做其它事CPU执行磁盘的中断处理程序:检查执行磁盘的中断处理程序:检查DMA控制器控制器的状态,唤醒等待进程等的状态,唤醒等待进程等下条指令下条指令磁盘完成中断磁盘完成中断通道通道I/OI/O控制方式控制方式 与与DM
16、ADMA方式相比,通道所需的方式相比,通道所需的CPUCPU干预更少,且可以做到一个通道控制多干预更少,且可以做到一个通道控制多个控制器,每个控制器可以控制多个设个控制器,每个控制器可以控制多个设备,进一步减轻了备,进一步减轻了CPUCPU的负担。的负担。通道、通道、CPUCPU及及I/OI/O设备并行工作设备并行工作主主 存存I/O通道通道1I/O通道通道2控制器控制器控制器控制器控制器控制器控制器控制器设备设备设备设备CPU通道通道I/OI/O控制工作过程控制工作过程CPUCPU向向I/OI/O通道发出一条通道发出一条I/OI/O指令,给出指令,给出所要执行的通道程序的首地址和要访问所要执
17、行的通道程序的首地址和要访问的的I/OI/O设备。设备。通道接到通道接到CPUCPU发来的指令后,通过执行发来的指令后,通过执行通道程序,控制指定设备完成通道程序,控制指定设备完成CPUCPU指定指定的的I/OI/O任务。任务。控制通道的命令控制通道的命令启动启动I/OI/O指令:指令:CPUCPU执行启动执行启动I/OI/O指令启指令启动通道开始执行。在这种指令中,通常动通道开始执行。在这种指令中,通常含有通道号、设备号和通道程序在主存含有通道号、设备号和通道程序在主存的起始地址。的起始地址。测试测试I/OI/O指令:指令:CPUCPU在执行过程中可根在执行过程中可根据需要使用该指令测试通道
18、及外设的状据需要使用该指令测试通道及外设的状态。态。停止停止I/OI/O指令:强行结束通道和外设的指令:强行结束通道和外设的当前工作。当前工作。通道指令格式:操作码、主存地址、程通道指令格式:操作码、主存地址、程序连接标志和记录连接标志序连接标志和记录连接标志通道通道I/OI/O控制方式控制方式操作PR计数 内存地址WRITEWRITEWRITEWRITEWRITEWRITE00000000111180B1406030025025081310345830200018507208138921034117358305889这三块这三块内容写内容写成一个成一个记录记录写成另一个记录写成另一个记录一个
19、新记录一个新记录最后一条通道指令最后一条通道指令例例 通道程序举例:通道程序举例:中断中断 中断是指计算机在执行期间,系统中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处内发生任何非寻常的或非预期的急需处理事件,使得理事件,使得CPUCPU暂时中断当前正在执暂时中断当前正在执行的程序而转去执行相应的事件处理程行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。继续执行或调度新的进程执行的过程。中断相关概念中断相关概念中断源:引起中断发生的事件中断源:引起中断发生的事件中断请求:中断源向中断请求:
20、中断源向CPUCPU发出的请求中发出的请求中断处理信号断处理信号中断响应:中断响应:CPUCPU收到中断请求后转相应收到中断请求后转相应的事件处理程序的事件处理程序禁止中断:有些情况下,尽管产生了中禁止中断:有些情况下,尽管产生了中断源和发出了中断请求,但断源和发出了中断请求,但CPUCPU内部的内部的处理机状态字处理机状态字PSWPSW的中断允许位已被清的中断允许位已被清除,从而不允许除,从而不允许CPUCPU响应中断,这种情响应中断,这种情况称为禁止中断,也称为关中断况称为禁止中断,也称为关中断中断相关概念中断相关概念开中断:开中断:CPUCPU禁止中断后只有等到禁止中断后只有等到PSWP
21、SW的中断允许位被重新设置后才能接收中的中断允许位被重新设置后才能接收中断。断。PSWPSW的中断允许位的设置也被称为的中断允许位的设置也被称为开中断开中断中断屏蔽:指在中断请求产生后,系统中断屏蔽:指在中断请求产生后,系统用软件方式有选择的封锁部分中断而允用软件方式有选择的封锁部分中断而允许其余部分的中断仍能得到响应许其余部分的中断仍能得到响应中断的种类中断的种类外中断:来自处理机和内存外部的中断外中断:来自处理机和内存外部的中断内中断:在处理机和内存内部产生的中内中断:在处理机和内存内部产生的中断,一般分为陷入和异常断,一般分为陷入和异常中断优先级中断优先级 为了按中断源的轻重缓急处理响应
22、为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予不同中断,操作系统对不同的中断赋予不同的优先级。的优先级。各中断源的优先级在系统设计时给各中断源的优先级在系统设计时给定,在系统运行时是固定的。而处理机定,在系统运行时是固定的。而处理机的优先级则根据执行情况由系统程序动的优先级则根据执行情况由系统程序动态设定。态设定。硬中断与软中断硬中断与软中断硬中断:通过硬件产生相应的中断请求硬中断:通过硬件产生相应的中断请求软中断:通信进程之间用来模拟硬中断软中断:通信进程之间用来模拟硬中断的一种信号通信方式的一种信号通信方式硬中断与软中断的区别:中断源发中断硬中断与软中断的区别:中断源发中断请
23、求或软中断信号后,请求或软中断信号后,CPUCPU或接收进程或接收进程在适当的时机自动进行中断处理或完成在适当的时机自动进行中断处理或完成软中断信号所对应的功能软中断信号所对应的功能中断处理过程中断处理过程判断中断响应条件判断中断响应条件关中断关中断保存被中断进程现场保存被中断进程现场分析中断原因分析中断原因调用中断处理子程序调用中断处理子程序执行中断处理子程序执行中断处理子程序退出中断退出中断 恢复现场恢复现场开中断开中断返回中断点返回中断点缓冲的引入缓冲的引入缓和缓和CPUCPU与与I/OI/O设备间速度不匹配的矛设备间速度不匹配的矛盾盾减少对减少对CPUCPU的中断频率的中断频率提高提高
24、CPUCPU与与I/OI/O设备之间的并行性设备之间的并行性缓冲的实现缓冲的实现采用专用的硬件缓冲器,如采用专用的硬件缓冲器,如I/OI/O控制方控制方式中的数据缓冲寄存器。有单缓冲和双式中的数据缓冲寄存器。有单缓冲和双缓冲缓冲软件缓冲:在内存划出一个具有软件缓冲:在内存划出一个具有n n个单个单元的专用缓冲区,以便存放输入输出的元的专用缓冲区,以便存放输入输出的数据。通常使用由多个缓冲区组成的缓数据。通常使用由多个缓冲区组成的缓冲池,系统统一管理冲池,系统统一管理单缓冲单缓冲 在设备和处理机之间设置一个缓冲在设备和处理机之间设置一个缓冲器。设备和处理机交换数据时,先把被器。设备和处理机交换数
25、据时,先把被交换数据写入缓冲器,然后需要数据的交换数据写入缓冲器,然后需要数据的设备或处理机从缓冲器取走数据。设备或处理机从缓冲器取走数据。单缓冲单缓冲用户进程用户进程操作系统操作系统传送传送输入输入I/O设备设备单缓冲双机通信单缓冲双机通信A机机缓冲区缓冲区B机机缓冲区缓冲区单缓冲的特点单缓冲的特点单缓冲能匹配设备和处理机的处理速度单缓冲能匹配设备和处理机的处理速度设备和设备之间不能通过单缓冲达到并设备和设备之间不能通过单缓冲达到并行操作行操作 双缓冲双缓冲用户进程用户进程操作系统操作系统传送传送输入输入I/O设备设备在设备和处理机之间设置两个缓冲器。在设备和处理机之间设置两个缓冲器。双缓冲
26、双机通信双缓冲双机通信A机机发发 送送缓冲区缓冲区接接 收收缓冲区缓冲区B机机发发 送送缓冲区缓冲区接接 收收缓冲区缓冲区双缓冲的特点双缓冲的特点可以实现设备和设备,可以实现设备和设备,CPUCPU和设备之间和设备之间的并行操作的并行操作不能用于实际系统中的并行操作不能用于实际系统中的并行操作 循环缓冲循环缓冲 多缓冲是把多个缓冲区连接起来组多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。多缓冲部分专门用于输出的缓冲结构。多缓冲区被组织成循环缓冲形式。区被组织成循环缓冲形式。循环缓冲循环缓冲传送传送输入输入用户进程用
27、户进程操作系统操作系统I/O设备设备多缓冲区的类型多缓冲区的类型空缓冲区空缓冲区R R:用于存放输入数据:用于存放输入数据已装满数据的缓冲区已装满数据的缓冲区G G:其中数据提供:其中数据提供给计算进程使用给计算进程使用现行工作缓冲区现行工作缓冲区C C:计算进程正在使用:计算进程正在使用的缓冲区的缓冲区 多缓冲区的指针多缓冲区的指针NextgNextg:指示计算进程下一个可用的缓:指示计算进程下一个可用的缓冲区冲区G G;NextiNexti:指示输入进程下次可用的空缓:指示输入进程下次可用的空缓冲区冲区R R;CurrentCurrent:指示计算进程正在使用的缓:指示计算进程正在使用的缓
28、冲区单元。冲区单元。循环缓冲循环缓冲RRGGGG123456RRGGGC123456NextiNextiNextgNextgCurrent缓冲区的使用缓冲区的使用GetbufGetbuf过程过程ReleasebufReleasebuf过程过程 缓冲池缓冲池 循环缓冲区属于专用缓冲,仅适用循环缓冲区属于专用缓冲,仅适用于特定的于特定的I/OI/O进程和计算进程。为提高进程和计算进程。为提高缓冲区的利用率,目前广泛使用公用缓缓冲区的利用率,目前广泛使用公用缓冲池,池中的缓冲区可供多个进程使用。冲池,池中的缓冲区可供多个进程使用。缓冲池的组成缓冲池的组成空缓冲队列空缓冲队列emqemq输入队列输入队
29、列inqinq输出队列输出队列outqoutq 四种工作缓冲区四种工作缓冲区用于收容设备输入数据的工作缓冲区用于收容设备输入数据的工作缓冲区用于提取设备输入数据的工作缓冲区用于提取设备输入数据的工作缓冲区用于收容输出数据的工作缓冲区用于收容输出数据的工作缓冲区用于提取输出数据的工作缓冲区用于提取输出数据的工作缓冲区缓冲区的工作方式缓冲区的工作方式收容输入工作方式收容输入工作方式提取输入工作方式提取输入工作方式收容输出工作方式收容输出工作方式提取输出工作方式提取输出工作方式缓冲区的工作方式缓冲区的工作方式houtsinhinsout用户程序用户程序提取输入提取输入收容输出收容输出收容输入收容输入
30、提取输出提取输出设备分配设备分配 在多道程序环境下,设备不允许用在多道程序环境下,设备不允许用户自行使用,必须由系统分配。为实现户自行使用,必须由系统分配。为实现设备分配,必须在系统中设置相应的数设备分配,必须在系统中设置相应的数据结构。据结构。设备分配中的数据结构设备分配中的数据结构系统设备表系统设备表SDTSDT(System Device TableSystem Device Table)设备控制表设备控制表DCTDCT(Device Control TableDevice Control Table)控制器控制表控制器控制表COCT COCT(COntrolerCOntroler Co
31、ntrol TableControl Table)通道控制表通道控制表CHCT CHCT(CHannelCHannel Control Control TableTable)系统设备系统设备表表SDTSDT表项表项1 1表项表项i i设备类型设备类型设备标识符设备标识符DCTDCT驱动程序入口驱动程序入口设备控制设备控制表表DCTDCTDCT1DCTiDCTn设备类型设备类型设备标识符设备标识符设备状态:忙设备状态:忙/闲闲重复执行次数或时间重复执行次数或时间指向与之相连控制器控制表指针指向与之相连控制器控制表指针设备队列的队首指针设备队列的队首指针控制器控制控制器控制表表COCTCOCT 系
32、统为每一个控制器都设置了一张用于记录系统为每一个控制器都设置了一张用于记录本控制器情况的控制器控制表。本控制器情况的控制器控制表。控制器标识符控制器标识符控制器状态:忙控制器状态:忙/闲闲指向与控制器连接的通道表指针指向与控制器连接的通道表指针控制器队列的队首指针控制器队列的队首指针控制器队列的队尾指针控制器队列的队尾指针通道控制通道控制表表CHCTCHCT通道标识符通道标识符通道状态:忙通道状态:忙/闲闲与与通道连接的控制器表首址通道连接的控制器表首址通道队列的队首指针通道队列的队首指针通道队列的队尾指针通道队列的队尾指针与设备分配相关的因素与设备分配相关的因素设备的固有属性设备的固有属性设
33、备分配算法设备分配算法设备分配的安全性设备分配的安全性设备独立性设备独立性设备的固有属性设备的固有属性独享设备独享设备共享设备共享设备虚拟设备虚拟设备设备分配算法设备分配算法先来先服务先来先服务优先级高者优先优先级高者优先设备分配中的安全性设备分配中的安全性安全分配方式安全分配方式不安全分配方式不安全分配方式设备独立性的概念设备独立性的概念设备独立性也称设备无关性,其基本含设备独立性也称设备无关性,其基本含义是:应用程序独立于具体使用的物理义是:应用程序独立于具体使用的物理设备。设备。为了设备独立性而引入了逻辑设备和物为了设备独立性而引入了逻辑设备和物理设备两个概念。理设备两个概念。在应用程序
34、中,使用逻辑设备名称来请在应用程序中,使用逻辑设备名称来请求使用某类设备;在实际执行时,使用求使用某类设备;在实际执行时,使用物理设备名称。物理设备名称。设备独立性带来的好处设备独立性带来的好处设备分配时的灵活性设备分配时的灵活性易于实现易于实现I/OI/O重定向:在不改变应用程重定向:在不改变应用程序的前提下,更换序的前提下,更换I/OI/O操作的设备操作的设备 设备独立性软件的功能设备独立性软件的功能执行设备的公有操作,包括对独立设备执行设备的公有操作,包括对独立设备的分配和回收;将逻辑设备名映射为物的分配和回收;将逻辑设备名映射为物理设备名;对设备进行保护,禁止用户理设备名;对设备进行保
35、护,禁止用户直接访问设备;缓冲管理;差错控制。直接访问设备;缓冲管理;差错控制。向用户层软件提供统一的接口。向用户层软件提供统一的接口。逻辑设备逻辑设备表表LUTLUT 当进程用逻辑设备名来请求分配当进程用逻辑设备名来请求分配I/O设备时,设备时,系统为它分配物理设备,并在该表中建立一个表系统为它分配物理设备,并在该表中建立一个表项,填上信息。项,填上信息。逻辑设备名逻辑设备名物理设备名物理设备名驱动程序入口地址驱动程序入口地址/dev/print/dev/tty3510242046LUTLUT的设置问题的设置问题整个系统设置一张整个系统设置一张LUTLUT为每个用户设置一张为每个用户设置一张
36、LUTLUT基本设备分配程序基本设备分配程序进程用逻辑设备名请求进程用逻辑设备名请求I/OI/O设备设备分配设备分配设备分配控制器分配控制器分配通道分配通道SPOOLing技术技术 SPOOLing(SimultaneousSPOOLing(Simultaneous PeriphernalPeriphernal Operations On-Line)Operations On-Line)外围设备同时联机外围设备同时联机操作,又称假脱机操作。操作,又称假脱机操作。在多道程序的计算机系统中,用其在多道程序的计算机系统中,用其中的一道程序,来模拟脱机输入时的外中的一道程序,来模拟脱机输入时的外围处理
37、机功能,把低速围处理机功能,把低速I/OI/O设备上的数据设备上的数据传送到高速磁盘上;再用另一道程序来传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围处理机的功能,把模拟脱机输出时外围处理机的功能,把数据从磁盘传送到低速输出设备上。数据从磁盘传送到低速输出设备上。SPOOLing技术技术 这样,便可以在主机的直接控制下,这样,便可以在主机的直接控制下,实现脱机输入输出功能。此时的外围操实现脱机输入输出功能。此时的外围操作和作和CPUCPU对数据的处理同时进行,我们对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操把这种在联机情况下实现的同时外围操作称为作称为SPOOLingSP
38、OOLing。SPOOLingSPOOLing系统的组成系统的组成输入井和输出井输入井和输出井输入缓冲区和输出缓冲区输入缓冲区和输出缓冲区输入进程输入进程SPSPi i和输出进程和输出进程SPSPo o请求打印队列请求打印队列SPOOLingSPOOLing系统的组成系统的组成输入缓冲区输入缓冲区Bi输出缓冲区输出缓冲区Bo输入进程输入进程SPi输出进程输出进程SPo输入设备输入设备输出设备输出设备输入井输入井输出井输出井磁盘磁盘SPOOLingSPOOLing系统的工作过程系统的工作过程存输入存输入存输出存输出取输出取输出作业作业2作业作业3作业作业4取输入取输入读卡机读卡机作业作业5打印机
39、打印机作业作业14352磁盘输入井磁盘输入井3241磁盘输出井磁盘输出井SPOOLingSPOOLing系统举例系统举例输出进程从打印队列上取下一张请求打印表输出进程从打印队列上取下一张请求打印表将要打印的数据从输出井传送到内存缓冲区将要打印的数据从输出井传送到内存缓冲区否否是是SPOOLingSPOOLing系统的特点系统的特点提高了提高了I/OI/O的速度的速度将独占设备改造为共享设备将独占设备改造为共享设备实现了虚拟设备功能实现了虚拟设备功能设备处理设备处理 设备处理程序又称设备驱动程序,设备处理程序又称设备驱动程序,它是它是I/OI/O进程与设备控制器之间的通信进程与设备控制器之间的通
40、信程序,也可称之为设备驱动进程。程序,也可称之为设备驱动进程。其主要任务是接收上层软件发来的其主要任务是接收上层软件发来的抽象要求,将之转换成具体要求后,发抽象要求,将之转换成具体要求后,发送给设备执行;同时,它也将设备控制送给设备执行;同时,它也将设备控制器的信号传送给上层软件。器的信号传送给上层软件。设备驱动程序的功能设备驱动程序的功能将接收的抽象要求转换成具体要求将接收的抽象要求转换成具体要求检查用户检查用户I/OI/O请求的合法性,了解设备请求的合法性,了解设备状态,传递参数,设置设备工作方式状态,传递参数,设置设备工作方式发出发出I/OI/O命令,启动设备,完成指定的命令,启动设备,
41、完成指定的I/OI/O操作操作及时响应中断请求及时响应中断请求对有通道的计算机系统,要根据用户要对有通道的计算机系统,要根据用户要求,自动构建通道程序求,自动构建通道程序设备处理方式设备处理方式为每一类设备设置一个进程,专门执行为每一类设备设置一个进程,专门执行这类设备的这类设备的I/OI/O操作操作在整个系统中设置一个在整个系统中设置一个I/OI/O进程,专门进程,专门负责对系统中所有各类设备的负责对系统中所有各类设备的I/OI/O操作操作不设置专门的设备处理进程,而只为各不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序类设备设置相应的设备处理程序设备驱动程序的特点设备驱动程序
42、的特点驱动程序主要是在请求驱动程序主要是在请求I/OI/O的进程与设的进程与设备控制器之间的一个通信程序备控制器之间的一个通信程序驱动程序与驱动程序与I/OI/O设备的特性紧密相关设备的特性紧密相关驱动程序与驱动程序与I/OI/O控制方式紧密相关控制方式紧密相关由于驱动程序与硬件紧密相关,故有一由于驱动程序与硬件紧密相关,故有一部分程序由汇编语言编写部分程序由汇编语言编写设备驱动程序的处理过程设备驱动程序的处理过程将抽象要求转换为具体要求将抽象要求转换为具体要求检查检查I/OI/O请求的合法性请求的合法性读出和检查设备的状态读出和检查设备的状态传送必要的参数传送必要的参数工作方式的设置工作方式的设置启动启动I/OI/O设备设备