教学课件PPT计算机设备管理.ppt

上传人:李主任 文档编号:3834212 上传时间:2019-09-28 格式:PPT 页数:95 大小:1.18MB
返回 下载 相关 举报
教学课件PPT计算机设备管理.ppt_第1页
第1页 / 共95页
教学课件PPT计算机设备管理.ppt_第2页
第2页 / 共95页
教学课件PPT计算机设备管理.ppt_第3页
第3页 / 共95页
教学课件PPT计算机设备管理.ppt_第4页
第4页 / 共95页
教学课件PPT计算机设备管理.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《教学课件PPT计算机设备管理.ppt》由会员分享,可在线阅读,更多相关《教学课件PPT计算机设备管理.ppt(95页珍藏版)》请在三一文库上搜索。

1、1,第5章 设备管理,主要内容 I/O硬件原理 I/O软件原理 具有通道的I/0系统 缓冲技术 驱动调度技术 设备分配 虚拟设备 Linux设备管理,2,设备管理的功能,外围设备中断处理 缓冲区管理 外围设备的分配和去配 外围设备驱动调度 虚拟设备及其实现,3,5.1 I/O硬件原理,5.1.1 I/O系统 5.1.2 I/O控制方式 5.1.3 设备控制器,4,5.1.1 I/O系统,I/O系统 I/O设备及其接口线路、控制部件、通道和管理软件的总称。 I/O操作 计算机的主存和外围设备的介质之间的信息传送操作。,5,按照I/O特性,I/O设备可以划分为I/O型和存储型外围设备三类。 按照I

2、/O信息交换的单位,I/O设备可分为字符设备和块设备。 输入型外围设备和输出型外围设备一般为字符设备,与主存进行信息交换的单位是字节。存储型外围设备一般为块设备。,I/O系统分类,6,存储型外围设备分类,存储型外围设备可以划分为顺序存取存储设备和直接存取存储设备。 顺序存取存储设备严格依赖信息的物理位置进行定位和读写,如磁带。 直接存取存储设备的重要特性是存取任何一个物理块所需的事件几乎不依赖于此信息的位置,如磁盘。,7,设备的物理特性差异, 数据传输率 数据表示方式 传输单位 出错条件,8,5.1.2 I/O控制方式,按照I/O控制器功能的强弱,及和CPU间联系方式的不同,对I/O设备的控制

3、方式分类,主要差别在于:中央处理器和外围设备并行工作的方式不同,并行工作的程度不同。 四种I/O方式: (1)轮询方式 (2)中断方式 (3)DMA方式 (4)通道方式,9,1.轮询方式,使用查询指令测试设备控制器的忙闲状态位,决定主存和设备是否能交换数据。 轮询方式使用: 1)查询指令:查询设备是否就绪; 2)读/写指令:当设备就绪时,执行数据交换; 3)转移指令:当设备未就绪时,执行转移指令转向查询指令继续查询。 几个设备同时要求I/O,可对每个设备都编写I/O数据处理程序,轮流查询这些设备的状态位,当某个设备准备好允许I/O数据时,就调用这个设备的I/O程序处理数据传输,否则依次轮询下个

4、设备是否准备好。,10,2.中断方式,中断方式要求CPU与设备控制器及设备之间有中断请求线,控制器的状态寄存器有相应中断允许位。 CPU与设备之间数据传输过程: 1)进程发出启动I/O指令,这时CPU会加载控制信息到设备控制器的寄存器,然后,进程继续执行或放弃CPU等待设备操作完成; 2)设备控制器检查状态寄存器内容,按照I/O指令的要求,执行相应I/O操作,一旦传输完成,设备控制器通过中断请求线发出I/O中断信号; 3)CPU收到并响应I/O中断后,转向处理该设备的I/O中断处理程序执行; 4)中断处理程序执行数据读取操作,将I/O缓冲寄存器的内容写入主存,操作结束后退出中断处理程序,返回中

5、断前的执行状态; 5)进程调度程序在适当时刻恢复得到数据的进程执行。,11,3.DMA方式,如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器存取DMA方式。DMA方式需以下设施: (1)主存地址寄存器 (2)字计数器 (3)数据缓冲寄存器或数据缓冲区 (4)设备地址寄存器 (5)中断机制和控制逻辑 DMA控制器(direct-memory access):直接操作内存总线,无需主CPU的帮助即可以将地址放到总线以开始传输。,12,DMA控制器的握手执行,DMA控制器与设备控制器之间的握手 当有数据需要传输时,设备控制器通过DMA-request线发

6、送信号; 上述信号导致DMA控制器抓住内存总线,并在内存地址总线上放上所需地址,并通过DMA-acknowledge线发送信号; 当设备控制器收到DMA-acknowledge信号时,就可以向内存传输数据,并清除DMA-request请求信号; 当整个传输完成,DMA控制器中断CPU。 优点:将大量传输工作下交给DMA控制器,能够减轻CPU负担,改善系统性能。,13,4.通道方式,为获得CPU和外围设备间更高的并行工作能力,为让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。 采用通道后的I/O操作过程: CPU在执行主程序时遇到I/O请求,

7、它启动指定通道上选址的外围设备,一旦启动成功,通道开始控制外围设备进行操作。CPU就可执行其他任务并与通道并行工作,直到I/O操作完成。通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。,14,5.1.3 设备控制器,什么是控制器 引入控制器的原因 控制器的功能 设备控制器组成部分,15,设备控制器功能和结构小结(1),设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输 设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址。,16,设备控制器功能和结构小结(2),设备控制器主要功能: 接收和

8、识别CPU或通道发来的命令 实现数据交换,包括设备和控制器间的数据传输 发现和记录设备及自身的状态信息,供CPU处理 设备地址识别 设备控制器组成部分:命令寄存器及译码器,数据寄存器,状态寄存器,地址译码器。,17,5.2 I/O软件原理,5.2.1 I/O软件的设计目标和原则 5.2.2 I/O中断处理程序 5.2.3 设备驱动程序 5.2.4 与硬件无关的操作系统I/O软件 5.2.5 用户空间的I/O软件,18,5.2.1 I/O软件的设计目标和原则,I/O软件总体设计目标: 高效率 通用性 I/O软件总体设计要考虑的问题: 设备无关性 出错处理 同步(阻塞)异步(中断驱动)传输 缓冲技

9、术,19,I/O软件组织成四个层次,I/O中断处理程序 设备驱动程序 与设备无关的操作系统I/O软件 用户层I/O软件,20,5.2.2 I/O中断处理程序,I/O中断的类型和功能 通知用户程序I/O操作沿链推进程度 通知用户程序I/O操作正常结束 通知用户程序发现的I/O操作异常 通知程序外围设备上重要的异步信号 I/O中断的处理原则 操作正常结束处理 操作发生故障或特殊事件的中断处理 人为要求而产生的中断处理 外围设备的异步信号处理,21,5.2.3 设备驱动程序(1),设备驱动程序包括与设备相关的代码,其工作是:把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端

10、口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。 设备驱动程序从与设备无关的软件中接收抽象的I/O请求,一条典型的请求是读第n块。 如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。,22,设备驱动程序(2),设备驱动程序主要功能: 1)设备初始化 2)执行设备驱动例程 3)执行中断处理例程,23,5.2.4 与硬件无关的操作系统I/O软件(1),设备无关软件完成的功能: 对设备驱动程序的统一接口 设备命名 设备保护 提供独立于设备的块大小 缓冲区管理 块设备的存储分配 独占性外围设备的分配和释放 错误报告,24,与硬件无关的操作系统I/O软

11、件(2),文件和I/O设备的命名方式 如何保护对设备的未授权访问 屏蔽不同磁盘扇区大小并向高层软件提供统一大小的逻辑块 块设备和字符设备需要缓冲技术 错误处理多数由驱动程序完成,25,5.2.5 用户空间的I/O软件,库例程实现的 I/O系统调用 I/O系统调用通常先是库例程调用 非库例程实现的 I/O系统调用 spooling系统,26,I/O系统各层软件及其功能,27,5.3 具有通道的I/O系统管理,5.3.1 通道命令和通道程序 5.3.2 I/O指令和主机I/O程序 5.3.3 通道启动和I/O操作过程,具有通道的计算机系统,I/O程序设计涉及:CPU执行I/O指令,通道执行通道命令

12、,以及CPU和通道之间的通信。,28,5.3.1 通道命令和通道程序(1) 通道命令,通道,具有自己的指令系统,它的指令常称通道命令。 通道命令CCW是通道从主存取出并控制I/O设备执行I/O操作的命令字,用ccw编写的程序称通道程序,通道程序由多条通道命令组成,每次启动可以完成复杂的I/O控制。,29,通道命令和通道程序(2) IBM370系统的通道命令,30,命令码 规定设备所执行的操作(数据传输类、通道转移类、设备控制类)。 数据主存地址 数据传输类,规定所访问数据的起始位置;通道转移类,规定转移地址。 标志码 定义通道程序的链接方式或标志通道命令的特点。 传送字节个数 数据传输类,规定

13、本次交换的字节个数;通道转移类,填一个非0数。,31,通道地址字和通道状态字(1),通道方式I/O时,要使用两个固定存储单元: 通道地址字CAW(Channel Address Word) 存放通道程序的首地址 通道状态字CSW(Channel Status Word) 通道命令地址 设备状态 通道状态 剩余字节个数,32,5.3.2 I/O指令和主机I/O程序(1),IBM系统主机提供一组完成I/O操作的I/O指令。 I/O指令有: 启动I/O(Start I/O,SIO) 查询I/O(Test I/O,TIO) 查询通道(Test Channel,TCH) 停止I/O(Halt I/O,H

14、IO) 停止设备(Halt Device,HDV) SIO X00E,33,I/O指令和主机I/O程序(2),确定I/O任务,了解使用何种设备,属于哪个通道,操作方法如何等。 确定算法,决定例外情况处理方法。 编写通道程序,完成相应I/O操作。 编写主机I/O程序,对不同条件码进行不同处理。,执行一次I/O操作的步骤,34,5.3.3 通道启动和I/O操作过程,CPU是主设备,通道是从设备,CPU和设备之间是主从关系,需要相互配合协调才能完成I/O操作。 那么CPU如何通知通道做什么?通道又如何告知CPU其状态和工作情况呢?,35,通道方式I/O过程三个阶段,l. I/O启动阶段 2. I/O

15、操作阶段 3. I/O结束阶段,36,5.4 缓冲技术,5.4.1 单缓冲 5.4.2 双缓冲 5.4.3 多缓冲,37,引入缓冲技术的目的,改善中央处理器与外围设备之间速度不配的矛盾 协调逻辑记录大小与物理记录大小不一致 提高CPU和I/O设备的并行性,38,缓冲技术实现基本思想,进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。 进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。 在输出数

16、据时,只有在系统还来不及腾空缓冲而进程又要写数据时,它才需要等待; 在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。,39,5.4.1 单缓冲,对于块设备,单缓冲机制如下工作: 数据处理过程 从磁盘读一块数据至缓冲区(花费时间T) 把缓冲区中数据送到用户区(花费时间M) 预读下一块,计算(花费时间C) 数据处理时间约为maxC,T+M, 对于字符设备,单缓冲机制如下工作: 数据处理过程 逐行处理,一行未处理完,要等待。,40,5.4.2 双缓冲,输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区

17、2。 当缓冲区1空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区2的数据传送到用户进程区,用户进程开始加工缓冲区2的数据。,41,传输和处理一块的时间,如果CT,由于M远小于T,在将磁盘上的一块数据传送到缓冲区其间,计算机已完成将另一个缓冲区中的数据传送到用户区并对这块数据进行计算的工作,一块数据的传输和处理时间为T、即max(C,T),显然,这种情况下可保证块设备连续工作;,如果CT,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/

18、O。,42,5.4.3 多缓冲,操作系统从主存区域中分配一组缓冲区组成循环缓冲,每个缓冲区的大小等于物理记录的大小。多缓冲的缓冲区是系统的公共资源,可供各个进程共享,并由系统统一分配和管理。 缓冲区按用途分为 输入缓冲区 处理缓冲区 输出缓冲区,43,5.4.4 缓冲区高速缓存 (1),内核建立数据缓冲区高速缓存,专门用于保存最近被使用过的磁盘数据块。 数据缓冲区高速缓存实现思想: 当请求从指定文件读写数据时,给定设备号和盘块号,必须能快速查询该数据块是否在高速缓存中,如果在的话,是在哪个缓冲区并能获得其内容; 如果数据块不在高速缓存中,则需要从磁盘上读数据,并将其缓冲起来,系统采用合适的算法

19、把尽可能多的数据保存在缓冲区高速缓存。,44,缓冲区高速缓存 (2),向磁盘上写的数据也被暂存于数据缓冲区高速缓存中,以供回写磁盘之前再次使用。内核还会判定数据是否真的需要回写,或数据是否很快就要被回写,尽量采用延迟写来减少I/O次数。 当有文件关闭或撤销时,解决不再需要的缓冲区的重用,可采用策略(如LRU)把单独的缓冲区链在一起,于是,最不可能被再次访问的缓冲区将被最先重用。 提供一组高速缓存操作,为文件驱动程序实现读写文件数据,通常有:写缓存、延迟写缓存、读缓存、预读缓存等。,45,5.5 驱动调度技术,5.5.1 存储设备的物理结构 5.5.2 循环排序 5.5.3 优化分布 5.5.4

20、 搜查定位 5.5.5 独立磁盘冗余阵列 5.5.6 提高磁盘I/O速度的一些方法,46,驱动调度,驱动调度 使得诸多传输请求能够按最佳次序执行的调度策略。 驱动调度算法 驱动调度所使用的算法称为 驱动调度能减少为若干个I/O请求服务所需的总时间,提高系统效率。除了I/O请求的优化排序外,信息在辅助存储器上的排列方式,存储空间分配方法都能影响存取访问速度。,47,5.5.1 存储设备的物理结构(1),顺序存取存储设备是严格依赖信息的物理位置进行定位和读写的存储设备 具有存储容量大、稳定可靠、卷可装卸和便于保存等优点,48,存储设备的物理结构(2),磁盘是一种直接(随机)存取存储设备。每个物理记

21、录有确定的位置和唯一的地址,存取任何一个物理块所需的时间几乎不依赖于此信息的位置。 访问磁盘记录参数:柱面号、磁头号、块号,直接存取存储设备,49,50,5.5.2 循环排序(1),考虑磁道保存4个记录的旋转型设备,假定收到四个I/O请求。假设旋转一周需要20毫秒。 请求次序 记录号 (1) 读记录4 (2) 读记录3 (3) 读记录2 (4) 读记录1,51,循环排序(2),方法1:按照I/O请求次序读记录4、3、2、1,平均用1/2周定位,再加上1/4周读出记录,总处理时间等于3周,即60毫秒。 方法2:如果次序为读记录1、2、3、4。总处理时间等于1.5周,即30毫秒。 方法3:如果知道

22、当前读位置是记录3,则采用次序为读记录4、1、2、3。总处理时间等于周,即20毫秒。,多种I/O请求排序方法,52,5.5.3 优化分布(1),信息在存储空间的排列方式会影响存取等待时间。考虑10个逻辑记录A,B,J被存于旋转型设备上,每道存放10个记录,安排如下: 物理块 逻辑纪录 1-10 A-J 处理10个记录的总时间 10毫秒(移动到记录A的平均时间)+ 2毫秒(读记录A)+ 4毫秒(处理记录A)+916毫秒(访问下一记录) +2毫秒(读记录)+4毫秒(处理记录) 214毫秒,53,优化分布(2),物理块 逻辑纪录 1 A 2 H 3 E 4 B 5 I 6 F 7 C 8 J 9 G

23、 10 D,按照下面方式对信息优化分布,54,优化分布(3),10毫秒(移动到记录A的平均时间)+ 102毫秒(读记录)+4毫秒(处理记录) =70毫秒,处理10个记录的总时间为,55,5.5.4 搜查定位,移盘调度有若干策略 (1)先来先服务算法(FCFS) (2)电梯调度算法 (3)最短查找时间优先算法(SSTF) (4)扫描算法(SCAN) (5)分步扫描算法 (6)循环扫描算法,56,(1)FCFS调度,按请求到来的顺序进行服务 优点:比较公平 缺点:通常不能提供最快的服务 例:,有一个磁盘队列,其I/O对各个柱面上块的请求顺序如下: 98,183,37,122,14,124,65,6

24、7 磁头开始位于53,57,FCFS:总的磁头移动量为640柱面,58,(2)SSTF调度,从当前磁头位置选择最短寻道时间的请求,即选择与当前磁头位置最近的待处理请求 优点:较FCFS大大提高了性能 缺点:可能会导致一些请求得不到服务,并不是最佳 例:,有一个磁盘队列,其I/O对各个柱面上块的请求顺序如下: 98,183,37,122,14,124,65,67 磁头开始位于53,59,SSTF:总的磁头移动量为236柱面,60,(3)SCAN调度,磁臂从磁盘的一端向另一端移动,同时当磁头移过每个柱面时,处理位于该柱面上的服务请求。当到达另一端(磁盘的尽头)时,磁头改变方向,处理继续。 需要知道

25、磁头的当前位置和磁头移动的方向 某些请求处理可能不及时 例:,有一个磁盘队列,其I/O对各个柱面上块的请求顺序如下: 98,183,37,122,14,124,65,67 磁头开始位于53,向0方向移动,61,SCAN:总的磁头移动量为236柱面,62,(4)电梯调度,SCAN的变种 磁头只移动到一个方向上最远的请求为止,然后马上回头,而不是继续到磁盘的尽头 例:,有一个磁盘队列,其I/O对各个柱面上块的请求顺序如下: 98,183,37,122,14,124,65,67 磁头开始位于53,向199方向移动,63,电梯:总的磁头移动量为299柱面,64,(5)分布扫描算法,将I/O请求分组,每

26、组不超过N个请求,每次选择一组进行扫描,处理完一组后再选择下一组。 保证每个存储请求的等待时间不会太长。 N值很大时,接近SCAN算法的性能; N=1时,接近FCFS算法的性能。,65,(6)循环扫描算法,移动臂总是从0号柱面至最大号柱面顺序扫描,然后,直接返回0号柱面重复进行(归途不再提供服务)。 能够缩短刚离开的柱面上又到达的大量I/O请求的等待时间。,66,调度算法练习,假设移动头磁盘有200个磁道(0199)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO算法排成的等待服务队列顺序:86,147,91,177,94,150,102,17

27、5,130那么,用下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少?(1)FCFS(2)SSTF(3)SCAN(4)电梯,67,(1)FCFS:565,0 86 91 94 102 130 143 147 150 175 177 199,68,(2)SSTF:162,0 86 91 94 102 130 143 147 150 175 177 199,69,(3)SCAN:169,0 86 91 94 102 130 143 147 150 175 177 199,70,(4)电梯:125,0 86 91 94 102 130 143 147 150 175 177 199,71,L

28、inux磁盘调度算法,Linux 2.4磁盘调度采用电梯调度算法。 Linux2.6增加两种新磁盘调度算法: 时限调度算法 预期调度算法,72,5.5.5 独立磁盘冗余阵列,独立磁盘冗余阵列是利用一台磁盘阵列控制器统一管理和控制一组磁盘驱动器,组成一个速度快 、可靠性高、性能价格比好的大容量磁盘系统。 RAID:独立磁盘冗余阵列 R:redundancy 冗余 A:array 阵列 I:independent 独立 D:disk 磁盘,73,1、通过冗余改善可靠性复制每个磁盘(镜像,简单但昂贵) 2、通过并行处理改善性能在多个磁盘上分散数据 位级分散:在多个磁盘上分散每个字节的各个位 块级分散

29、:一个文件的块可分散在各个磁盘上 其它分散级别 扇区字节 块的扇区 磁盘系统并行访问的两个主要目的 通过负荷平衡,增加了多个小访问的吞吐量 降低大访问的响应时间,74,3、RAID级别,分析:镜像提供高可靠性,但很昂贵;分散提供了高数据传输率,但并未改善可靠性 RAID级别:通过磁盘分散和“奇偶”位可以提供多种方案,以在低价下提供冗余 RAID 0:按块级别分散的磁盘阵列,但没有冗余,75,3)RAID 2:内存方式的差错纠正代码结构(4个存储,3个纠错),2)RAID 1:磁盘镜像(4个存储,4个镜像),Hamming校验码,76,4)RAID 3:基于位交织奇偶结构(4个存储,1个纠错),

30、5)RAID 4:基于块交织奇偶结构(4个存储,1个纠错),奇偶校验位,77,6) RAID 5:块交织分布式奇偶结构(5个都有数据和奇偶块),7)RAID 6:P+Q冗余方案(差错纠正码Reed-Solomon码),两种校验码:P&Q,78,RAID级别的选择,RAID系统的重建性能 可靠性 磁盘数量 每个奇偶位所能保护的位数,79,5.5.6 提高磁盘I/O速度的方法,提前读 延迟写 虚拟盘,80,5.6 设备分配,5.6.1 设备独立性 5.6.2 设备分配和设备分配数据结构,81,5.6.1 设备独立性,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其

31、它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。 设备独立性带来的好处: 用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障。,82,5.6.2 设备分配(1),从设备的特性来看,可以把设备分成独占设备、共享设备和虚拟设备三类。 相应的管理和分配外围设备的技术可分成:独占方式、共享方式和虚拟方式 。 常用的I/O设备分配算法 先请求先服务,优先级高者先服务等。此外,在多进程请求I/O设备分配时,应防止因循环等待对方所占用的设备而产生死锁,应预先进行检查。,83,设备分配(2) I/O设备分配的实现(1),设备分配的数据结构:设备类

32、表和设备表。 系统中拥有一张设备类表,每类设备对应于表中一栏,包括内容有:设备类、总台数、空闲台数和设备表起始地址等。 每一类设备都有各自的设备表,用来登记这类设备中每一台设备的状态,包含的内容有:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。,84,设备分配(3) I/O设备分配的实现(2),采用通道结构的系统中,设备分配的数据结构设置:系统设备表、通道控制表、控制器控制表和设备控制表。 系统建立一张系统设备表,记录配置在系统中的所有物理设备的情况。 每个通道、控制器、设备各设置一张表,记录各自的地址(标识符)、状态(忙/闲)、等待获得此部件的进程队列指针、及一次分配后

33、相互勾链的指针,以备分配和执行I/O时使用。,85,5.7 虚拟设备,5.7.1 问题的提出 5.7.2 SPOOLING的设计和实现 5.7.3 SPOOLING应用例子,86,5.7.1 问题的提出,静态分配方式不利于提高系统效率 采用脱机外围设备操作 联机同时外围设备操作(又称作假脱机操作),87,5.7.2 SPOOLING的设计和实现,“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。 预输入程序 缓输出程序 井管理程序,88,SPOOLING组成和结构,89,输入井中作业状态, 输入状态:作业信息正在从输入设备上预输入。 收容收态:作业预输入结束

34、,但未被选中执行。 执行状态:作业已被选中运行,在运行过程中可以从输入井中读取数据,也可向输出井写入数据; 完成状态:作业已撤离,作业的输出结果等待缓输出。,90,SPOOLING数据结构,作业表:登记进入系统的所有作业的作业名、状态、预输入表位置等信息。 预输入表:每个用户作业有一张用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。 缓输出表:每个用户作业拥有一张包括作业名、作业状态、文件名、设备类、数据起始位置、数据当前位置等。,91,井文件空间的管理(1),第一种是连接方式,输入的信息被组织成连接文件,这种方式的优点是数据信息可以不连续存放,文件空间利用率高。,92,井文

35、件空间的管理(2),第二种是计算方式,假定磁盘井文件空间,每个磁道存放100个80字节记录,每张卡片为80个字节,若每个柱面有20个磁道,则一个柱面可存放2000张卡片信息。第n张卡片信息被存放在: 磁道号卡片号n /100 记录号(卡片号n)mod100 用卡片号n除以100的整数和余数部分分别为其存放的磁道号和记录号。,93,Spooling应用例子,(1)打印机spooling守护进程 (2)网络通信spooling守护进程,94,5.8 Linux设备管理概述,Linux中,设备当作文件处理,可使用标准文件系统调用来控制设备操作。对于字符设备和块设备,其设备文件用mknod命令创建,用

36、主设备号和次设备号标识,同一设备驱动程序控制的所有设备具有相同的主设备号,并用不同次设备号加以区别; 网络设备也当作设备文件来处理,不同的是这类设备由Linux创建,并由网络控制器初始化; 设备文件与普通文件有着根本不同,当进程访问普通文件时,它会通过文件系统访问磁盘分区中的数据块;当进程访问设备文件时,它只要驱动物理设备就行,VFS负责为应用程序隐蔽设备文件与普通文件之间的差异,可把对设备文件的任一系统调用转换成对设备驱动程序的函数调用。,95,作业(思考题 3、12、26),补充:假设一个磁盘驱动器有5000个柱面,从0到4999。驱动器正为柱面143的一个请求提供服务,且前面的一个服务请求是柱面125。按FIFO顺序,即将到来的请求队列是: 86,1470,913,1774,948,1509,1022,1750,130 从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱面数计)是多少? FCFS、SSTF、SCAN、电梯,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育


经营许可证编号:宁ICP备18001539号-1