《第五章 设备管理精选文档.ppt》由会员分享,可在线阅读,更多相关《第五章 设备管理精选文档.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 设备管理设备管理本讲稿第一页,共七十七页教学重点教学重点:1、通道、通道、DMA2、数据传送控制方式、数据传送控制方式3、设备驱动程序、设备驱动程序4、I/O进程控制进程控制5、设备分配、设备分配6、缓冲管理、缓冲管理本讲稿第二页,共七十七页操作系统的基本组织结构操作系统的基本组织结构进程与资进程与资源管理源管理文件管理文件管理存储管理存储管理设备管理设备管理处理机处理机主存主存设备设备操作系统操作系统计算机硬件计算机硬件本讲稿第三页,共七十七页5.1 5.1 引言引言l设备管理是直接与设备接口打交道的操作系统模块设备管理是直接与设备接口打交道的操作系统模块,通通常由文件系统调用
2、。常由文件系统调用。l设备管理完成对物理设备的抽象设备管理完成对物理设备的抽象,驱动程序是对设驱动程序是对设备进行抽象的具体表现,也是上层软件系统与硬备进行抽象的具体表现,也是上层软件系统与硬件直接沟通的唯一渠道,驱动程序屏蔽了底层设件直接沟通的唯一渠道,驱动程序屏蔽了底层设备的物理细节。备的物理细节。本讲稿第四页,共七十七页一、设备管理的主要任务一、设备管理的主要任务(1 1)设备的选择和分配实现数据传输)设备的选择和分配实现数据传输(2 2)控制输入)控制输入/输出输出-CPU-CPU(内存)之间交换数据(内存)之间交换数据(3 3)提供用户使用接口)提供用户使用接口(4 4)提高并行操作
3、度(设备)提高并行操作度(设备/设备、设备设备、设备/CPU/CPU、进程、进程/进程)进程)本讲稿第五页,共七十七页二、设备管理程序提供的功能二、设备管理程序提供的功能(1 1)为进程管理提供接口(将进程的请求转给设)为进程管理提供接口(将进程的请求转给设备管理)备管理)(2 2)实施设备分配(按照设备分类、调度算法分配)实施设备分配(按照设备分类、调度算法分配设备、将未分配到的进程放入等待队列)设备、将未分配到的进程放入等待队列)(3 3)实现设备之间及设备与)实现设备之间及设备与CPUCPU间并行操作间并行操作(DMADMA、通道)通道)(4 4)缓冲区管理(解决速度的不匹配问题,负责)
4、缓冲区管理(解决速度的不匹配问题,负责进行缓冲区的分配进行缓冲区的分配/释放等工作)释放等工作)本讲稿第六页,共七十七页三、设备管理的两个阶段(三、设备管理的两个阶段(P192)(1)接收用户提出的)接收用户提出的I/O请求阶段请求阶段 (2)响应设备中断请求阶段)响应设备中断请求阶段本讲稿第七页,共七十七页输入输入/输出请求输出请求设备驱动程序设备驱动程序设备文件设备文件标准设备接口(标准设备接口(read,write,open,close.)与设备无关软件(文件系统)与设备无关软件(文件系统)中断处理程序中断处理程序返回信息返回信息显示器显示器鼠标鼠标打印机打印机本讲稿第八页,共七十七页5
5、.2 5.2 输入输入/输出硬件输出硬件一、输入一、输入/输出设备输出设备l电子设备电子设备l设备分类设备分类+字符设备字符设备特点:输入特点:输入/输出时以字符为单位(显示器)输出时以字符为单位(显示器)本讲稿第九页,共七十七页块设备:将信息存储在可寻址的固定大小的数据块块设备:将信息存储在可寻址的固定大小的数据块中。包括存取控制部分(磁带机中的读写控制电路、中。包括存取控制部分(磁带机中的读写控制电路、磁头)和信息载体(磁带、磁盘片)两部分。磁头)和信息载体(磁带、磁盘片)两部分。特征:能够独立的读写单个的数据块,又叫存储设备特征:能够独立的读写单个的数据块,又叫存储设备1、顺序存取设备(
6、磁带)、顺序存取设备(磁带)2、直接存取设备(磁盘、磁鼓)、直接存取设备(磁盘、磁鼓)3、完全直接存取设备(半导体只读存储器)、完全直接存取设备(半导体只读存储器)本讲稿第十页,共七十七页磁带磁带磁带格式磁带格式磁带头部磁带头部反光片反光片磁带尾部磁带尾部反光片反光片记记录录记记录录IRGIRG块记录格式块记录格式记录记录1记录记录2记录记录3记录记录4IRGIRG800字节字节本讲稿第十一页,共七十七页磁盘磁盘 扇区扇区磁道磁道单磁盘片表面的划分单磁盘片表面的划分旋转方向旋转方向读读/写磁头写磁头臂移动方向臂移动方向 移动头磁盘示意图移动头磁盘示意图本讲稿第十二页,共七十七页磁盘设备结构磁盘
7、设备结构本讲稿第十三页,共七十七页二、设备控制器二、设备控制器 机械部件(设备本身)机械部件(设备本身)I/OI/O设备设备 电子部件(设备控制器电子部件(设备控制器/适配器)适配器)用于控制字符设备的控制器用于控制字符设备的控制器 用于控制块设备的控制器用于控制块设备的控制器 本讲稿第十四页,共七十七页1 1、设备控制器的作用、设备控制器的作用(1 1)控制一个或多个)控制一个或多个I/OI/O设备,以实现设备,以实现I/OI/O设备和设备和计算机之间的数据交换。它是计算机之间的数据交换。它是CPUCPU和和I/OI/O设备之设备之间的接口,它接收从间的接口,它接收从CPUCPU发出的命令,
8、并控制发出的命令,并控制I/OI/O设备工作。设备工作。(2 2)设备控制器是一个可编址的设备,当它只控制一个)设备控制器是一个可编址的设备,当它只控制一个设备时,它有惟一的一个设备地址;若控制器连接多个设设备时,它有惟一的一个设备地址;若控制器连接多个设备时,则应含有多个设备地址,使每一个设备地址对应一备时,则应含有多个设备地址,使每一个设备地址对应一个设备。设备控制器的复杂性因设备而异,相差很大。个设备。设备控制器的复杂性因设备而异,相差很大。本讲稿第十五页,共七十七页2 2、设备控制器主要功能、设备控制器主要功能:接收和识别命令接收和识别命令 数据交换数据交换 地址识别地址识别 标识和报
9、告设备的状态标识和报告设备的状态 数据缓冲数据缓冲 差错控制差错控制本讲稿第十六页,共七十七页3 3、接口、接口(1 1)控制器和设备之间采用标准接口;)控制器和设备之间采用标准接口;IDEIDE、SCSISCSI、VGAVGA、USBUSB、RS-232CRS-232C(2 2)操作系统直接将数据发送到设备的控制器中)操作系统直接将数据发送到设备的控制器中 磁盘:从磁盘的驱动中读出二进制比特流,控制器磁盘:从磁盘的驱动中读出二进制比特流,控制器将其转化成字节块将其转化成字节块 CRT CRT:从内存中读取字节流,:从内存中读取字节流,CRTCRT控制器根据控制器根据OSOS的参数的参数调制调
10、制CRTCRT射线信号,并将结果显示在屏幕上射线信号,并将结果显示在屏幕上本讲稿第十七页,共七十七页三、三、通道通道通道:独立与通道:独立与CPUCPU的专管输入的专管输入/输出控制的处理机,它控输出控制的处理机,它控制设备与内存直接进行数据交换制设备与内存直接进行数据交换工作方法:有自己的通道指令、由工作方法:有自己的通道指令、由CPUCPU执行相应的指令执行相应的指令(I/OI/O)来启动通道,说明要执行的)来启动通道,说明要执行的I/OI/O操作和要访问的操作和要访问的I/OI/O设备,通道接到命令后启动相应的通道程序完成设备,通道接到命令后启动相应的通道程序完成I/OI/O操作,并在操
11、作结束时向操作,并在操作结束时向CPUCPU发中断信号发中断信号1 1、字节多路通道、字节多路通道2 2、数据选择通道、数据选择通道3 3、数组多路通道、数组多路通道本讲稿第十八页,共七十七页I/O控制器控制器I/O控制器控制器I/O控制器控制器I/O控制器控制器I/O控制器控制器I/O控制器控制器I/O控制器控制器字节多路字节多路通道通道选择通道选择通道成组多路成组多路通道通道磁盘磁盘磁盘磁盘磁带磁带磁带磁带终端终端终端终端终端终端CPU内存内存总线总线通道方式的数据传送结构通道方式的数据传送结构本讲稿第十九页,共七十七页四、四、DMA(存储器直接存取)(存储器直接存取)在外围设备和内存之间
12、开辟直接的数据交换通路。在外围设备和内存之间开辟直接的数据交换通路。DMA控制器代替了控制器代替了CPU控制内存和设备进行成批的控制内存和设备进行成批的数据交换。在数据传送开始时需数据交换。在数据传送开始时需CPU启动,数据传启动,数据传送结束时需发中断给送结束时需发中断给CPU。本讲稿第二十页,共七十七页DMA控制器控制器CPU内存内存I/O设备设备数据数据中断位中断位启动位启动位控制状态寄存器控制状态寄存器数据缓冲寄存器数据缓冲寄存器内存地址寄存器内存地址寄存器传送字节数寄存器传送字节数寄存器DMADMA方式的传送结构方式的传送结构startintDMA本讲稿第二十一页,共七十七页 5.3
13、 5.3 输入输入/输出软件输出软件一、输入输出软件作用:一、输入输出软件作用:把软件组织为层次结构,底层软件用于屏蔽输入把软件组织为层次结构,底层软件用于屏蔽输入/输输出硬件的细节出硬件的细节,即实现上层的设备无关(设备独立性)即实现上层的设备无关(设备独立性)一个一个I/O程序在不用修改的情况下能读出不同的文件,程序在不用修改的情况下能读出不同的文件,即使设备更换,用户用于进行即使设备更换,用户用于进行I/O操作的程序也不用操作的程序也不用改变);高层软件为用户提供界面。改变);高层软件为用户提供界面。本讲稿第二十二页,共七十七页层次结构(为实现设备无关性):层次结构(为实现设备无关性):
14、中断处理程中断处理程 设备驱动程设备驱动程 与设备无关的操作系统与设备无关的操作系统 用户层软件用户层软件本讲稿第二十三页,共七十七页二、二、I/OI/O软件的目标软件的目标1 1、设备独立性、设备独立性 设计设计I/OI/O软件的一个最关键目标是设备独立性。软件的一个最关键目标是设备独立性。也就是说,除了直接与设备打交道的低层软件之外,也就是说,除了直接与设备打交道的低层软件之外,其他部分的软件并不与依赖于硬件其他部分的软件并不与依赖于硬件(Windows)(Windows)。2 2、统一命名、统一命名 统一命名是指在系统中采取预先设计的、统一的统一命名是指在系统中采取预先设计的、统一的逻辑
15、名称,对各类设备进行命名,并且应用在同设备逻辑名称,对各类设备进行命名,并且应用在同设备有关的全部软件模块中。对设备统一命名是与设备独有关的全部软件模块中。对设备统一命名是与设备独立性密切相关的。立性密切相关的。本讲稿第二十四页,共七十七页通常给通常给I/O设备命名的做法:设备命名的做法:用用个序列字符串或一个整数来表示一个输入输个序列字符串或一个整数来表示一个输入输出设备的名字,这个统一命名不依赖于设备,即在一出设备的名字,这个统一命名不依赖于设备,即在一个设备的名称之下,其对应的物理设备可能发生了变个设备的名称之下,其对应的物理设备可能发生了变化,但它并不在该名称上体现,因此用户并不知晓。
16、化,但它并不在该名称上体现,因此用户并不知晓。本讲稿第二十五页,共七十七页进行进行I/O调用:格式化调用:格式化I/O执行执行I/O操作操作命命名名、保保护护、阻阻塞塞、缓缓冲冲、分配分配I/O结结束束时时,唤唤醒醒设设备备服服务务子子程序程序设设置置设设备备寄寄存存器器、检检测测状状态态4-用户进程用户进程3-设备无关软件设备无关软件2-设备驱设备驱动程序动程序硬硬件件设备服务子程序设备服务子程序1-中断处理程序中断处理程序I/O请求请求I/O应答应答三、输入输出软件的功能三、输入输出软件的功能本讲稿第二十六页,共七十七页四、四、数据传送控制方式数据传送控制方式选择和衡量控制方式的原则:选择
17、和衡量控制方式的原则:(1)数据传送速度足够高,能满足用户的需要而)数据传送速度足够高,能满足用户的需要而又不丢失数据;又不丢失数据;(2)系统开销小,所需的处理控制程序少;)系统开销小,所需的处理控制程序少;(3)充分发挥硬件资源能力,使得)充分发挥硬件资源能力,使得I/O设备尽可设备尽可能忙,而能忙,而CPU等待时间尽可能少。等待时间尽可能少。本讲稿第二十七页,共七十七页1 1、程序直接控制方式、程序直接控制方式2 2、中断方式、中断方式3 3、DMADMA方式方式4 4、通道控制方式、通道控制方式本讲稿第二十八页,共七十七页1 1、程序直接控制方式、程序直接控制方式否否外围设备外围设备做
18、接收或发送数据准备做接收或发送数据准备接收到接收到start命令命令标志触发器置标志触发器置“done”等待等待CPU来的下条指令来的下条指令准备完毕?是是否否CPU发发start命令命令等等待待执行下条指令执行下条指令开始数据传送开始数据传送设备标志触发器为done”?是是(a)(b)本讲稿第二十九页,共七十七页缺点缺点:(1)CPU和设备只能串行工作。和设备只能串行工作。(2)CPU在一段时间内只能和一台外围设备交换数据信在一段时间内只能和一台外围设备交换数据信息,设备之间不能并行工作。息,设备之间不能并行工作。(3)依靠设备标志触发器的状态位来控制数据传送,)依靠设备标志触发器的状态位来
19、控制数据传送,无法发现和处理由于其他硬件所产生的错误。无法发现和处理由于其他硬件所产生的错误。本讲稿第三十页,共七十七页2 2、中断控制方式的传送结构、中断控制方式的传送结构I/O控制器控制器1I/O控制器控制器nI/O设备设备1I/O设备设备n地址线地址线数据线数据线控制线控制线intCPU内存内存start启动位启动位中断位中断位信号线信号线控制状态寄存器控制状态寄存器数据缓冲寄存器数据缓冲寄存器本讲稿第三十一页,共七十七页接接收收到到CPU发发来来的的start指令指令准准备备数数据据并并将将其其置置入缓冲寄存器入缓冲寄存器缓冲寄存器满吗?缓冲寄存器满吗?控制器发中断信号控制器发中断信号
20、向设备发向设备发start指令指令将中断允许位置将中断允许位置1调调度度程程序序调调度度其其他进程他进程其他进程执行其他进程执行收到中断信号了吗?收到中断信号了吗?中断处理中断处理被中断进程执行被中断进程执行否否否否是是设备设备CPU中断控制方式的处理过程中断控制方式的处理过程本讲稿第三十二页,共七十七页优点:优点:做到设备之间以及设备和做到设备之间以及设备和CPU之间的并行操作。之间的并行操作。缺点:缺点:(1)数据缓冲寄存器装满后发生中断,)数据缓冲寄存器装满后发生中断,若寄存器小则若寄存器小则中断中断次数较多中断次数较多,消耗次数较多中断次数较多,消耗CPU的时间。的时间。(2)设备方式
21、下通过中断方式进行并行操作会增加无)设备方式下通过中断方式进行并行操作会增加无法响应中断和出现数据丢失现象。法响应中断和出现数据丢失现象。(3)要求外围设备的速度较低。)要求外围设备的速度较低。本讲稿第三十三页,共七十七页3 3、DMADMA方式的数据传送处理过程方式的数据传送处理过程否否CPU发发start命令命令内存地址内存地址内存始址寄存器内存始址寄存器传送字节数传送字节数字节计数器字节计数器允许中断位与启动位置允许中断位与启动位置1当前进程被阻塞,当前进程被阻塞,调度程序调度其他进程运行调度程序调度其他进程运行被调度的进程执行被调度的进程执行接收到中断信号吗?是是转中断处理转中断处理设
22、备设备启动设备准备数据启动设备准备数据DMA控制器接收到控制器接收到start指令指令缓冲寄存器内容入内存缓冲寄存器内容入内存改变传送字节数计数器与改变传送字节数计数器与内存地址寄存器内容内存地址寄存器内容否否传送字节数0?吗?数据入数据缓冲寄存器数据入数据缓冲寄存器发中断信号发中断信号停止停止I/O操作操作是是本讲稿第三十四页,共七十七页优点:优点:(1 1)数据的传输块全部结束后发生中断,减少中断次数。)数据的传输块全部结束后发生中断,减少中断次数。(2 2)数据传输在)数据传输在DMADMA控制器的控制下完成,中断方式的控制器的控制下完成,中断方式的数据传输是在中断处理时由数据传输是在中
23、断处理时由CPUCPU控制完成。控制完成。缺点:缺点:(1 1)设备越多时,管理和控制越复杂,容易形成内存冲)设备越多时,管理和控制越复杂,容易形成内存冲突。突。(2 2)多个)多个DMADMA控制器成本高。控制器成本高。本讲稿第三十五页,共七十七页4、通道方式、通道方式(1 1)数据传送的方向、数据存放的内存地址以及传)数据传送的方向、数据存放的内存地址以及传送的数据地址长度有通道控制,送的数据地址长度有通道控制,DMADMA方式中数据传送方式中数据传送的方向、数据存放的内存地址以及传送的数据地址的方向、数据存放的内存地址以及传送的数据地址长度有长度有DMADMA控制。控制。(2 2)I/O
24、I/O控制器中无传送字节计数器和内存字节计控制器中无传送字节计数器和内存字节计数器,增加了通道设备控制器和指令执行机构数器,增加了通道设备控制器和指令执行机构(3 3)CPUCPU只需发出启动指令,指出通道相应的操作和只需发出启动指令,指出通道相应的操作和I/OI/O设备,该指令既可启动通道从内存中调出相应的指设备,该指令既可启动通道从内存中调出相应的指令执行。令执行。本讲稿第三十六页,共七十七页数据输入过程:数据输入过程:(1 1)CPUCPU发出发出startstart指令指明指令指明I/OI/O操作、设备号和对应通操作、设备号和对应通道;道;(2 2)对应的通道接到)对应的通道接到sta
25、rtstart后,将存放在内存中的通道后,将存放在内存中的通道指令程序读出,设置对应设备的控制器中的控指令程序读出,设置对应设备的控制器中的控制状态寄存器制状态寄存器;(3 3)设备根据通道要求,把数据送往内存指定区域)设备根据通道要求,把数据送往内存指定区域(4 4)若数据传送结束,控制器通过中断请求线)若数据传送结束,控制器通过中断请求线发中断信号请求做中断处理;发中断信号请求做中断处理;(5 5)中断处理结束后返回被中断进程处继续执)中断处理结束后返回被中断进程处继续执行。行。本讲稿第三十七页,共七十七页例:该通道程序由例:该通道程序由6条通道指令构成。该通道程序的功能是将主存条通道指令
26、构成。该通道程序的功能是将主存中不同地址中的数据写成多个记录。其中,前中不同地址中的数据写成多个记录。其中,前3条指令是分别将从条指令是分别将从1977单元开始的单元开始的12个字符、从个字符、从1996单元开始的单元开始的13个字符和从个字符和从1000单元开始的单元开始的99个字符写成一个记录;第个字符写成一个记录;第4条指令是单独写一条指令是单独写一个个573个字符的记录;第个字符的记录;第5、6两条指令合写一个两条指令合写一个600个字节的记录。个字节的记录。操作PR计数主存地址Write00121977Write00131996Write01991000Write015733698W
27、rite00100858Write115002000本讲稿第三十八页,共七十七页五、中断处理技术:五、中断处理技术:为了提高整体效率,减少在程序直接控制方式中为了提高整体效率,减少在程序直接控制方式中CPU等待时间,采用中断方式来控制输入输出设备和内存等待时间,采用中断方式来控制输入输出设备和内存与与CPU之间的数据传送是很必要的。之间的数据传送是很必要的。1、概念、概念中断:计算机在执行其间。系统内发生任何非寻常的中断:计算机在执行其间。系统内发生任何非寻常的或非预期的急需处理事件。使暂时中断当前正或非预期的急需处理事件。使暂时中断当前正在执行的程序转而去执行相应的事件处理程序,待处在执行的
28、程序转而去执行相应的事件处理程序,待处理完毕后又返回被中断处继续执行或调度新进程执行理完毕后又返回被中断处继续执行或调度新进程执行的过程。的过程。本讲稿第三十九页,共七十七页中断源:引起中断发生的事件中断源:引起中断发生的事件中断请求:中断源向发出的请求中断处理信中断请求:中断源向发出的请求中断处理信号号中断相应:收到中断后转去响应的事件处理中断相应:收到中断后转去响应的事件处理程序程序禁止中断:在中断请求后,内部的处理机状态禁止中断:在中断请求后,内部的处理机状态字的中断允许位以被清除,从而不允许响应中字的中断允许位以被清除,从而不允许响应中断。也叫关中断断。也叫关中断屏蔽中断:在中断请求产
29、生后,系统用软件方式屏蔽中断:在中断请求产生后,系统用软件方式有选择的封锁部分中断而允许其余部分的中断仍有选择的封锁部分中断而允许其余部分的中断仍能得到响应。电源掉电事件不可屏蔽。能得到响应。电源掉电事件不可屏蔽。本讲稿第四十页,共七十七页2 2、中断优先级:、中断优先级:外中断:中断源来自处理机和内存外部,包括外中断:中断源来自处理机和内存外部,包括设备发出的中断、外部信号中断设备发出的中断、外部信号中断()、定时中断、程序的端点等外中断()、定时中断、程序的端点等外中断在狭义上称为中断在狭义上称为中断内中断:处理机和内存内部产生的中断(陷入异内中断:处理机和内存内部产生的中断(陷入异常)。
30、非法地址、算数溢出、校验错、数据格式常)。非法地址、算数溢出、校验错、数据格式错等。一般称陷入或异常。错等。一般称陷入或异常。中断和陷入都是硬中断。中断和陷入都是硬中断。本讲稿第四十一页,共七十七页3、软中断:通信进程之间用来模拟硬中断的一种信号通信、软中断:通信进程之间用来模拟硬中断的一种信号通信方式。方式。软中断和硬中断的相同点:软中断和硬中断的相同点:中断源发出中断请求或软中断信号后,或接受进程在中断源发出中断请求或软中断信号后,或接受进程在适当时机自动进行中断处理或完成软中断信号所对应的功能。适当时机自动进行中断处理或完成软中断信号所对应的功能。本讲稿第四十二页,共七十七页4、中断处理
31、过程、中断处理过程关中断关中断保存被中断现场保存被中断现场分析中断原因分析中断原因转中断处理子程序转中断处理子程序执行中断处理子程序执行中断处理子程序恢复现场恢复现场开中断开中断返回中断点返回中断点本讲稿第四十三页,共七十七页5、中断方式的实现、中断方式的实现 在中断方式下,中央处理器与在中断方式下,中央处理器与I/O设备之间数据的设备之间数据的传输,大致步骤如下:传输,大致步骤如下:在某个进程需要数据时,发出指令启动输入在某个进程需要数据时,发出指令启动输入输出设备准备数据。同时该指令通知输入输出设备输出设备准备数据。同时该指令通知输入输出设备控制状态寄存器中的中断允许位置位,以便在需要控制
32、状态寄存器中的中断允许位置位,以便在需要时,中断程序可以被调用执行。时,中断程序可以被调用执行。在进程发出指令启动设备之后,该进程放弃处在进程发出指令启动设备之后,该进程放弃处理机,等待相关理机,等待相关I/O操作完成。此时,进程调度程序会操作完成。此时,进程调度程序会调度其他就绪进程使用处理机。另一种方式是该进程继调度其他就绪进程使用处理机。另一种方式是该进程继续运用(如果能够运行的话),直到续运用(如果能够运行的话),直到I/O中断信号来临。中断信号来临。本讲稿第四十四页,共七十七页 当当I/O操作完成时,输入输出设备控制器操作完成时,输入输出设备控制器通过中断请求线向处理机发出中断信号。
33、处理机通过中断请求线向处理机发出中断信号。处理机收到中断信号之后,转向预先设计好的中断处理收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理。程序,对数据传送工作进行相应的处理。得到了数据的进程,转入就绪状态。在随得到了数据的进程,转入就绪状态。在随后的某个时刻,进程调度程序会选中该进程继续后的某个时刻,进程调度程序会选中该进程继续工作工作本讲稿第四十五页,共七十七页6、中断方式的优缺点、中断方式的优缺点 中断方式使处理器的利用率提高,且能支中断方式使处理器的利用率提高,且能支持多道程序和持多道程序和I/O设备的并行操作。设备的并行操作。中断频率过高,耗去大量的中断频
34、率过高,耗去大量的CPU处理时间。处理时间。中断频率过高,中断频率过高,CPU无法响应中断会丢失数无法响应中断会丢失数据。据。本讲稿第四十六页,共七十七页六、六、设备驱动程序设备驱动程序设备驱动程序设备驱动程序 驱动物理设备和控制器或控制器等直接驱动物理设备和控制器或控制器等直接进行操作的子程序的集合(它是进行操作的子程序的集合(它是I/O进程与设备控制进程与设备控制器之间的通信程序)。负责设置与相应设备有关的寄存器之间的通信程序)。负责设置与相应设备有关的寄存器的值,启动设备进行操作,指定操作的类型和器的值,启动设备进行操作,指定操作的类型和数据流向等(接收由上层软件发来的抽象要求,如数据流
35、向等(接收由上层软件发来的抽象要求,如Read或或Write命令。再把它转换为具体要求后,发送给设备命令。再把它转换为具体要求后,发送给设备控制器,启动设备去执行。此外,它也将由设备控制控制器,启动设备去执行。此外,它也将由设备控制器发来的信号传送给上层软件)。器发来的信号传送给上层软件)。本讲稿第四十七页,共七十七页设备驱动程序功能:设备驱动程序功能:将接收到的抽象要求转换为具体要求。将接收到的抽象要求转换为具体要求。检查用户检查用户I/O请求的合法性,了解请求的合法性,了解I/O设备的状态,设备的状态,传递有关参数,设置设备的工作方式。传递有关参数,设置设备的工作方式。发出发出I/O命令,
36、启动分配到的命令,启动分配到的I/O设备,完成指定设备,完成指定的的I/O操作。操作。及时响应由控制器或通道发来的中断请求,并根据及时响应由控制器或通道发来的中断请求,并根据其中断类型(正常、异常结束的中断或其他类型中断)调用其中断类型(正常、异常结束的中断或其他类型中断)调用相应的中断处理程序进行处理。相应的中断处理程序进行处理。对于设置有通道的计算机系统,驱动程序还应能对于设置有通道的计算机系统,驱动程序还应能够根据用户的够根据用户的I/O请求,自动地构成通道程序。请求,自动地构成通道程序。本讲稿第四十八页,共七十七页设备驱动程序特点:设备驱动程序特点:驱动程序主要是在请求驱动程序主要是在
37、请求I/O的进程与设备控制的进程与设备控制器之间的一个通信程序。器之间的一个通信程序。驱动程序与驱动程序与I/O设备的特性紧密相关。设备的特性紧密相关。驱动程序与驱动程序与I/O控制方式紧密相关控制方式紧密相关。驱动程序与硬件紧密相关驱动程序与硬件紧密相关,很多驱动程序,很多驱动程序其基本部分已经固化。其基本部分已经固化。DST(设备开关表)(设备开关表)本讲稿第四十九页,共七十七页用户进程用户进程文件系统文件系统设备驱动程序设备驱动程序设备控制器设备控制器设备本身设备本身用户进程请求设备服务的流程用户进程请求设备服务的流程驱动程序所处地位驱动程序所处地位本讲稿第五十页,共七十七页设备驱动程序
38、主要功能:设备驱动程序主要功能:、对设备的初始化;、对设备的初始化;、使设备投入运行和退出服务;、使设备投入运行和退出服务;、从设备接收数据并将它们送回内核;、从设备接收数据并将它们送回内核;、将数据从内核送到设备;、将数据从内核送到设备;、检测和处理设备出现的错误。、检测和处理设备出现的错误。本讲稿第五十一页,共七十七页设备驱动程序是一组相关函数的集合。设备驱动程序是一组相关函数的集合。包括设备服务子程序和中断处理子程序。包括设备服务子程序和中断处理子程序。1、设备服务子程序:与设备无关的代码,每个处理程、设备服务子程序:与设备无关的代码,每个处理程序只处理一种设备,从与设备无关的软件中接受
39、抽象序只处理一种设备,从与设备无关的软件中接受抽象命令并执行。命令并执行。2、中断处理子程序:中断服务。、中断处理子程序:中断服务。本讲稿第五十二页,共七十七页七、七、与设备无关的与设备无关的I/O软件软件基本任务是:实现所有设备都需要的输入基本任务是:实现所有设备都需要的输入/输出功能,并输出功能,并且向用户级软件提供一个统一的接口。且向用户级软件提供一个统一的接口。与设备无关的软件有必要向较高层软件屏蔽各种与设备无关的软件有必要向较高层软件屏蔽各种I/O设备空间大小、处理速度和传输速率各不相同的事实,设备空间大小、处理速度和传输速率各不相同的事实,而向上层提供大小统一的逻辑块尺寸。这样,较
40、高层的软而向上层提供大小统一的逻辑块尺寸。这样,较高层的软件只与抽象设备打交道时,不考虑物理设备空间和数据块件只与抽象设备打交道时,不考虑物理设备空间和数据块大小而使用等长的逻辑块大小而使用等长的逻辑块 缓冲技术是设备独立软件应提供的另一个目的缓冲技术是设备独立软件应提供的另一个目的 出错处理一般来说是由设备驱动程序实现的出错处理一般来说是由设备驱动程序实现的本讲稿第五十三页,共七十七页对设备程序的统一接口对设备程序的统一接口设备命名设备命名设备保护设备保护提供一个独立于设备的逻辑块(数据块大小)提供一个独立于设备的逻辑块(数据块大小)缓冲缓冲块设备的存储分配块设备的存储分配分配和释放独占设备
41、分配和释放独占设备错误报告错误报告设备无关软件功能设备无关软件功能本讲稿第五十四页,共七十七页 大部分大部分I/OI/O软件包含在操作系统中,但是在用户程软件包含在操作系统中,但是在用户程序中仍有一小部分是与序中仍有一小部分是与I/OI/O过程连接在一起的。过程连接在一起的。通常的系统调用,包括通常的系统调用,包括I/OI/O系统调用,由库过系统调用,由库过程实现。程实现。并非所有的用户层并非所有的用户层I/OI/O软件都是由库过程组成的。软件都是由库过程组成的。Spooling Spooling系统则是另一种重要的处理方法。系统则是另一种重要的处理方法。本讲稿第五十五页,共七十七页八、设备分
42、配八、设备分配1、设备分配用数据结构、设备分配用数据结构()设备控制表()()设备控制表()反映设备的特性、设备和控制器的连接情反映设备的特性、设备和控制器的连接情况。包括设备标识、使用状态和等待使用该设备的进程况。包括设备标识、使用状态和等待使用该设备的进程队列等。每个设备必须有一个。队列等。每个设备必须有一个。在系统生成时或在该设备和系统连接时创建、在系统生成时或在该设备和系统连接时创建、表中内容根据系统执行情况而被动地修改。表中内容根据系统执行情况而被动地修改。内容:设备标识符、设备类型、设备地址或设备号、设备状内容:设备标识符、设备类型、设备地址或设备号、设备状态、等待队列指针、控制器
43、指针。态、等待队列指针、控制器指针。本讲稿第五十六页,共七十七页(2)系统设备表()系统设备表()整个系统中只有一张,记录已被连接到系统中的所有物理整个系统中只有一张,记录已被连接到系统中的所有物理设备的情况,并为每个物理设备设一表项目设备的情况,并为每个物理设备设一表项目内容:内容:指针:指向有关设备的设备控制表指针:指向有关设备的设备控制表正在使用设备的进程标识正在使用设备的进程标识设备类型和设备标识符设备类型和设备标识符本讲稿第五十七页,共七十七页(3)控制器表()控制器表()反映控制器的使用状态以及和通道的连接,每个控制反映控制器的使用状态以及和通道的连接,每个控制器一张表器一张表(4
44、)通道控制器表()通道控制器表()包括通道标识符、通道忙闲标识、等待获得该通道的进程包括通道标识符、通道忙闲标识、等待获得该通道的进程等待队列的队首指针与对尾指针等。每个通到一张。只在通等待队列的队首指针与对尾指针等。每个通到一张。只在通道控制方式中存在道控制方式中存在注意注意:一个进程只有获得通道、控制器、所需设备之后才具一个进程只有获得通道、控制器、所需设备之后才具备备I/O操作的物理条件。操作的物理条件。本讲稿第五十八页,共七十七页设备类型设备类型设备标识设备标识设备忙设备忙/闲标记闲标记COCT指针指针设备等待队列首设备等待队列首设备等待队列尾设备等待队列尾驱动程序地址驱动程序地址控制
45、器标识控制器标识控制忙控制忙/闲标记闲标记CHCT指针指针控制器等待队列首控制器等待队列首控制器等待队列尾控制器等待队列尾 通道标识通道标识通道忙通道忙/闲标记闲标记通道等待队列首通道等待队列首通道等待队列尾通道等待队列尾 表目表目1 表目表目i 设备类型设备类型设备标识设备标识获得设备的进程获得设备的进程DCT指针指针系统设备表系统设备表STDCOCT CHCT DCT 设备分配采用的数据结构图设备分配采用的数据结构图本讲稿第五十九页,共七十七页注意注意:一个进程只有获得通道、控制器、所需设一个进程只有获得通道、控制器、所需设备之后才具备备之后才具备I/O操作的物理条件。操作的物理条件。本讲
46、稿第六十页,共七十七页l由通道、设备控制器和由通道、设备控制器和设备三级组成。由通道、设备设备三级组成。由通道、设备控制器和设备三级组成。控制器和设备三级组成。I/O操作要经过三级控制,第一级操作要经过三级控制,第一级由由CPU执行执行I/O指令,启动或指令,启动或停止通道运行,查询通道状态;停止通道运行,查询通道状态;第二级是在通道接收第二级是在通道接收CPU的的I/O指令后,由通道执行为其指令后,由通道执行为其准备的通道程序,向设备控制准备的通道程序,向设备控制器发命令;第三级由设备控制器发命令;第三级由设备控制器根据通道发出的命令控制设器根据通道发出的命令控制设备完成备完成I/O操作。操
47、作。现代计算机现代计算机I/O系统的结构系统的结构l因为通道、设备控制器都是独因为通道、设备控制器都是独立的功能部件,它们可以并行立的功能部件,它们可以并行操作,所以可以构成操作,所以可以构成I/O系统多系统多通路情况。通路情况。本讲稿第六十一页,共七十七页2、设备分配原则、设备分配原则发挥设备的使用效率,避免由于不合理的分配方发挥设备的使用效率,避免由于不合理的分配方法造成进程死锁;隔离用户程序和具体物理设备。法造成进程死锁;隔离用户程序和具体物理设备。独占设备。应采用独占分配策略,即在把设独占设备。应采用独占分配策略,即在把设备分配给一个用户进程后,只有等该用户进程使用备分配给一个用户进程
48、后,只有等该用户进程使用完该设备,系统回收该设备后,才能把该设备分配完该设备,系统回收该设备后,才能把该设备分配给其他进程使用。这种分配策略的缺点是设备得不给其他进程使用。这种分配策略的缺点是设备得不到有效的利用,可能发生死锁到有效的利用,可能发生死锁本讲稿第六十二页,共七十七页共享设备。对该类设备应注意对各个进程访问设共享设备。对该类设备应注意对各个进程访问设备的先后次序进行合理的调度。备的先后次序进行合理的调度。虚拟设备。因为虚拟设备已属可共享设备,因而虚拟设备。因为虚拟设备已属可共享设备,因而也可将它分配给多个进程使用,并可对这些进程访也可将它分配给多个进程使用,并可对这些进程访问该设备
49、的先后次序进行控制。问该设备的先后次序进行控制。本讲稿第六十三页,共七十七页3、设备分配分类:、设备分配分类:静态分配:用户作业开始执行前,有系统一次分配静态分配:用户作业开始执行前,有系统一次分配该作业所要求的全部设备、控制器、通道。直到该该作业所要求的全部设备、控制器、通道。直到该作业被撤消,不会出现死锁但使用率低作业被撤消,不会出现死锁但使用率低动态分配:在进程执行过程中根据需要进行。利于提动态分配:在进程执行过程中根据需要进行。利于提高设备利用率、分配算法不当可以造成死锁高设备利用率、分配算法不当可以造成死锁本讲稿第六十四页,共七十七页4 4、设备分配策略(算法):、设备分配策略(算法
50、):先来先服务算法。当有多个进程申请一个设备先来先服务算法。当有多个进程申请一个设备时,该算法根据进程申请设备的先后次序,将这些进时,该算法根据进程申请设备的先后次序,将这些进程排列成一个设备请求队列,设备分配程序总是把设程排列成一个设备请求队列,设备分配程序总是把设备首先分配给队首进程。备首先分配给队首进程。优先权高者优先算法。这种算法中,系统首优先权高者优先算法。这种算法中,系统首先把设备分配给优先权高的进程,使高优先权的进先把设备分配给优先权高的进程,使高优先权的进程能够尽快完成。程能够尽快完成。本讲稿第六十五页,共七十七页5 5、设备分配中的安全性、设备分配中的安全性 安全分配方式。每