您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 操作系统教程(第3版)
操作系统教程(第3版)第五章设备管理面向21世纪课程教材高等教育出版社2003年8月第五章设备管理(1)5.1I/O硬件原理5.2I/O软件原理5.3具有通道的I/O系统管理5.4缓冲技术5.5驱动调度技术CH5设备管理(2)5.6设备分配5.7虚拟设备5.8实例研究:Windows2000/XP的设备管理5.9实例研究:Linux的设备管理设备管理具有以下功能•外围设备中断处理•缓冲区管理•外围设备的分配•外围设备驱动调度•虚拟设备及其实现5.1I/O硬件原理5.1.1I/O系统5.1.2I/O控制方式5.1.3设备控制器5.1.1I/O系统(1)•I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件的总称。•I/O操作:计算机的主存和外围设备的介质之间的信息传送操作。•按照I/O特性,I/O设备可以划分为I/O型和存储型外围设备三类。•按照I/O信息交换的单位,I/O设备可分为字符设备和块设备。•输入型外围设备和输出型外围设备一般为字符设备,与内存进行信息交换的单位是字节。存储型外围设备一般为块设备。I/O系统(2)I/O系统(3)•存储型外围设备可以划分为顺序存取存储设备和直接存取存储设备。•顺序存取存储设备严格依赖信息的物理位置进行定位和读写,如磁带。•直接存取存储设备的重要特性是存取任何一个物理块所需的事件几乎不依赖于此信息的位置,如磁盘。设备的物理特性差异•数据传输率•数据表示方式•传输单位•出错条件5.1.2I/O控制方式•按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,对I/O设备的控制方式分类,•主要差别在于:中央处理器和外围设备并行工作的方式不同,并行工作的程度不同。•四种I/O方式:(1)询问方式(2)中断方式(3)DMA方式(4)通道方式设置计数值设置内存缓冲首址启动外设就绪传送一个字修改内存地址修改计数值完是是结束I/O1询问方式2中断方式返回断点CPU读I/O状态有错出错处理无正常结束处理I/O中断处理程序启动I/O(读操作)继续执行第K条指令第K+1条指令现行程序启动命令返回源程序I/O控制器工作I/O设备就绪发I/O中断响应中断程序中断方式I/O传输数据3DMA方式(1)•如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器存取DMA方式。DMA方式需以下设施:(1)主存地址寄存器(2)字计数器(3)数据缓冲寄存器或数据缓冲区(4)设备地址寄存器(5)中断机制和控制逻辑I/O中断处理程序处理DMAI/O结束中断现行程序启动I/O(读操作)继续执行第K条指令第K+1条指令启动命令返回原程序响应中断返回断点DMA工作传输准备DMA向内存发出询问挪用内存周期读/写操作修改内存地址和计数块结束发I/O结束未DMA方式(2)4通道方式•为获得CPU和外围设备间更高的并行工作能力,也为了让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。•采用通道后的I/O操作过程CPU在执行主程序时遇到I/O请求,它启动指定通道上选址的外围设备,一旦启动成功,通道开始控制外围设备进行操作。CPU就可执行其他任务并与通道并行工作,直到I/O操作完成。通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。5.1.3设备控制器•什么是控制器•引入控制器的原因•控制器的功能•设备控制器组成部分设备控制器功能和结构小结•设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输•设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址•设备控制器主要功能:①接收和识别CPU或通道发来的命令②实现数据交换,包括设备和控制器间的数据传输③发现和记录设备及自身的状态信息,供CPU处理④设备地址识别•设备控制器组成部分:命令寄存器及译码器,数据寄存器,状态寄存器,地址译码器.5.2I/O软件原理5.2.1I/O软件的设计目标和原则5.2.2I/O中断处理程序5.2.3设备驱动程序5.2.4与硬件无关的操作系统I/O软件5.2.5用户空间的I/O软件5.2.1I/O软件的设计目标和原则I/O软件总体设计目标:•高效率。•通用性。I/O软件总体设计要考虑的问题:•设备无关性。•出错处理。•同步(阻塞)—异步(中断驱动)传输。•独占性外围设备和共享性外围设备。I/O软件组织成四个层次•I/O中断处理程序。•设备驱动程序。•与设备无关的操作系统I/O软件。•用户层I/O软件。5.2.2I/O中断处理程序I/O中断的类型和功能•通知用户程序I/O操作沿链推进程度•通知用户程序I/O操作正常结束•通知用户程序发现的I/O操作异常•通知程序外围设备上重要的异步信号I/O中断的处理原则•操作正常结束处理•操作发生故障或特殊事件的中断处理•人为要求而产生的中断处理•外围设备的异步信号处理5.2.3设备驱动程序•设备驱动程序包括与设备相关的代码,它的工作是:把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。•设备驱动程序从与设备无关的软件中接收抽象的I/O请求,一条典型的请求是读第n块。•如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。5.2.4与硬件无关的操作系统I/O软件(1)设备无关软件完成的功能:•对设备驱动程序的统一接口•设备命名•设备保护•提供独立于设备的块大小•缓冲区管理•块设备的存储分配•独占性外围设备的分配和释放•错误报告与硬件无关的操作系统I/O软件(2)•文件和I/O设备的命名方式•如何保护对设备的未授权访问•屏蔽不同磁盘扇区大小并向高层软件提供统一大小的逻辑块•块设备和字符设备需要缓冲技术•错误处理多数由驱动程序完成5.2.5用户空间的I/O软件•库例程实现的I/O系统调用I/O系统调用通常先是库例程调用•非库例程实现的I/O系统调用spooling系统I/O系统各层软件及其功能用户进程进行I/O调用;格式化I/O;SPOOLING设备无关软件命名;保护;阻塞;缓冲;分配设备驱动程序建立设备寄存器;检查状态硬件执行I/O操作中断处理程序当I/O结束时,唤醒驱动程序层次I/O应答I/O功能I/O请求5.3具有通道的I/O系统管理(1)5.3.1通道命令和通道程序5.3.2I/O指令和主机I/O程序5.3.3通道启动和I/O操作过程具有通道的I/O系统管理(2)•具有通道的计算机系统,I/O程序设计涉及:CPU执行I/O指令,通道执行通道命令,以及CPU和通道之间的通信。5.3.1通道命令和通道程序(1)通道命令•通道,具有自己的指令系统,它的指令常称通道命令。•通道命令CCW是通道从主存取出并控制I/O设备执行I/O操作的命令字,用ccw编写的程序称通道程序,通道程序由多条通道命令组成,每次启动可以完成复杂的I/O控制。通道命令和通道程序(2)IBM370系统的通道命令•命令码•数据主存地址•标志码•传送字节个数命令码数据主存地址标志码传送字节个数汇编格式通道程序例子•CCWX’02’,inarea,X’40’,80•CCWX’02’,*,X’50’,80•CCWX’02’,inarea+80,X’40’,80•CCWX’02’,*,X’50’,80•CCWX’02’,inarea+160,X’00’,80•..•inareaDSCL240通道地址字和通道状态字(1)通道方式I/O时,要使用两个固定存储单元:•通道地址字CAW(ChannelAddressWord)•通道状态字CSW(ChannelStatusWord)。5.3.2I/O指令和主机I/O程序(1)IBM系统主机提供一组完成I/O操作的I/O指令。•I/O指令有:启动I/O(StartI/O,SIO)查询I/O(TestI/O,TIO)查询通道(TestChannel,TCH)停止I/O(HaltI/O,HIO)停止设备(HaltDevice,HDV)•SIOX’00E’I/O指令和主机I/O程序(2)执行一次I/O操作的步骤•确定I/O任务,了解使用何种设备,属于哪个通道,操作方法如何等。•确定算法,决定例外情况处理方法。•编写通道程序,完成相应I/O操作。•编写主机I/O程序,对不同条件码进行不同处理。I/O指令和主机I/O程序(3)采用双缓冲把磁带上的记录在打印机上输出。•START•BALR11,0•USING*,11•SSM=X’00’/*开中断*/•LA8,READ0•ST8,CAW•SIOX’0182’/*启动磁带机反绕*/•BC7,*-4/*循环直到启动*/•TIOX’0182’•BC7,*-4/*测试直到磁带完成反绕*/•LOOPLA8,READ1•ST8,CAW•SIOX’0182’/*启动磁带读入缓冲1*/•BC7,*-4•TIOX’0182’•BC7,*-4/*测试直到磁带完成*/•LA8,PRINT1•I/O指令和主机I/O程序(4)•ST8,CAW•TIOX’00E’•BC7,*-4/*测试直到缓冲2打印完*/•SIOX’00E’/*启动行印机印缓冲1的内容*/•LA8,READ2•ST8,CAW•SIOX’0182’/*启动磁带读入缓冲2*/•BC7,*-4•TIOX’0182’•BC7,*-4/*测试直到磁带完成*/•LA8,PRINT2•ST8,CAW•TIOX’00E’/*查询行印机*/•BC7,*-4/*测试直到缓冲1打印完*/•SIOX’00E’/*启动行印机印缓冲1的内容*/•BLOOPREAD0CCWX’07’,*,X’20’,1READ1CCWX’02’,BUFFER1,X’00’,512READ2CCWX’02’,BUFFER2,X’00’,512PRINT1CCWX’01’,BUFFER1,X’A0’,120CCWX’01’,BUFFER1+120,X’A0’,120CCWX’01’,BUFFER1+240,X’A0’,120CCWX’01’,BUFFER1+360,X’A0’,120CCWX’09’,BUFFER1+480,X’00’,32I/O指令和主机I/O程序(5)PRINT2CCWX’01’,BUFFER2,X’A0’,120CCWX’01’,BUFFER2+120,X’A0’,120CCWX’01’,BUFFER2+240,X’A0’,120CCWX’01’,BUFFER2+360,X’A0’,120CCWX’09’,BUFFER2+480,X’00’,32BUFFER1DSCL512BUFFER2DSCL512CAWEQU72END注:书上的这个通道程序作了简化。I/O指令和主机I/O程序(5)5.3.3通道启动和I/O操作过程•CPU是主设备,通道是从设备,CPU和设备之间是主从关系,需要相互配合协调才能完成I/O操作。•那么CPU如何通知通道做什么?通道又如何告知CPU其状态和工作情况呢?通道方式I/O过程三个阶段lI/O启动阶段2I/O操作阶段3I/O结束阶段中央处理器用户程序操作系统保护进程j现场组织CCWCCW首址送CAW发SIO分析条件码出错进行处理启动成功进程j等待选进程K运行保护进程K现场分析中断文件处理I/O中断选择进程运行判断状态形成条件码执行CCW控制设备操作记录操作状态到CSW产生中断事件CSW存入主存通道号、设备号存入主存特定单元发I/O中断执行规定I/O操作控制器和设备结束中断通道I/O控制器和设备请求I/O进程j进程k进程j或k通道方式I/O5.4缓冲技术5.4.1单缓冲5.4.2双缓冲5.4.3多缓冲5.4缓冲技术(1)引入缓冲技术的目的•改善中央处理器与外围设备之间速度不配的矛盾,•协调逻辑记录大小与物理记录大小不一致,•提高CPU和I/O设备的并行性。缓冲技术(2)缓冲技术实现基本思想•进程执行写操作输出数据时,向系统申请一个
本文标题:操作系统教程(第3版)
链接地址:https://www.777doc.com/doc-3874786 .html