




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章设备管理
操作系统中负责I/O设备管理部分称为I/O系统,完成设备管理功效,对OS影响非常大。与处理机管理、存放器管理亲密相关,设备管理所以经常作为操作系统内核一部分。计算机设备管理--操作系统第1页设备管理主要对象:I/O设备,设备控制器和I/O通道。设备管理基本任务:完成用户提出I/O请求,提升I/O效率,提升I/O设备利用率。设备管理主要功效:缓冲区管理,设备分配,设备处理,虚拟设备,实现设备独立性。I/O设备种类多操作差异大,设备管理是操作系统中最繁杂且与硬件最紧密相关部分。计算机设备管理--操作系统第2页5.1I/O系统概述
I/O系统组成主要包含:I/O设备、设备控制器及相关接口、总线等,大型主机还包含I/O通道。
计算机设备管理--操作系统第3页5.1.1I/O设备
1、I/O设备类型(1)
按传输速率分类低速:键盘、鼠标、语音输入输出设备。中速:行式打印机、激光打印机。高速:磁盘、磁带、光盘。计算机设备管理--操作系统第4页(2)
按信息交换单位分类(信息组织方式):块设备:信息存取以数据块为单位,如磁盘(适合DMA方式)字符设备:信息存取以字符为单位,如打印机、交互式终端。(3)
按设备共享属性分类:独占:如打印机共享:如磁盘虚拟:经过虚拟技术将一台独占设备变换为若干台逻辑设备,供多个进程同时使用。计算机设备管理--操作系统第5页2、设备与控制器之间接口设备不直接同计算机连接,普通是经过专用电缆线连接控制器与设备。二者传递信号主要是三类:(1)数据信号:控制器到设备(输出)、设备到控制器(输入)(2)控制信号:控制器到设备(3)状态信号:设备到控制器在小型机和微型机中,控制器普通直接做成印刷电路板插入计算机(在微机中习惯称为卡,如图形加速卡,网卡)计算机设备管理--操作系统第6页5.1.2I/O管理目标设备管理要到达主要目标是:1.提供统一界面、方便用户使用使用逻辑操作和逻辑设备名掩盖设备物理细节。程序对设备独立性:在源程序和目标程序中都使用设备符号名(逻辑设备名);提供设备管理与文件系统统一接口;向程序提供设备重定向功效。计算机设备管理--操作系统第7页2.发挥系统并行性,提升I/O设备使用效率。采取各种软硬结合技术使设备、CPU、用户程序、人这四者到达最高程度并行采取技术有:中止技术、缓冲技术、设备共享和假脱机技术。3.实现设备正确、安全使用——设备保护技术:掩盖细节高级接口;命名与权限管理;只有特权指令才能使用设备硬件接口。计算机设备管理--操作系统第8页5.1.3I/O管理功效
1.缓冲区管理计算机系统中各个部件速度差异很大。中央处理机速度以纳秒计,外部设备处理速度则以毫秒甚至秒计。在不同时刻,系统各部分负荷也常常很不均衡。为充分发挥并行性,引入缓冲技术。计算机设备管理--操作系统第9页
2.外围设备分配按照设备类型(独享、共享或虚拟)和系统中所采用分配算法,决定把一个I/O设备分配给哪一个要求该类设备进程。在大、中系统中,分配设备同时,还应分配相应控制器和通道,以保证I/O设备与CPU之间有传递信息通路;凡未分配到所需设备或控制器或通道进程,应放入相应等待队列。设备分配程序就是用来实现这一功能。计算机设备管理--操作系统第10页3.设备处理设备处理程序又叫设备驱动程序。4.虚拟设备及实现设备独立性计算机设备管理--操作系统第11页5.1.4I/O应用接口I/O系统必须采取某种技术使I/O设备能够按统一标准方式对待。采取方式有:抽象、包装与软件分层能够从不一样I/O设备中抽象出一些通用类型。每个通用类型都能够经过一组标准函数(即接口)来访问。详细差异被内核模块(设备驱动程序)所封装。不一样设备有自己驱动程序,但提供了一组标准接口。计算机设备管理--操作系统第12页设备驱动程序层为内核I/O子系统隐藏设备控制器之间差异,从而简化了OS开发人员任务,也有利于硬件制造商。每种OS都有自己设备驱动程序接口。故一个特定设备可能有各种设备驱动程序。而I/O系统调用又为上层应用程序包装了硬件细节。计算机设备管理--操作系统第13页5.1.5设备管理总体结构计算机设备管理--操作系统第14页划分为四层:①设备中止处理程序;中止处理程序是设备驱动程序中一部分②设备驱动程序;③与设备无关操作系统软件(设备无关层)负责将逻辑设备名转换为物理设备名,实现设备分配和回收,进行缓冲区管理。④用户级软件(指用户空间I/O软件)用户与设备管理模块接口,负责解释用户应用请求,并将这种请求转化为详细输入/输出操作。计算机设备管理--操作系统第15页相关层(较低层)用于将硬件特征与无关层(较高层)隔离开,而无关层(较高层)则参加向用户提供一个友好、清楚而规范接口。从功效上看,无关层是I/O管理主要部分,从代码量看,驱动层是I/O管理主要部分。计算机设备管理--操作系统第16页计算机设备管理--操作系统第17页内核I/O结构计算机设备管理--操作系统第18页LifeCycleofAnI/ORequest计算机设备管理--操作系统第19页5.1.6I/O控制方式问询方式,又称程序直接控制方式。中止方式DMA方式通道技术计算机设备管理--操作系统第20页5.2内核I/O子系统内核I/O子系统是建立在硬件和设备驱动程序之上。提供与I/O相关服务,如调度、缓冲、高速缓冲、假脱机、错误处理等。计算机设备管理--操作系统第21页5.2.1I/O调度I/O调度是指OS依据一定算法按照一定次序为系统中I/O请求提供服务。从而改进系统性能,使进程公平地共享设备。OS经过为每个设备维护一个请求队列来实现调度。I/O调度依据需要重新安排队列次序以改进系统总体效率和应用程序平均响应时间。计算机设备管理--操作系统第22页5.2.2
缓冲管理
缓冲区是用来保留在两个设备之间或在设备和应用程序之间所传输数据内存区域。1.引入缓冲区原因(1)处理数据生产者和消费者速度不匹配。如从调制解调器上收到文件并保留到硬盘上。(2)协调传输数据大小不一致设备。如计算机网络上,发送方消息被分成若干包,接收方在缓冲区中重组数据。(3)降低对CPU中止频率(4)提升CPU和I/O设备之间并行性计算机设备管理--操作系统第23页2.单缓冲(singlebuffer):当用户进程发出I/O请求时,OS便在主存中为之分配一个缓冲区。一个缓冲区,CPU和外设轮番使用,一方处理完之后接着等候对方处理。
计算机设备管理--操作系统第24页3.双缓冲(doublebuffer):为了加紧输入和输出速度,引入双缓冲区。设备输入时,先将数据送入第一缓冲区,装满后再转向第二缓冲区。此时OS能够从第一缓冲区移出数据,送入用户进程所在内存。两个缓冲区,CPU和外设都能够连续处理而无需等候对方。要求CPU和外设速度相近。
计算机设备管理--操作系统第25页4.循环缓冲
环形缓冲(circularbuffer):多个缓冲区,CPU和外设处理速度能够相差较大。可参见“生产者-消费者问题”,以上缓冲区仅适合用于特定I/O进程和计算进程,属于专用缓冲区。系统较大时,会有多个专用缓冲区,消耗大量内存空间,利用率低,当前广泛使用公用缓冲池,池中设置了多个供若干进程共享缓冲区。
计算机设备管理--操作系统第26页5.缓冲池(1)缓冲池组成既可用于输入,又可用于输出,缓冲池中有三类缓冲区:①
空闲缓冲区队列emq②输入缓冲区队列inq:由装满输入数据缓冲区链成队列。③输出缓冲区队列outq:由装满输出数据缓冲区链成队列。计算机设备管理--操作系统第27页计算机设备管理--操作系统第28页(2)
对缓冲池操作:①收容输入——设备输入数据②提取输入——计算进程读入数据③收容输出——计算进程输出数据④提取输出——向设备输出数据。上述操作访问各个缓冲区队列时,需要进行对应互斥操作。计算机设备管理--操作系统第29页5.2.3
设备分配与回收当进程向系统提出I/O请求时,只要是可能和安全,设备分配程序便按照一定策略把设备分配给请求进程。有系统中还要分配对应控制器和通道。计算机设备管理--操作系统第30页1
设备分配中数据结构
(1)设备控制表(DCT,DeviceControlTable)每个设备一张,描述设备特征和状态。反应设备特征、设备和控制器连接情况。DCT内容主要包含:设备标识:用来区分不一样设备;设备类型:反应设备特征;如:块设备或字符设备;设备配置:I/O地址等;计算机设备管理--操作系统第31页设备状态:忙/闲,等候/不等候;(若与设备链接控制器或通道忙,则等候)等候队列:等候使用该设备进程队列;
与设备连接控制器表指针。计算机设备管理--操作系统第32页(2)系统设备表(SDT,SystemDeviceTable)系统内一张,反应系统中设备资源状态,统计全部设备状态及其设备控制表入口。SDT表项主要组成:DCT指针:指向对应设备DCT;设备使用进程标识:正在使用该设备进程标识;DCT信息:为引用方便而保留DCT信息,如:设备标识、设备类型等;计算机设备管理--操作系统第33页(3)控制器控制表(COCT,COntrollerControlTable)每个设备控制器一张,描述I/O控制器配置和状态。如DMA控制器所占用中止号、DMA数据通道分配。(4)通道控制表(CHCT,CHannelControlTable)每个通道一张,描述通道工作状态。控制器标识符控制器状态:忙/空闲与控制器连接通道指针等候控制器进程队列指针计算机设备管理--操作系统第34页系统设备表设备控制表控制器控制表1通道控制表设备控制表1控制器控制表2控制器控制表n设备控制表npcbpcbpcbpcb(5)表格之间关系pcbpcb计算机设备管理--操作系统第35页2
设备分配时应考虑原因
设备分配标准是合理使用外设(公平和防止死锁),提升设备使用率。(1)考虑设备固有属性独享设备:打印机等。进程使用完自己释放,普通不能剥夺;
共享设备:磁盘、网卡等。多个进程并发使用,需合理调度;虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。计算机设备管理--操作系统第36页(2)设备分配算法与进程调度类似,但简单一些;先来先服务(FCFS):按I/O请求先后次序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程优先级,指定I/O请求优先级,优先级高排在设备队列队首;同优先级则FCFS;按优先级高低分配设备。计算机设备管理--操作系统第37页(3)设备分配中安全性①安全分配方式进程发出I/O请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了“请求保持”条件。缺点:CPU与I/O设备是串行工作。②不安全分配方式进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程所请求设备已被另一进程占用时,进程才进入阻塞状态。优点:多个设备并行操作;缺点:可能造成死锁。计算机设备管理--操作系统第38页3
设备独立性(1)设备独立性(Deviceindependence)概念设备独立性指除了直接与设备打交道底层软件之外,其它部分软件并不依赖于硬件。能够提升软件设计效率。为了实现设备独立性:引入物理设备、逻辑设备应用程序使用逻辑设备名调用设备;OS实际执行时,使用物理设备名。OS负责将逻辑设备名转换为物理设备名。计算机设备管理--操作系统第39页(2)设备独立性带来以下好处:①设备分配时灵活性进程请求设备时,OS可从一类设备中选择空闲分配,不会因特定设备忙而阻塞。②实现I/O重定向I/O重定向:实现I/O操作设备能够更换,而无须改变应用程序。如,调试程序时先输出到屏幕,最终再打印计算机设备管理--操作系统第40页(3)逻辑设备名到物理设备名映射实现①逻辑设备表(LUT)当进程用逻辑设备名请求I/O设备时,系统为它分配对应物理设备,并在LUT中建立一个表目。②LUT设置可采取两种方式整个系统一张,不能有相同逻辑设备名。每个用户一张,放入PCB中计算机设备管理--操作系统第41页4.基本设备分配程序(1)分配设备(2)分配控制器(3)分配通道系统设备表设备控制表控制器控制表1通道控制表设备控制表1控制器控制表2控制器控制表n设备控制表npcbpcbpcbpcbpcbpcb计算机设备管理--操作系统第42页5.2.4SPOOLing技术
利用假脱机技术(SPOOLing,SimultaneousPeripheralOperationOnLine,也称为虚拟设备技术)可把独享设备转变成含有共享特征虚拟设备,从而提升设备利用率。计算机设备管理--操作系统第43页1、什么是SPOOLing引入:在多道程序系统中,专门利用一道程序(SPOOLing程序)来完成对设备I/O操作。无需使用外围I/O处理机。计算机设备管理--操作系统第44页让主机直接控制I/O称为联机I/O;让另一台“外围机”代替主机控制I/O称为脱机I/O。SPOOLing用联机I/O模拟脱机I/O操作,故称为“假脱机”。计算机设备管理--操作系统第45页原理:SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲(输入井),在以后需要时候输入到应用程序;其次,SPOOLing程序接收应用程序输出数据并加以缓冲(输出井),在以后适当时候输出到外设。应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为“虚拟I/O”。这时候虚拟I/O实际上是SPOOLing程序从缓冲池中读出数据或把数据送入缓冲池,而不是跟实际外设进行I/O操作。计算机设备管理--操作系统第46页2、SPOOLing系统组成(1)输入井和输出井:在磁盘上。(2)
输入缓冲区和输出缓冲区:在内存。缓解CPU和磁盘速度不匹配矛盾。(3)
输入进程和输出进程:守护(daemon)进程计算机设备管理--操作系统第47页3、SPOOLing系统特点优点:高速虚拟I/O操作:应用程序虚拟I/O比实际I/O速度提升,缩短应用程序执行时间(尽快完成计算,并释放占用计算机资源)。实现对独享设备共享:SPOOLing系统中,未为任何进程分配设备,是在输入井和输出井中为进程分配一个存放区、建立一张I/O请求表。由SPOOLing程序提供虚拟设备,使每个使用独占设备进程都认为是自己独占了一个设备。计算机设备管理--操作系统第48页4、举例:打印机设备和可由打印机管理器管理打印作业队列。如:WindowsNT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,今后用户能够关闭应用程序而转入其它工作,在以后适当时候由打印机管理器完成15分钟打印输出而无需用户干预。又如Internet上USENET电子邮件系统,要向某人发邮件,先调用一个称为send程序,send接到要发邮件,然后将它送入一个SPOOLing目录,待以后发送。计算机设备管理--操作系统第49页5.2.5犯错处理设备和I/O传输犯错有各种方式:短暂犯错OS能够填补,如磁盘read错能够重read永久错误OS就不可能从中恢复。如磁盘控制器故障。I/O系统调用通常返回一位调用状态信息,以表示成功或失败。UNIX系统用一个全局变量表示犯错代码,以表示犯错原因。计算机设备管理--操作系统第50页5.3设备处理
5.3.1设备驱动程序功效和特点一、设备驱动程序功效1.
将上层软件发来抽象要求转换为详细要求,发送给设备控制器。如将盘块号转换为磁盘盘面、磁道号及扇区号。2.
检验用户I/O请求正当性,了解设备状态,传递相关参数,设置设备工作方式。计算机设备管理--操作系统第51页3.
发出I/O命令,若设备空闲则开启。若设备忙,则将请求者请求块挂在设备队列上。4.及时响应通道或控制器发来中止请求,调用对应中止处理程序。5.对于设置有通道,自动组成通道程序计算机设备管理--操作系统第52页二、设备处理方式1.
作为应用进程一部分执行:与程序控制I/O相对应,难以对外设发出中止作实时响应;2.
作为系统进程执行:为每类设备设置一个进程;或整个系统设置一个I/O进程,负责对各类设备I/O进程管理;也可设置一个输入进程和一个输出进程;3.
不设进程,作为OS关键中设备驱动程序,供用户或系统进程调用。计算机设备管理--操作系统第53页三、设备驱动程序特点1.
设备驱动程序是在I/O请求进程与设备控制器之间桥梁,中转数据和控制。2.
设备驱动程序与I/O设备特征、控制方式及硬件亲密相关,普通由厂商提供。3.
向上屏蔽设备细节:不一样类型设备通常其设备驱动程序接口不一样,同类设备接口相同。所以,同类设备不一样型号,只要更换设备驱动程序则可由OS使用。计算机设备管理--操作系统第54页5.3.2设备驱动程序处理过程
1.
将抽象要求转化为详细要求。2.
检验I/O请求正当性3.
读出和检验设备状态4.
传送参数5.
设置工作方式6.
开启I/O设备计算机设备管理--操作系统第55页5.3.3中止处理程序处理过程
1.
唤醒被阻塞驱动程序进程2.
保护被中止进程上下文3.
分析中止原因并转入对应中止处理程序4.
中止处理5.
恢复被中止进程现场计算机设备管理--操作系统第56页5.4磁盘存放器管理
磁盘存放器:随机读写共享设备,可移动介质特点:容量大,速度快。管理要求:合理分配空间、访问效率高,容错能力强。其性能直接影响文件系统性能指标。计算机设备管理--操作系统第57页5.4.1磁盘性能简述
1、
数据组织地址格式:驱动器号、磁道号、磁头号、扇区号2、
磁盘类型(1)固定头磁盘(2)移动头磁盘3、
磁盘访问时间(1)寻道时间:与寻道距离成正比(2)旋转延迟时间(3)传输时间影响磁盘访问时间主要参数是寻道时间。计算机设备管理--操作系统第58页计算机设备管理--操作系统第59页5.4.2磁盘调度提升磁盘I/O速度路径:(1)
硬件处理(2)
好调度算法(3)
缓冲区来自不一样进程磁盘I/O请求组成一个随机分布请求队列。磁盘I/O调度算法主要目标就是降低请求队列对应平均柱面定位时间(寻道时间)。计算机设备管理--操作系统第60页1、先来先服务(FCFS)磁盘I/O执行次序为磁盘I/O请求先后次序。该算法特点是公平性;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能很好。计算机设备管理--操作系统第61页计算机设备管理--操作系统第62页2、最短寻道时间优先SSTF(ShortSeekTimeFirst)考虑磁盘I/O请求队列中各请求磁头定位位置,选择从当前磁头位置出发,移动最少磁盘I/O请求。该算法目标是使每次磁头移动时间最少。访问磁道与当前磁头所在位置最近,但不能确保平均寻道时间最短,但比FIFO算法有更加好性能。进程有可能“饿死”。计算机设备管理--操作系统第63页计算机设备管理--操作系统第64页3、扫描(SCAN)算法:电梯调度算法。选择在磁头前进方向上从当前位置移动最少磁盘I/O请求执行,没有前进方向上请求时才改变方向。该算法是对SSTF算法改进,磁盘I/O很好,且没有进程会饿死。计算机设备管理--操作系统第65页计算机设备管理--操作系统第66页4、循环扫描算法CSCAN(CircularSCAN):在一个方向上使用扫描算法,当抵达边缘时直接移动到另一沿第一个位置,即磁头向一个方向移动,到头后马上返回。该算法可改进扫描算法对中间磁道偏好。试验表明,该算法在中负载或重负载时,磁盘I/O性能比扫描算法好。计算机设备管理--操作系统第67页计算机设备管理--操作系统第68页以上算法无法处理磁臂粘着问题。5.N-Step-SCAN算法:把磁盘I/O请求队列分成长度为N段,每次使用扫描算法处理这N个请求,即将请求任务分成长度为N若干个队列,队列间调度采取FCFS方式,队列内部请求以SCAN方式调度。该算法目标是处理磁臂粘着问题。当N值很大时,该算法靠近于SCAN;而N=1时该算法变为FCFS。计算机设备管理--操作系统第69页6.FSCAN调度算法将N-Step-SCAN算法中队列数目定为2。把磁盘I/O请求分成两个队列,交替使用扫描算法处理一个队列,新生成磁盘I/O请求放入另一队列中。该算法目标与N步扫描算法一致。计算机设备管理--操作系统第70页作业某磁盘有1000个柱面(0~999),设磁头当前位置是756,磁头正向0磁道运动。按照FIFO排列磁盘请求队列以下:811,348,153,968,407,500画图说明FCFS、SCAN、SSTF算法完成上述磁盘请求调度情况,并计算为满足上述请求,各算法中磁头运动磁道数。计算机设备管理--操作系统第71页5.4.3磁盘高速缓存1.磁盘高速缓存形式指利用内存空间暂存从磁盘中读出盘块信息。是一组逻辑上属于磁盘,物理上驻留内存盘块。磁盘高速缓存在内存中有两种形式:大小固定,不受应用程序多少影响。全部未利用内存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年地产项目售后服务居间合同范本
- 二零二五年度海洋环保责任合同-海商法.x
- 二零二五年度医院信息化系统升级改造合同
- 二零二五年电力设备研发居间代理协议
- 二零二五版房地产投资信托基金(REITs)房地产开发经营合同范本
- 二零二五年跨境电商进口商品买卖合同模板
- 2025年度大数据分析企业员工劳动合同范本
- 二零二五年度材料买卖合同范本:电子信息材料采购合同
- 2025版物流信息化系统建设承包合同
- 二零二五年度建筑防水材料批发及售后服务合同
- (新版)心理学专业知识考试参考题库500题(含答案)
- 跨境电商亚马逊运营实务完整版ppt课件-整套课件-最全教学教程
- DB32-T 3755-2020 U型H型组合钢板桩支护技术规程-(高清现行)
- 2021年12月2022年上海市教育考试院招考聘用练习题及答案(第0版)
- 装饰装修临水临电施工组织设计
- 稼动率的管理规范(含表格)
- 纺织服装项目融资申请报告(参考范文)
- XX小区业主委员会的设立申请书范本
- 四议两公开一监督
- 临时用电作业票(共2页)
- 分布式光伏电站质量验收及评定项目划分表(分部分项)
评论
0/150
提交评论