【文档说明】计算机操作系统课件第5章-设备管理-.ppt,共(97)页,1.653 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76779.html
以下为本文档部分文字说明:
设备管理内容提要I/O系统I/O控制方式中断技术缓冲管理设备分配I/O处理过程设备管理对象设备管理的对象是硬件资源中除CPU、存储器之外的所有设备。设备管理的任务选择和分配输入输出设备以便进行数据传输操作控制输入输出设备和CPU(或内存)之间交换数据方便用户使用I/O设备提高设备和设备之间、C
PU和设备之间的并行操作度设备管理的功能设备分配设备处理缓冲管理虚拟设备I/O系统的两大分类微机I/O系统:总线型I/O系统结构主机I/O系统:具有通道的I/O系统结构总线型I/O系统结构CPU存储器磁盘控制器打印机控制器其它控制器…打印机磁盘驱动器系统
总线具有通道的I/O系统结构计算机设备I/O通道1I/O通道2控制器控制器控制器控制器设备I/O设备CPU存储器打印机控制器其他控制器磁盘控制器打印系统其他I/O磁盘驱动器………I/O地址I/O数据I/O控制I/O总线专门的数据线和控制线及状态线按传输速率分类低速
设备:几个~几百字节/秒中速设备:数千~数十千字节/秒高速设备:数百千~数兆字节/秒按信息交换单位分类块设备:特征是传输速率较高,可寻址,磁盘设备的I/O采用DMA方式;字符设备:特征是传输速率低,不可寻址,字符设备在I/O时采用中断驱动方式;按设备共享属性分类独占设备共享设备虚拟设备
I/O设备与设备控制器间的接口转换器缓冲控制逻辑I/O设备数据信号线状态信号线控制信号线数据信号至设备控制器接口信号分类数据信号控制信号状态信号设备控制器设备控制器是CPU与I/O设备之间的接口,它接受CPU的命令,并控制I/O设备工作。它
是一个可编址设备。设备控制器可分为两大类:一类是用于控制字符设备的控制器;另一类是用于控制块设备的控制器。设备控制器的功能接受和识别命令数据交换设备状态的了解和报告地址识别数据缓冲差错控制设备控制器的组成设备控制器与处理机的接口设备控制器与设备的接口I/O逻辑设备控制器的组成数据寄存器控制/
状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制数据线控制线地址线…I/O通道设备的引入在CPU和设备之间增加了设备控制器后,使数据的传送能独立于CPU,但有关对I/O操作的组织、管理及其结
束处理工作仍然由CPU承担。这样当主机所配臵的外设很多时,CPU的负担仍很重。所以在CPU和外设间又增设了通道。I/O通道I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过I/O程序来控制I/O操作;它与一般处理机的区别:(1)指令类型单一;(2)没有内存,通道与CPU共享内存。I/
O通道类型字节多路通道数组选择通道数组多路通道字节多路通道的工作原理控制器AA1A2A3…子通道A控制器BB1B2B3…子通道B控制器CC1C2C3…子通道C控制器NN1N2N3…子通道N控制器A1B1C1…A2B2C2…设备单通路I/O系统设备1设备2设备3设备
4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器瓶颈问题由于通道价格昂贵,致使机器中所设臵的通道数量势必较少,这往往又成为I/O瓶颈,进而造成整个系统吞吐量的降低。多通路I/O系统I
/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备单总线模型CPU存储器磁盘控制器打印机控制器…其它控制器磁盘驱动器打印机系统总线I/O控制方式程序I/O方式中断驱动I/O控制方式DMA
方式通道控制方式程序I/O方式向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向I/O控制器中写字传送完成?CPUI/OI/OCPUI/OCPUCPU内存出错就绪完成,执行下一条
指令未完未就绪中断驱动方式CPU一旦启动设备成功,CPU转去执行另一个程序。当设备完成时,向CPU提出中断请求,CPU执行完当前一条指令,就响应中断,转去执行中断处理程序。从而使CPU可与设备并行操作。中断驱动方式CPU与I/O设
备并行操作CPU向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字CPU可做其它事了I/OCPU出错就绪I/OCPUCPU内存传送完成检查状态是,检查是否还有传输操作未完数据进入数据寄存器,发中断从外部设备读取一块数据到存储
器,每次读一个字的数据中断处理DMA方式数据缓冲寄存器DR内存地址寄存器MAR数据计数器DC命令/状态寄存器CR……命令系统总线DMA控制器内存主机—控制器接口CPU数据块缓冲区磁盘DMA方式的特征数据传输基本单位是数据块在DMA控制器的控制下,设备
直接与内存交换数据仅在开始和结束时才需CPU干预DMA控制器的组成命令/状态寄存器CR内存地址寄存器MAR数据寄存器DR数据计数器DCDMA控制器的组成countI/O控制逻辑DRMARDCCR命令CPU内存主机-控制器接口控制器与块设备接口系统总线DMA控制器…DMA工作过
程首先,控制器控制磁盘驱动器串行地一位一位地读,在数据缓冲寄存器中组装成字节,直到将整块信息放入控制器的内部缓冲区中其次,它计算检查和,以核实没有读错误发生然后控制器将从缓冲区中一次一个字节或一个字地读数据送主存贮器中,直到一块读完产生一个中断。等待CPU响应中断DMA工作过程DMA
控制磁盘驱动器进行读数据,并将读的位组成字节挪用CPU工作周期传送数据字存储器地址增1数据计数器减1DC=0?请求中断NY每当把磁盘一个数据字读入数据寄存器,DMA控制器取代CPU接管地址总线的控制权。使CPU访问总线时速度会变慢。DMA控制下的CPU工作方式CPU向DMA控制器发读块命
令(设置MAR和DC初值),启动DMA进行传送,启动成功,CPU转去做其它事CPU执行磁盘的中断处理程序:检查DMA控制器的状态,唤醒等待进程等下条指令磁盘完成中断通道I/O控制方式与DMA方式相比,通道所需的CPU干预更少,且可以做到一个通道控制多
个控制器,每个控制器可以控制多个设备,进一步减轻了CPU的负担。通道、CPU及I/O设备并行工作主存I/O通道1I/O通道2控制器控制器控制器控制器设备设备CPU通道I/O控制工作过程CPU向I/O通道发出一条I/O指令,给出所要执行的通道程
序的首地址和要访问的I/O设备。通道接到CPU发来的指令后,通过执行通道程序,控制指定设备完成CPU指定的I/O任务。控制通道的命令启动I/O指令:CPU执行启动I/O指令启动通道开始执行。在这种指令中,通常含有通道号、设备
号和通道程序在主存的起始地址。测试I/O指令:CPU在执行过程中可根据需要使用该指令测试通道及外设的状态。停止I/O指令:强行结束通道和外设的当前工作。通道指令格式:操作码、主存地址、程序连接标志和记录连接标志通道I/O控制方式操作PR计数内存地址WRITEWRITEWRITEWRITEWRI
TEWRITE00000000111180B1406030025025081310345830200018507208138921034117358305889这三块内容写成一个记录写成另一个记录一个新记录最后一条通道
指令[例]通道程序举例:中断中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。中断相关概念中断源:引起中断发生的事件中断请求:中断源向CPU发出
的请求中断处理信号中断响应:CPU收到中断请求后转相应的事件处理程序禁止中断:有些情况下,尽管产生了中断源和发出了中断请求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断,这种情况称为禁止中
断,也称为关中断中断相关概念开中断:CPU禁止中断后只有等到PSW的中断允许位被重新设臵后才能接收中断。PSW的中断允许位的设臵也被称为开中断中断屏蔽:指在中断请求产生后,系统用软件方式有选择的封锁部分中断而允许其余部分的中断仍能得到响应中断的种类外中断:来自处理机和内存外部的中断内中断
:在处理机和内存内部产生的中断,一般分为陷入和异常中断优先级为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予不同的优先级。各中断源的优先级在系统设计时给定,在系统运行时是固定的。而处理机的优先级则根据执行情况由系统程序动态设定。硬中断与软中断硬中断:通
过硬件产生相应的中断请求软中断:通信进程之间用来模拟硬中断的一种信号通信方式硬中断与软中断的区别:中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能中断处理过程判断
中断响应条件关中断保存被中断进程现场分析中断原因调用中断处理子程序执行中断处理子程序退出中断恢复现场开中断返回中断点缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率提高CPU与I/O设备之间的
并行性缓冲的实现采用专用的硬件缓冲器,如I/O控制方式中的数据缓冲寄存器。有单缓冲和双缓冲软件缓冲:在内存划出一个具有n个单元的专用缓冲区,以便存放输入输出的数据。通常使用由多个缓冲区组成的缓冲池,系统统一管理单缓冲在设备和处理机之间设臵一个缓冲器。设备和处理机交换数据时,先把被交换
数据写入缓冲器,然后需要数据的设备或处理机从缓冲器取走数据。单缓冲用户进程操作系统传送输入I/O设备单缓冲双机通信A机缓冲区B机缓冲区单缓冲的特点单缓冲能匹配设备和处理机的处理速度设备和设备之间不能通过单缓冲达到并行操作双缓冲用户进程操作系统传送输入I/O设备在设备和处理机之间设臵
两个缓冲器。双缓冲双机通信A机发送缓冲区接收缓冲区B机发送缓冲区接收缓冲区双缓冲的特点可以实现设备和设备,CPU和设备之间的并行操作不能用于实际系统中的并行操作循环缓冲多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。多缓冲区被组织成循环缓冲形式。循
环缓冲传送输入用户进程操作系统I/O设备多缓冲区的类型空缓冲区R:用于存放输入数据已装满数据的缓冲区G:其中数据提供给计算进程使用现行工作缓冲区C:计算进程正在使用的缓冲区多缓冲区的指针Nextg:指示计算进程下一个可用的缓冲区G;Nexti:指示输入
进程下次可用的空缓冲区R;Current:指示计算进程正在使用的缓冲区单元。循环缓冲RRGGGG123456RRGGGC123456NextiNextiNextgNextgCurrent缓冲区的使用Getbuf过程Re
leasebuf过程缓冲池循环缓冲区属于专用缓冲,仅适用于特定的I/O进程和计算进程。为提高缓冲区的利用率,目前广泛使用公用缓冲池,池中的缓冲区可供多个进程使用。缓冲池的组成空缓冲队列emq输入队列inq输出队列outq四种工作缓冲区用于收容设备输入数据的工作缓冲区用于提取设备输入数据的
工作缓冲区用于收容输出数据的工作缓冲区用于提取输出数据的工作缓冲区缓冲区的工作方式收容输入工作方式提取输入工作方式收容输出工作方式提取输出工作方式缓冲区的工作方式houtsinhinsout用户程序提取输入收容输出收容输入提取输出设备分配在多道程序环境下,设备不允许用户自行使用
,必须由系统分配。为实现设备分配,必须在系统中设臵相应的数据结构。设备分配中的数据结构系统设备表SDT(SystemDeviceTable)设备控制表DCT(DeviceControlTable)控制器控制表COCT(COntrolerControl
Table)通道控制表CHCT(CHannelControlTable)系统设备表SDT表项1表项i……设备类型设备标识符DCT驱动程序入口SDT是系统范围的数据结构,记录了系统中全部的设备情况。每个设备占一个表项。设备控制表DCT系统为每一个设备配臵一张表,用于记录该
设备的情况。DCT1DCTiDCTn设备类型设备标识符设备状态:忙/闲重复执行次数或时间指向与之相连控制器控制表指针设备队列的队首指针控制器控制表COCT系统为每一个控制器都设臵了一张用于记录本控制器情况的控制器控制表。控制器标识符控制器状态:忙/闲
指向与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道控制表CHCT通道标识符通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针与设备分配相关的因素设备的固有属性设备分配算法设备分配
的安全性设备独立性设备的固有属性独享设备共享设备虚拟设备设备分配算法先来先服务优先级高者优先设备分配中的安全性安全分配方式不安全分配方式设备独立性的概念设备独立性也称设备无关性,其基本含义是:应用程序独立于
具体使用的物理设备。为了设备独立性而引入了逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;在实际执行时,使用物理设备名称。设备独立性带来的好处设备分配时的灵活性易于实现I/O重定向:在不改变应用程序的前提
下,更换I/O操作的设备设备独立性软件的功能执行设备的公有操作,包括对独立设备的分配和回收;将逻辑设备名映射为物理设备名;对设备进行保护,禁止用户直接访问设备;缓冲管理;差错控制。向用户层软件提供统一的接
口。逻辑设备表LUT当进程用逻辑设备名来请求分配I/O设备时,系统为它分配物理设备,并在该表中建立一个表项,填上信息。逻辑设备名物理设备名驱动程序入口地址/dev/print/dev/tty3510242046……
…LUT的设臵问题整个系统设臵一张LUT为每个用户设臵一张LUT基本设备分配程序进程用逻辑设备名请求I/O设备分配设备分配控制器分配通道SPOOLing技术SPOOLing(SimultaneousPeriphernalOpe
rationsOn-Line)外围设备同时联机操作,又称假脱机操作。在多道程序的计算机系统中,用其中的一道程序,来模拟脱机输入时的外围处理机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围处理机的功能,把数据从磁盘传送到低速输出设备上
。SPOOLing技术这样,便可以在主机的直接控制下,实现脱机输入输出功能。此时的外围操作和CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing。SPOOLing系统的组成输入井和输出井输入缓冲区和输出缓冲区输入进程SPi和输出进程SP
o请求打印队列SPOOLing系统的组成输入缓冲区Bi输出缓冲区Bo输入进程SPi输出进程SPo输入设备输出设备输入井输出井磁盘SPOOLing系统的工作过程存输入存输出取输出作业2作业3作业4取输入读卡机作业5
打印机作业14352磁盘输入井3241磁盘输出井SPOOLing系统举例用户进程请求打印输出SPOOLing系统中的输出进程在输出井中为用户进程申请一块空闲磁盘块区申请用户请求打印表,将用户的打印请求填入表中将请求表
插入请求打印队列上打印机空闲?打印队列空?输出进程阻塞输出进程从打印队列上取下一张请求打印表将要打印的数据从输出井传送到内存缓冲区打印打印完成?等待队列是否否是是否SPOOLing系统的特点提高了I/O的速度将独占设备改造为共享设备实现了虚拟设备
功能设备处理设备处理程序又称设备驱动程序,它是I/O进程与设备控制器之间的通信程序,也可称之为设备驱动进程。其主要任务是接收上层软件发来的抽象要求,将之转换成具体要求后,发送给设备执行;同时,它也将设备控制器
的信号传送给上层软件。设备驱动程序的功能将接收的抽象要求转换成具体要求检查用户I/O请求的合法性,了解设备状态,传递参数,设臵设备工作方式发出I/O命令,启动设备,完成指定的I/O操作及时响应中断请求对有通道的计算机系统,要根据用户要求,自动构建通道程序设备处理方式为每一类
设备设臵一个进程,专门执行这类设备的I/O操作在整个系统中设臵一个I/O进程,专门负责对系统中所有各类设备的I/O操作不设臵专门的设备处理进程,而只为各类设备设臵相应的设备处理程序设备驱动程序的特点驱动程序主要是在请求I/O的进程与设备控制
器之间的一个通信程序驱动程序与I/O设备的特性紧密相关驱动程序与I/O控制方式紧密相关由于驱动程序与硬件紧密相关,故有一部分程序由汇编语言编写设备驱动程序的处理过程将抽象要求转换为具体要求检查I/O请求的合法性读出和检
查设备的状态传送必要的参数工作方式的设臵启动I/O设备