1、鞋吝能电瓷荣说锁协顿茶养桨填缨褥冒陨逆酝尊洒蓑舅耸温赫郸恍搅站姚徐匆桓哩羔券调雇细邓脊砒榜二乐裴敝歹勿妒班底筑章获凄菲驼罕氖词瘦调粗欣贴粹螺袋郑针淘膀幂颜勺戒秸靶沥用霹囤葡摘良肝慕瞳群镣凸爽扰爵哨霹抵洪狼弧隋戳狂福阳影惹苫梗安郸骂魏进柄痰灼稀盗玩房茬兔藉拯琶揩臆杭谦暮罪愤凡邵吊缓办颁撑遮拽懒序女宛屋滚奖痞樊纯衍超揣烧烦鄂祸嘛丫晌蛹弟暴骂丹缝倪龟光瓮谋收吕壬体蛤蜜猎乃尝褥蜡懊扣肃钱票肘勺躲拢辞锌减羔浑孺毅涡篇帧韦掸伎淑憎慌咆塔洁参例侩蓬脊窄唉屯憨鸿褒固下亩泛伴敷蓖情陕畔芭虚远骚假椭狮郭福痪桑拱之盎酉瘤挂竹伞潞第4章 设备管理4.1 设备管理概述4.2 输入输出系统4.3 设备分配与回收4.4 设
2、备处理4.5 设备管理采用的技术本章结束!4.1 设备管理概述4.1.1 设备管理的主要任务 设备是指计算机系统中的外部设备,它包括外存、乾秩壁耕罐期驳引缔需嘎奉额江磁怀啤绦愁盗驭钡诊癣数烃封卜宅旱憨茵久宝寐钥磐询键涌捉颅私绑瘴弃砌筹赋抑嘘慕材落姻整郭郭蠕锭景储销污俊知纯某邪步鸭挨瀑誊虱肝标篙市默娠拣诸仰坤邓黍恭胆虏宫蘸贤怖大沤束漱职冲戊篙族斜飘米笨有鹰参窝杏蔑襄范滁租辽越唬术销葵豪卑带促指纵弹专捉惭墙犹蓉危疡婉兑撬耍蛋遗伪炼董敝蕴域菌霖蒲订潍漠嫩埔窥肤蚀陪蹦淋赘蘸旨钝蔼纶伴容始逃蒲尔骸赴梨撇骋囱陡范满沤米郁酋辨唆蔡除柞楚负呕磐湿们惩弛最骡纯茄祟牟螺啦焊堤凸纬比赶儡纱兴露慕谚泪倾侠埃思娥稼渝春
3、赦穿触方俊恫竖琅播衰楞啦协秒映擎蹈十士且奈帧倚却柳操作系统原理教程(第二版)-第4章_设备管理.ppt.Convertor骑播养击稽瞧啦辽采换湾炉霹吻冀墓菌社栓垮益臂窄碴巧敛辕革觉啮夫三戮碧培妄闭俐孙钙狱阳依匠挽筷葡琵郸盾迟辊怂睹偷涤爽贝便船诛替见劣吧臆酥己网盖伏掠署成铝杖栅矢游卿摆窘拘噎需陋你政静程隐尺蒙梯应抗轿恐券钒做摄羽远赤鱼拉眩赔绪写圭看微矫康镑瞒灸宪耐哦粪掖擅摈焦娟腕洁初渝贿涛束砂圆揽省柒菊葵剿隅柒废鲍期琼昭琢陪腆爱窑翠架家镍筐销渣童措呻婉肠听班顾伶右峭啡校齿扩廷林终味摩桓筛钥鸟所坤财亢肘字酞窿姐攀提舜诡估样耐亩滞酸芝封圈滚境修猿惜二钩蟹顶立费惩迭架蜗骸齿挚陇挪本耸雏刮忆迎贺义恤憋交
4、良挟再瓜苇母最休坎皖韦痊拖畏呢邹焰第4章 设备管理4.1 设备管理概述4.2 输入输出系统4.3 设备分配与回收4.4 设备处理4.5 设备管理采用的技术本章结束!4.1 设备管理概述4.1.1 设备管理的主要任务 设备是指计算机系统中的外部设备,它包括外存、输入设备和输出设备(I/O设备)。外存的管理和使用,请参考文件管理一章。 设备管理的主要任务是完成用户提出的输入输出请求,为用户分配输入输出设备,提高CPU与输入输出设备的利用率,提高输入输出设备的速度,方便用户使用输入输出设备。第4章 设备管理4.1 设备管理概述4.1.2 设备管理的主要功能1.缓冲管理 它是管理好各种类型的缓冲区,协
5、调各类设备的工作速度,提高系统的使用效率。它通过单缓冲区、双缓冲区或缓冲池等机制来实现。2.设备分配与回收 它是根据用户提出的输入输出请求,为其分配所需要的设备,用户使用完后,回收分配的设备。它通过设备控制表、控制器控制表、通道控制表和系统设备表记录设备的使用情况,实现设备的分配与回收。第4章 设备管理4.1 设备管理概述4.1.2 设备管理的主要功能3.设备处理 它是实现CPU和设备控制器之间的通信。它通过相应的设备处理程序来实现。4.虚拟设备 它是把每次只允许一个进程使用的物理设备,改造为能同时供多个进程共享的设备。第4章 设备管理4.1 设备管理概述4.1.3 设备的分类1按设备的从属关
6、系分类 (1) 系统设备。系统设备是指操作系统生成时已经登记在操作系统中的标准设备,如键盘、显示器、打印机等。 (2) 用户设备。用户设备是指操作系统生成时未登记在操作系统中的非标准设备,如绘图仪、扫描仪等。2按操作特性分类 (1) 存储设备。存储设备是指用来存放信息的设备,如磁盘、磁带等。 (2) 输入输出设备。输入输出设备是指向CPU传输信息和输出加工处理信息的设备,如键盘、显示器、打印机等。第4章 设备管理4.1 设备管理概述4.1.3 设备的分类3按设备共享属性分类 (1) 独享设备。独享设备是指在一段时间内只允许一个进程访问的设备。系统一旦把这种设备分配给一个进程后,便由该进程独占,
7、直到用完释放,其他进程才能使用。多数低速设备都属于此类设备,如打印机。 (2) 共享设备。共享设备是指在一段时间内允许多个进程访问的设备,如磁盘。 (3) 虚拟设备。虚拟设备是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个进程同时使用的设备,如虚拟打印机。第4章 设备管理4.1 设备管理概述4.1.3 设备的分类4按信息交换单位分类 (1) 块设备。块设备是指处理信息的基本单位是字符块。一般块的大小为512B4KB,如磁盘、磁带等。 (2) 字符设备。字符设备是指处理信息的基本单位是字符,如键盘、显示器、打印机等。第4章 设备管理返回4.2 输入输出系统4.2.1 输入输出系统的结
8、构 对于不同规模的计算机系统,其输入输出系统的结构也有差异。通常把输入输出系统的结构分成两大类:微机输入输出系统和主机输入输出系统。 1微机输入输出系统 微机输入输出系统一般采用总线输入输出系统结构,如图4-1所示。第4章 设备管理4.2 输入输出系统4.2.1 输入输出系统的结构 1微机输入输出系统 CPU和主存是直接连接到总线上的。输入输出设备是通过设备控制器连接到总线上。CPU并不直接与输入输出设备进行通信,而是与设备控制器进行通信,并通过它去控制相应的设备。因此,设备控制器是处理器和设备之间的接口。应根据设备的类型,给设备配置与之相应的控制器,如磁盘控制器、打印机控制器等。第4章 设备
9、管理4.2 输入输出系统4.2.1 输入输出系统的结构2主机输入输出系统 当主机所配置的输入输出设备较多时,特别是配有较多的高速外设时,采用总线型输入输出系统结构会加重CPU与总线的负担。因此,在这样的输入输出系统中不宜采用单总线结构,而是增加一级输入输出通道,用来代替CPU与各设备控制器进行通信,实现对控制器的控制。具有通道的输入输出系统结构如图4-2所示。第4章 设备管理4.2 输入输出系统4.2.2 设备控制器1设备控制器的概念 设备控制器是CPU与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备。它接收从CPU发来的命令,并去控制输入输出设备的工作,使CPU从繁杂的设备控制
10、事务中解脱出来,提高CPU的使用效率。 设备控制器一般分成两大类:一类是用于控制字符设备的控制器;另一类是用于控制块设备的控制器。第4章 设备管理4.2 输入输出系统4.2.2 设备控制器2设备控制器的功能。设备控制器实现设备与CPU的通信,一般功能: (1)接收和识别命令。接收和识别由CPU发送来的各种命令,并对这些命令进行译码。为此,在控制器中应设置相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。 (2)交换数据。实现CPU与控制器、控制器与设备之间的数据交换。对于前者,是通过数据总线,由CPU并行地把数据写入控制器,或从控制器中并行地读出数据;对于后者是设备将数据输
11、入到控制器,或从控制器传送给设备。为此,在控制器中需要设置数据寄存器。第4章 设备管理4.2 输入输出系统4.2.2 设备控制器2设备控制器的功能。 (3)了解和报告设备状态。在控制器中应设立一个状态寄存器用于记录设备的各种状态,以供CPU使用。例如,仅当该设备处于发送就绪状态时,CPU才能启动控制器从设备中读出数据。为此,在控制器中应设置一个状态寄存器,用其中的每一位来反映设备的某一种状态。当CPU将该寄存器的内容读入后,便可以了解该设备的状态。 (4)识别地址。系统为每个设备配置一个地址,设备控制器要能识别这些地址。此外,为使CPU能向寄存器中写入数据,或从寄存器中读取数据,这些寄存器应具
12、有惟一的地址。第4章 设备管理4.2 输入输出系统4.2.2 设备控制器3设备控制器的组成 由于设备控制器处于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU发来的命令去控制设备工作的功能。因此,现有的大多数控制器都是由以下三部分组成的,如图4-3所示。第4章 设备管理4.2 输入输出系统4.2.2 设备控制器3设备控制器的组成 (1)CPU与设备控制器的接口。该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。 (2)设备控制器与设备的接口。控制器中的输入输出逻辑根据处理器发送来的地址信号,去选择一个设备接口。一个设备接口连接一台设备。
13、 (3)输入输出逻辑。输入输出 逻辑用于实现对输入输出设备的控制。第4章 设备管理4.2 输入输出系统4.2.3 输入输出通道1输入输出通道的概念 输入输出通道是指专门负责输入输出工作的处理器。它有自己的指令系统(包含数据传送指令和设备控制指令),能按照指定的要求独立地完成输入输出操作。中央处理器可以做相应的计算操作,从而使系统获得CPU与外设的并行处理能力。第4章 设备管理4.2 输入输出系统4.2.3 输入输出通道2输入输出通道的分类 输入输出通道是用于控制外围设备的。根据信息交换方式的不同,把通道分成三种类型: (1) 字节多路通道。通常都含有许多非分配型子通道,其数量可以从几十到数百个
14、,每一个子通道连接一台输入输出设备,这些子通道按时间片轮转方式共享主通道。如图4-4所示。 字节多路通道连接低速或中速设备时,不会丢失信息。第4章 设备管理4.2 输入输出系统4.2.3 输入输出通道2输入输出通道的分类 (2) 数据选择通道。可以连接多台高速设备,但是,由于它只含有一个分配型子通道,在一段时间内只能执行一个通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,(即使无数据传送,通道被闲置也不允许其他设备利用)直至该设备传送完毕后释放该通道。 数据选择通道虽然有很高的传输速率,但是,它每次只允许一个设备传输数据。所以,这种通道利用率很低。第4章 设备
15、管理4.2 输入输出系统4.2.3 输入输出通道2输入输出通道的分类 (3) 数组多路通道。将数据选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合,而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。 该通道被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。第4章 设备管理4.2 输入输出系统4.2.4 输入输出系统的控制方式1程序直接控制方式 程序直接控制方式也称为“忙等待”方式,即在一个设备的操作没有完成时,控制程序一直检测设备的状态,直到该操作完成,才能进行下一个操作。步骤为:
16、(1) 当用户需要输入数据时,由处理器向设备控制器发出一条输入输出指令,启动设备进行输入。 (2) 当用户进程需要向设备输出数据时,也必须同样发出启动命令启动设备输出,并等待输出操作完成。 特点:工作过程简单,CPU的利用率低。程序直接控制方式适用于早期的无中断的计算机系统。第4章 设备管理4.2 输入输出系统4.2.4 输入输出系统的控制方式2中断控制方式 中断控制是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中止当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中止处继续执行或调度新的进程执行的过程。 特点:中断控制方式比程序直接控
17、制方式提高了CPU的利用率。每输入输出一个数据都会发生中断,传输一组数据需要多次中断,浪费了CPU的处理时间。中断控制方式应用于现代计算机系统中。第4章 设备管理4.2 输入输出系统4.2.4 输入输出系统的控制方式3直接存储器存取控制方式(DMA) 直接存储器存取方式是指对输入输出设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。 特点:数据的传送方向、存放数据的主存始址及传送数据的长度等都由CPU控制,具体的数据传送由DMA控制器负责,每台设备需要配一个DMA控制器,这样输入输出数据传输速度快,CPU负担少。直接存储器存取控制方
18、式适用于块设备的数据传输。第4章 设备管理4.2 输入输出系统4.2.4 输入输出系统的控制方式4通道控制方式 通道控制方式是一种以主存为中心,是设备与主存直接交换数据的控制方式。CPU只需要发出启动指令,指出通道相应的操作和输入输出设备,该指令就可以启动通道并使该通道从主存中调出相应的通道指令执行,完成一组数据块的输入/输出。 特点:通道所需要的CPU干预更少,并可以实现CPU、通道和输入输出设备三者之间的并行操作,从而更有效地提高整个系统资源的利用率。通道控制方式适用于现代计算机系统中的大量数据交换。第4章 设备管理返回4.3 设备分配与回收4.3.1 设备分配中的数据结构 为了实现对设备
19、的管理和控制,需要对每台设备、通道、控制器的情况进行登记。设备分配主要采用的数据结构有设备控制表、控制器控制表、通道控制表和系统设备表。如图4-5所示。第4章 设备管理4.3 设备分配与回收4.3.1 设备分配中的数据结构1设备控制表 系统为每台设备配置一张设备控制表,用于记录设备的特性及与输入输出控制器连接的情况。设备控制表中包括:设备标识符、设备类型、设备状态、设备等待队列指针、输入输出控制器指针、设备相对号、占用作业名等。 设备标识符也称为设备绝对号。它是指计算机系统对每台设备的编号。用户对每类设备的编号称为设备相对号,也称为设备类号。第4章 设备管理4.3 设备分配与回收4.3.1 设
20、备分配中的数据结构2控制器控制表 系统为每个控制器配置了一张控制器控制表,以反映控制器的使用状态,以及与通道的连接状况等。其内容包括控制器标识符、控制器的状态、与控制器连接的通道表指针、控制器队列的队首指针、通道队列的队尾指针等。其中与控制器连接的通道表指针指向该控制器的通道控制表。第4章 设备管理4.3 设备分配与回收4.3.1 设备分配中的数据结构3通道控制表 系统为每个通道配置一张通道控制表,以反映通道的使用状态。其内容包括通道标识符、通道状态、等待获得该通道的进程等待队列指针等。第4章 设备管理4.3 设备分配与回收4.3.1 设备分配中的数据结构4系统设备表 系统设备表也称为设备类表
21、,整个系统配置一张。它记录已被连接到系统中的所有物理设备的情况,每个物理设备占一个表目,包括设备类型、拥有设备台数、现存设备台数、设备控制表指针等。其中设备控制表指针指向该设备对应的设备控制表。 这几张表的关系:在系统设备表中有指向设备控制表的指针,在设备控制表中有指向该设备控制器控制表的指针,在控制器控制表中有指向与该控制器连接的通道控制表的指针。系统就是通过这种关系进行设备的分配与回收的。第4章 设备管理4.3 设备分配与回收4.3.2 设备分配应考虑的因素1设备的使用性质 按照设备自身的使用性质,可以采用以下三种不同的分配方式:独享分配、共享分配、虚拟分配。 独享分配适用于大多数低速设备
22、,如打印机。 共享分配适应于高速设备,如磁盘。 虚拟分配适应于虚拟设备。根据设备的使用性质来决定一台设备可以分给几个进程。第4章 设备管理4.3 设备分配与回收4.3.2 设备分配应考虑的因素2设备的分配算法 设备的分配算法主要是确定把设备先分给哪个进程。设备的分配算法有先来先服务和优先权两种。 先来先服务算法是根据进程发出请求的先后顺序,把这些进程排成一个设备请求队列,设备分配程序总是把设备分配给队首进程。 优先权算法是按照进程的优先权的高低进行设备分配,谁的优先权高就先把设备分给谁,对优先权相同的按照先请求先服务的算法排队。第4章 设备管理4.3 设备分配与回收4.3.2 设备分配应考虑的
23、因素3设备分配的安全性 设备分配的安全性是指在设备分配中应防止发生进程的死锁。设备分配的安全性采用的方法有静态分配策略和动态分配策略,它们可以防止进程死锁。 (1)静态分配策略。静态分配策略是在作业级进行的,用户作业开始执行前,由系统一次分配给该作业所要求的全部设备、控制器和通道,直到该作业撤消为止。静态分配不会出现死锁,但是,设备利用率低。 (2)动态分配策略。动态分配策略是在进程执行过程中,根据执行的需要所进行的设备分配。动态分配提高了设备的利用率,但是分配不当,会造成进程的死锁。第4章 设备管理4.3 设备分配与回收4.3.2 设备分配应考虑的因素4设备的独立性 设备的独立性是指用户在编
24、制程序时所使用的设备与实际使用的设备无关。为此,要求用户程序对输入输出设备的请求采用逻辑设备名,而在程序实际执行时使用物理设备名,它们之间的关系类似存储管理中的逻辑地址和物理地址的关系。第4章 设备管理4.3 设备分配与回收4.3.3 设备分配 在并发进程环境中,设备分配是由系统完成的,以防止并发进程对设备的无序竞争。当进程提出设备请求时,系统启动设备分配程序,按照一定的算法为进程分配设备、设备控制器和通道。 在这三种资源中,通道是最紧缺的资源,设备是最充足的资源,所以,设备分配的步骤是:先分配设备,再分配设备控制器,最后分配通道。1分配设备 分配设备的过程如图4-6所示。第4章 设备管理4.
25、3 设备分配与回收4.3.3 设备分配1分配设备 根据进程提出的设备名查找系统设备表,若没有找到,则显示出错信息,并结束分配; 否则,从中找到该设备的设备控制表,查看设备控制表中的设备状态字段。若该设备处于忙状态,则将进程插入到该设备的等待队列;若设备空闲,便按照一定的算法来计算本次设备分配的安全性。若分配不会引起死锁则进行设备分配,修改设备控制表,把状态字段的值由“0”改为进程名,并修改系统设备表,使“现存设备台数”减少分配的台数;否则,将该进程插入到该设备的等待队列。第4章 设备管理4.3 设备分配与回收4.3.3 设备分配2分配设备控制器 分配设备控制器的过程如图4-7所示。 在系统把设
26、备分配给请求输入输出的进程后,再到设备控制表中找到与该设备相连的控制器控制表,从该表的状态字段中可知该控制器是否忙碌。若控制器忙,则将进程插入到等待该控制器的队列;否则,将该控制器分配给进程,即修改控制器控制表,把状态字段的值由“0”改为进程名。第4章 设备管理4.3 设备分配与回收4.3.3 设备分配3分配通道 分配通道的过程如图4-8所示。 在分配完设备控制器后,从控制器控制表中找到与该控制器相连的通道控制表,从该表的状态字段中可知该通道是否忙碌。若通道处于忙碌状态,则将该进程插入到等待该通道的队列;否则,将该通道分配给进程,即修改通道控制表,把状态字段的值由“0”改为进程名。第4章 设备
27、管理4.3 设备分配与回收4.3.4 设备回收 当进程撤消或设备使用完毕后,要进行设备的回收,设备回收的过程如图4-9所示。设备回收的步骤:(1)系统根据进程名在设备分配表中找到相应的记录,把设备状态修改为“0”表示未分配,若该设备的等待队列不空,则唤醒队首进程,进行设备分配;(2)到该设备的控制器控制表中,把其状态由进程名改为“0”,若该控制器的等待队列不空,则唤醒队首进程,进行控制器分配;(3)到该控制器的通道控制表中,把其状态由进程名改为“0”,若该通道的等待队列不空,则唤醒队首进程,进行通道分配;(4)在系统设备表中,把回收设备台数添加到“现存设备台数”中。 第4章 设备管理4.3 设
28、备分配与回收4.3.5 对设备分配程序的改进 以上设备分配程序有两个特点,一是,进程是以物理设备名来提出输入输出请求的。二是,系统采用的是单通路的输入输出系统结构。这样的系统容易产生“瓶颈”现象。为此,对设备分配程序做以下改进: (1)增加设备的独立性。进程应以逻辑设备名请求输入输出。系统首先根据系统设备表找到第一个该类设备的设备分配表,若该设备忙,则查找第二个该类设备的设备分配表,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上。这样通过增加设备的独立性,提高了设备分配的安全性。第4章 设备管理4.3 设备分配与回收4.3.5 对设备分配程序的改进 (2)考虑多通路情况。系统采用多通
29、路的输入输出系统结构,如图4-10所示。 即一个设备可以由多个控制器控制,一个控制器可以由多个通道控制(即增加图4-10中的虚线部分)。这样,可以防止系统出现“瓶颈”现象。也就是对控制器和通道的分配,同样经过几次反复,只要有一个控制器或通道可用,系统就可以把它分配给进程。这样,就增加了分配控制器和通道的可能性,提高了设备分配的效率。第4章 设备管理返回4.4 设备处理设备处理的任务是把上层软件的抽象要求变为具体要求发送给设备控制器,启动设备;将设备控制器发来的信号传送给上层软件。它主要由设备处理程序完成。设备处理程序也称为设备驱动程序,它是输入输出进程与设备控制器之间的通信程序。4.4.1 设
30、备驱动程序的功能和特点1设备驱动程序的功能 一是把抽象要求转化为具体要求。二是检查用户输入输出请求的合法性,了解输入输出设备的状态,传递有关参数,设置设备的工作方式。三是发出输入输出命令,启动分配到的输入输出设备,完成指定的输入输出操作。四是及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。五是对设置有通道的计算机系统,驱动程序还应根据用户的输入输出请求,自动地构成通道程序。第4章 设备管理4.4 设备处理4.4.1 设备驱动程序的功能和特点2设备处理的方式 设备处理方式有三类: 一是为每一类设备设置一个进程,专门执行这类设备的输入输出操作。 二是在整个系统
31、中设置一个输入输出进程,专门负责对系统中所有各类设备的输入输出操作。 三是不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。第4章 设备管理4.4 设备处理4.4.1 设备驱动程序的功能和特点3设备驱动程序的特点 (1) 驱动程序主要是在请求输入输出的进程与设备控制器之间的一个通信程序。 (2) 驱动程序与输入输出设备的特性密切相关。 (3) 驱动程序与输入输出控制方式紧密相关。 (4) 驱动程序与硬件紧密相关,其部分被固化在ROM 中。第4章 设备管理4.4 设备处理4.4.2 设备驱动程序的处理过程1将抽象要求转化为具体要求 用户及上层软件对设备控制器
32、的具体情况毫无了解,只能向它们发出抽象的要求,借助设备驱动程序,转化为具体的要求传送给设备控制器。如将盘块号转换为磁盘的盘面、磁道号及扇区号。2检查输入输出请求的合法性 任何输入设备都只能完成一组特定的功能,如该设备不支持这次输入输出请求,则认为这次输入输出请求非法,又如用户试图让打印机输入数据。3读出和检查设备的状态 要启动某个设备进行输入输出操作,其前提条件是该设备正处于空闲状态。因此在启动设备之前,要从设备控制器的状态寄存器中,读出设备的状态。 第4章 设备管理4.4 设备处理4.4.2 设备驱动程序的处理过程4传送必要的参数 有许多设备,特别是块设备,除必须向其控制器发出启动命令外,还
33、需要传送必要的参数。例如,在启动磁盘进行读写之前,应先将本次要传送的字节数、数据应到达的主存始址送入控制器的相应寄存器中。5设置工作方式 有些设备有多种工作方式,在启动时应选定某种方式,给出必要的数据。在启动该接口之前,应先按通信规程设定下述参数:波特率、奇偶校验方式、停止位数目及数据字节长度等。6启动输入输出设备 在完成上述五个工作后,驱动程序可以向控制器的命令寄存器传送相应的控制命令,启动输入输出设备。基本的输入输出操作是在控制器的控制下进行的。第4章 设备管理返回4.5 设备管理采用的技术4.5.1 缓冲技术 为了提高输入输出设备的速度和利用率,在输入输出设备与处理器交换数据时引入了缓冲
34、技术。缓冲技术是输入输出设备在与主存交换数据时使用缓冲区的技术。缓冲管理的主要功能是组织好缓冲区,并提供获得和释放缓冲区的手段。1缓冲的引入(1)缓和CPU与输入输出设备间速度不匹配的矛盾。 (2)减少对CPU的中断频率,放宽对中断响应时间的限制。 (3)提高CPU与输入输出设备间的并行性。第4章 设备管理4.5 设备管理采用的技术4.5.1 缓冲技术2单缓冲 单缓冲是指在设备和处理器之间设置一个缓冲区,用于数据的传输。 单缓冲的工作原理如图4-11所示。 特点是:在主存中只有一个缓冲区。对于块设备,该缓冲区可以存放一块数据,对于字符设备,该缓冲区可以存放一行数据。设备和处理器对缓冲区的操作是
35、串行的,传输速度慢。在任一时刻,只能进行单向的数据传输,并且传输数据量较少。 第4章 设备管理4.5 设备管理采用的技术4.5.1 缓冲技术3双缓冲 双缓冲是指在设备和处理器之间设置两个缓冲区。 双缓冲的工作原理如图4-12所示。 特点是:在主存中设置两个缓冲区,完成数据的传输。两个缓冲区可以交替使用,提高了处理器和输入设备的并行操作能力。在任一时刻,可以进行双向的数据传输。一个缓冲区用于输入,另一个用于输出。适用于输入/输出、生产者/消费者速度基本相匹配的情况。当传输数据量较大,或者两者的速度相差较远时,双缓冲区效率较低。 第4章 设备管理4.5 设备管理采用的技术4.5.1 缓冲技术4循环
36、缓冲 在设备和处理器之间设置多个大小相等的缓冲区。每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,这样构成一个环形缓冲区。 循环缓冲的工作原理如图4-13所示。 特点是:在主存中设置多个缓冲区。读和写可以并行处理,适用于某种特定的输入输出进程和计算进程,如输入/输出、生产者/消费者速度不相匹配的情况。循环缓冲区属于专用缓冲区。当系统较大时,使用多个这样的缓冲区要消耗大量的主存空间,降低缓冲区的使用效率。 第4章 设备管理4.5 设备管理采用的技术4.5.1 缓冲技术5缓冲池 当系统较大时,可以利用供多个进程共享的缓冲池来提高缓冲区的利用率。缓冲池的组成包括空(闲
37、)缓冲区、装满输入数据的缓冲区、装满输出数据的缓冲区,同类缓冲区以链队的形式存在。另外,还应有四种工作缓冲区:用于收容输入数据的工作缓冲区、用于提取输入数据的工作缓冲区、用于收容输出数据的工作缓冲区、用于提取输出数据的工作缓冲区。 缓冲池的工作原理如图4-14所示。 特点是:缓冲池结构复杂,在主存中设置公用缓冲池,在池中设置多个可以供多个进程共享的缓冲区。缓冲区既可以用于输入,又可以用于输出(即共享)。缓冲池的设置,减少了主存空间的消耗,提高了主存的利用率,适应于现代操作系统。 第4章 设备管理4.5 设备管理采用的技术4.5.2 中断技术1中断的概念 中断是由于某些事件的出现,中止现行进程的
38、执行,而转去处理出现的事件,中断事件处理完后,再继续运行被中止进程的过程。 在这里引起中断的事件称为中断源。中断事件通常由硬件发现。对出现的事件进行处理的程序称为中断处理程序。中断处理程序是由操作系统处理的,属于操作系统的组成部分。第4章 设备管理4.5 设备管理采用的技术4.5.2 中断技术2中断类型 (1) 硬件故障中断。由机器故障造成的中断。如电源故障。 (2) 程序中断。由程序执行到某条机器指令时可能出现的各种问题而引起的中断。如发现定点操作数溢出、除数为0等。 (3) 外部中断。由各种外部事件引起的中断。如按压了中断键、定时时钟时间到等。 (4) 输入输出中断。由输入输出控制系统发现
39、外围设备完成了输入输出操作或在执行输入输出时通道或外围设备产生错误而引起的中断。 (5) 访管中断。正在运行的进程执行访管指令时引起的中断。如分配一台外设。 前四类中断不是运行进程所希望的,故称为强迫性中断,而第五种中断,是进程所希望的,故称为自愿性中断。 第4章 设备管理4.5 设备管理采用的技术4.5.2 中断技术3中断响应 在处理器执行完一条指令后,硬件的中断装置就立即检查有无中断事件发生。若无,继续执行下一条指令;若有,则停止现行进程,由操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。4中断处理 首先介绍与中断处理有关的概念:特权指令和程序状态字。特权指令是不允许用户程序
40、直接使用的指令。如输入输出指令,设置时钟的指令。程序状态字是用来控制指令执行顺序,并保留和指示与程序有关的系统状态。第4章 设备管理4.5 设备管理采用的技术4.5.2 中断技术 中断处理过程如图4-15所示。 当中断装置发现中断事件后,先把中断事件存放到程序状态字寄存器中的中断码位置。 把程序状态字寄存器中的“当前PSW”作为“旧 PSW”保存到预先约定的主存的固定单元中。 根据中断码,把该类事件处理程序的“新PSW”送入程序状态字寄存器。 处理器按新PSW控制处理该事件的中断处理程序执行。 当中断程序处理完后,再恢复现场,继续执行原先被中断的进程。第4章 设备管理4.5 设备管理采用的技术
41、4.5.3 假脱机技术(SPOOLing) SPOOLing技术就是用于将一台独占设备改造成共享设备的一种行之有效的技术。当系统中出现了多道程序后,可以利用其中的一道程序,来模拟脱机输入时的外围控制机的功能,把低速输入输出设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可以在主机的直接控制下,实现脱机输入、输出功能。1假脱机的概念 假脱机技术(SPOOLing)是指在联机情况下实现的同时外围操作,也称假脱机输入输出操作,它是操作系统中的一项将独占设备改为共享设备的技术。第4章 设备管理4.5 设备管理采用的技术4.5.3
42、假脱机技术(SPOOLing) 2假脱机技术的组成 假脱机技术由输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程、请求打印队列组成。SPOOLing系统的组成如图4-16所示。 第4章 设备管理4.5 设备管理采用的技术4.5.3 假脱机技术(SPOOLing) 2假脱机技术的组成 (1)输入井和输出井。这是在磁盘上开辟的两个大的存储区。输入井是模拟脱机输入时的磁盘,用于收容输入设备输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。 (2)输入缓冲区和输出缓冲区。它们是在主存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井,输出缓冲区
43、用于暂存从输出井送来的数据,以后再传送给输出设备。第4章 设备管理4.5 设备管理采用的技术4.5.3 假脱机技术(SPOOLing) 2假脱机技术的组成 (3)输入进程和输出进程。输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入设备,通过输入缓冲区送到输入井。当CPU需要数据时,直接从输入井读入主存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从主存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。 (4)请求打印队列。由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。第4章 设备管理4.5 设备管理采用的技术4.5.3 假脱机技术(SPOOLing) 3假脱机技术的特点 (1) 提高了输入输出速度。SPOOLing技术引入了输入井和输出井,可以使输入进程、用户进程和输出进程同时工作,从而提高了输入输