第五部分设备管理教学课件

上传人:沈*** 文档编号:172791393 上传时间:2022-12-06 格式:PPT 页数:84 大小:825.03KB
收藏 版权申诉 举报 下载
第五部分设备管理教学课件_第1页
第1页 / 共84页
第五部分设备管理教学课件_第2页
第2页 / 共84页
第五部分设备管理教学课件_第3页
第3页 / 共84页
资源描述:

《第五部分设备管理教学课件》由会员分享,可在线阅读,更多相关《第五部分设备管理教学课件(84页珍藏版)》请在装配图网上搜索。

1、第五章 设 备 管 理 第五章第五章 设备管理设备管理 5.1 I/O5.1 I/O系统系统 5.2 I/O5.2 I/O控制方式控制方式 5.3 5.3 缓冲管理缓冲管理 5.4 5.4 设备分配设备分配 5.5 5.5 设备处理设备处理 5.6 5.6 磁盘存储器管理磁盘存储器管理 第五章 设 备 管 理 5.1 I/O 系系 统统 5.1.1 I/O设备设备 1.I/O设备的类型设备的类型 1)按传输速率分类按传输速率分类低速设备,低速设备,每秒钟几个字节至数百个字节,每秒钟几个字节至数百个字节,(键盘、(键盘、鼠标器、语音的输鼠标器、语音的输入和输出等设备)入和输出等设备)中速设备,中

2、速设备,每秒钟数千个字节至数万个字节。每秒钟数千个字节至数万个字节。(针式打印机、激光打印(针式打印机、激光打印机等)机等)高速设备,高速设备,数百千个字节至数十兆字节。数百千个字节至数十兆字节。(磁带机、(磁带机、磁盘机、磁盘机、光盘机光盘机等)等)第五章 设 备 管 理 2)按信息交换的单位分类按信息交换的单位分类块设备块设备(Block Device),用于,用于存储信息存储信息。(以。(以数据块数据块为存取单位),如磁为存取单位),如磁盘,每个盘块的大小为盘,每个盘块的大小为512 B4 KB。特征:。特征:1、传输速率较高、传输速率较高2、可寻址(可随机读、可寻址(可随机读/写任一块

3、);写任一块);3、DMA方方式。式。字符设备字符设备(Character Device),用于,用于数据的输入和输出数据的输入和输出。其基本单位是其基本单位是字符字符,故称为字符设备。如打印机,特征:故称为字符设备。如打印机,特征:1、传输速率低、传输速率低2、不可寻址(不能指定源地址和目标地址)、不可寻址(不能指定源地址和目标地址)3、中、中断驱动断驱动第五章 设 备 管 理 3)按设备的共享属性分类按设备的共享属性分类这种分类方式可将这种分类方式可将I/O设备分为如下三类:设备分为如下三类:(1)独占设备。独占设备。(临界资源)(临界资源)(2)共享设备。共享设备。(一段时间允许多个进程

4、同时访问,(一段时间允许多个进程同时访问,如磁盘)如磁盘)(3)虚拟设备。虚拟设备。(将一个独占设备变换为若干逻辑设(将一个独占设备变换为若干逻辑设备,如备,如CPU)第五章 设 备 管 理 2.设备与控制器之间的接口设备与控制器之间的接口 缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备输出:输出:先到缓冲,再到转换器先到缓冲,再到转换器(信号信号/数据数据)输入:输入:先到转换器,再到缓冲先到转换器,再到缓冲控制信号:控制信号:读操作,写操作,磁头移动等读操作,写操作,磁头移动等状态:状态:正在读或写,读写完成等正在读或写,读写完成等第五章 设 备 管 理 5

5、.1.2 设备控制器设备控制器1.设备控制器的基本功能设备控制器的基本功能 1)接收和识别命令接收和识别命令(CPU的命令。控制寄存器的命令。控制寄存器存放存放命令和参数,命令和参数,译码,如磁盘的译码,如磁盘的read,write,format)2)数据交换数据交换(控制器中数据寄存器,控制器中数据寄存器,CPU/控制器控制器/设备设备)3)标识和报告设备的状态标识和报告设备的状态(状态寄存器)(状态寄存器)4)地址识别地址识别(每个设备都有一个地址,配有地址译码器)(每个设备都有一个地址,配有地址译码器)5)数据缓冲数据缓冲(IO设备与设备与CPU之间速度矛盾,主机之间速度矛盾,主机/控制

6、器控制器/设备)设备)6)差错控制差错控制(对(对IO设备传来的数据进行差错检测)设备传来的数据进行差错检测)第五章 设 备 管 理 2.设备控制器的组成设备控制器的组成 图 5-2 设备控制器的组成 数据寄存器控制/状态寄存器数据线I/O逻辑控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制地址线控制线CPU与控制器接口控制器与设备接口第五章 设 备 管 理 三部分组成:三部分组成:1、设备控制器与处理器的接口、设备控制器与处理器的接口 三类信号线:数据线、地址线、控制线三类信号线:数据线、地址线、控制线 两类寄存器:数据寄存器、控制两类寄存器:数据寄存器、控制状态寄存器状态寄存器

7、 2、设备控制器与设备的接口、设备控制器与设备的接口 一个控制器可接多个设备,一个接口接一个设备一个控制器可接多个设备,一个接口接一个设备 3、IO逻辑逻辑 实现对设备的控制,实现对设备的控制,CPU启动设备过程:发送控制命令和地址给控制启动设备过程:发送控制命令和地址给控制器,器,IO逻辑接收命令并译码逻辑接收命令并译码第五章 设 备 管 理 5.1.3 I/O通道通道 1.I/O通道通道(I/O Channel)设备的引入设备的引入 I/O通道是一种特殊的通道是一种特殊的处理机处理机。它具有执行。它具有执行I/O指令的能力,指令的能力,并通过执行通道并通过执行通道(I/O)程序来控制程序来

8、控制I/O操作。操作。IO通道的目的使原来由通道的目的使原来由CPU执行的执行的IO任务承担下来任务承担下来但但I/O通道又与一般的处理机不同:通道又与一般的处理机不同:指令类型单一,主要局限于与指令类型单一,主要局限于与I/O操作有关的指令;操作有关的指令;通道没有自己的内存,与通道没有自己的内存,与CPU共享内存。共享内存。第五章 设 备 管 理 2.通道类型通道类型 1)字节多路通道字节多路通道(Byte Multiplexor Channel)图 5-3 字节多路通道的工作原理 控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2

9、N3子通道NA1B1C1A2B2C2设备字节多路通道不适于连接高速设备字节多路通道不适于连接高速设备第五章 设 备 管 理 2)数组选择通道数组选择通道(Block Selector Channel)可以连接多台高速设备,可以连接多台高速设备,只含有只含有一个一个分配型分配型子通道子通道,在,在一段时间一段时间内只能控制内只能控制一台一台设设备进行数据传送,并备进行数据传送,并独占独占该通道该通道。这种通道的利用率很低。这种通道的利用率很低。第五章 设 备 管 理 3)数组多路通道数组多路通道(Block Multiplexor Channel)数组多路通道是以上二种通道数组多路通道是以上二种

10、通道结合结合而形成的一种新通道而形成的一种新通道数据传送是按数据传送是按数组方式数组方式进行进行有有多个多个非分配型非分配型子通道子通道,数据传输速率很高,通道利用率也高数据传输速率很高,通道利用率也高广泛地用于连接广泛地用于连接多台多台高、中高、中速的外围设备速的外围设备第五章 设 备 管 理 3.“瓶颈瓶颈”问题问题 图 5-4 单通路I/O系统 设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器第五章 设 备 管 理 图 5-5 多通路I/O系统 I/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备多通路方式:增加多通路方式

11、:增加通路通路,不增加通道,通道很贵,不增加通道,通道很贵解决了:瓶颈,增加了可靠性解决了:瓶颈,增加了可靠性第五章 设 备 管 理 5.1.4 总线系统总线系统 图图 5-6 总线型总线型I/O系统结构系统结构 CPU存储器磁盘控制器打印机控制器其它控制器磁盘驱动器打印机系统总线对总线的时钟频率,带宽,传输速率要求越来越高。对总线的时钟频率,带宽,传输速率要求越来越高。第五章 设 备 管 理 2.局部总线局部总线(Local Bus)1)VESA(Video Electronic Standard Association)总线总线 2)PCI(Peripheral Component Int

12、erface)总线总线 EISA,VESA,PCI,AGP,PCI-Express(1X-16X最最高可达到高可达到10GB/s)第五章 设 备 管 理 5.2 I/O控制方式控制方式 5.2.1 程序程序I/O方式方式(轮询方式或忙等待方式)(轮询方式或忙等待方式)CPU发出指令后,置发出指令后,置busy=1,不断测试,不断测试busy,直到直到busy=0表示指令完成表示指令完成CPU的绝大部分时间都处于等待的绝大部分时间都处于等待I/O设备完成循环测试中,设备完成循环测试中,造成对造成对CPU的极大浪费。的极大浪费。第五章 设 备 管 理 图 5-7 程序I/O和中断驱动方式的流程 向

13、I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向存储器中写字传送完成?未就绪就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读字向内存中写字传送完成?就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完中断CPU做其它事向I/O控制器发布读块命令CPUDMACPU做其它事读DMA控制器的状态中断DMACPU下条指令(a)程序I/O方式(b)中断驱动方式(c)DMA方式第五章 设 备 管 理 5.2.2 中断驱动中断驱动I/O控制方式控制方式 CPU发出发出I

14、O指令后返回继续执行原任务,控制器完成指令指令后返回继续执行原任务,控制器完成指令后向后向CPU发出中断信号,发出中断信号,CPU利用花费极短时间处理中断利用花费极短时间处理中断 CPU与与I/O设备并行工作,提高资源利用率及吞吐量。设备并行工作,提高资源利用率及吞吐量。例如,从终端输入一个字符的时间约为例如,从终端输入一个字符的时间约为100 ms,而将字符送入终而将字符送入终端缓冲区的时间小于端缓冲区的时间小于 0.1 ms。此方式,此方式,CPU约有约有 99.9 ms的时间处于忙的时间处于忙等待中。等待中。采用中断驱动方式后,采用中断驱动方式后,CPU可利用这可利用这 99.9 ms的

15、时间去做其它事的时间去做其它事情,而仅用情,而仅用 0.1 ms的时间来处理由控制器发来的中断请求的时间来处理由控制器发来的中断请求。程序程序IO和中断和中断IO都是以都是以字字为单位进行干预。为单位进行干预。如从硬盘读如从硬盘读1K的数据块,要中断的数据块,要中断1K次。次。第五章 设 备 管 理 5.2.3 直接存储器访问直接存储器访问DMA I/O控制方式控制方式 1.DMA(Direct Memory Access)控制方式的引入控制方式的引入 数据传输的基本单位是数据传输的基本单位是数据块数据块;所传送的数据是从设备所传送的数据是从设备直接送入内存直接送入内存的,或者相反;的,或者相

16、反;仅在传送一个或多个仅在传送一个或多个数据块数据块的开始和结束时,才需的开始和结束时,才需CPU干干预,整块数据的传送是在预,整块数据的传送是在控制器控制器的控制下完成的。的控制下完成的。可见,可见,DMA方式成百倍地减少了方式成百倍地减少了CPU对对I/O的干预的干预。第五章 设 备 管 理 2.DMA控制器的组成控制器的组成 图 5-8 DMA控制器的组成 DRMARDCCRI/O控制逻辑主机控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器第五章 设 备 管 理 在在DMA控制器中设置如下四类寄存器:控制器中设置如下四类寄存器:(1)命令命令/状态寄存器状态寄存器

17、CR。用于接收从用于接收从CPU发来的发来的I/O命命令或有关控制信息,令或有关控制信息,或设备的状态。或设备的状态。(2)内存地址寄存器内存地址寄存器MAR。在输入时,它存放把数据从在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。到设备的内存源地址。(3)数据寄存器数据寄存器DR。用于暂存从设备到内存,或从内存用于暂存从设备到内存,或从内存到设备的数据。到设备的数据。(4)数据计数器数据计数器DC。存放本次存放本次CPU要读或写的字要读或写的字(节节)数。数。第五章 设 备 管 理 5.2.4

18、 I/O通道控制方式通道控制方式 1.I/O通道控制方式的引入通道控制方式的引入 以以一组一组数据块数据块的读的读(或写或写)及有关的控制和管理为单位的及有关的控制和管理为单位的干预。干预。可实现可实现CPU、通道和、通道和I/O设备三者的并行操作设备三者的并行操作例如,当例如,当CPU只需向只需向I/O通道通道发送一条发送一条I/O指令,以给出指令,以给出通道程序的通道程序的首址首址和要访问的和要访问的I/O设备,通道接到并执行该指设备,通道接到并执行该指令。令。第五章 设 备 管 理 2.通道程序通道程序 由一系列通道指令构成由一系列通道指令构成(1)操作码。操作码。(读、写、控制)读、写

19、、控制)(2)内存地址。内存地址。(读出或写入时的内存首址)(读出或写入时的内存首址)(3)计数。计数。(读、写数据字节数)(读、写数据字节数)(4)通道程序结束位通道程序结束位P。(通道程序最后一条指令)(通道程序最后一条指令)(5)记录结束标志记录结束标志R。(R0代表数据在同一记录,代表数据在同一记录,R1表示记录的最后一条数据)表示记录的最后一条数据)指令包含信息:指令包含信息:第五章 设 备 管 理 操作 PR计数内存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720第

20、五章 设 备 管 理 5.3 缓缓 冲冲 管管 理理 5.3.1 缓冲的引入缓冲的引入(1)缓和缓和CPU与与I/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。(2)减少减少CPU的中断频率,放宽的中断频率,放宽CPU中断响应时间的限制。中断响应时间的限制。(网络通信,(网络通信,906K/S,100us中断一次,否则缓冲区内数据冲掉)中断一次,否则缓冲区内数据冲掉)(3)提高提高CPU和和I/O设备之间的并行性。设备之间的并行性。第五章 设 备 管 理 图 5-10 利用缓冲寄存器实现缓冲 1位缓冲9.6 Kb/s8位缓冲寄存器送内存9.6 Kb/s8位缓冲寄存器9.6 Kb/s送内存(

21、b)(a)(c)第五章 设 备 管 理 5.3.2 单缓冲和双缓冲单缓冲和双缓冲 1.单缓冲单缓冲(Single Buffer)工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程图 5-11 单缓冲工作示意图 第五章 设 备 管 理 2.双缓冲双缓冲(Double Buffer)工作区用户进程缓冲区1缓冲区2I/O 设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)图 5-12 双缓冲工作示意图 第五章 设 备 管 理 图 5-13 双机通信时缓冲区的设置 缓冲区缓冲区A机B机

22、(a)单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b)双缓冲单向双向第五章 设 备 管 理 5.3.3 循环缓冲循环缓冲(速度相差很大时采用)(速度相差很大时采用)1.循环缓冲的组成循环缓冲的组成(每个缓冲区大小相同;(每个缓冲区大小相同;R:空,:空,G:满,:满,C:计算):计算)图 5-14 循环缓冲 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrentNexti:指向下一个R,Nextg:指向下一个G,current:指向正在计算第五章 设 备 管 理 2.循环缓冲区的使用循环缓冲区的使用(1)Getbuf过程。过程。计算过

23、程:Current Nextg,Nextg移向下一个G输入过程:当前Nexti指向的R提供出来,Nexti指向下一个R。(2)Releasebuf过程。过程。计算过程将C中的数据取完,用Releasebuf将C释放 第五章 设 备 管 理 3.进程同步进程同步(1)Nexti指针追赶上指针追赶上Nextg指针。指针。说明:输入数据大于处理数据,全部缓冲区已满。说明:输入数据大于处理数据,全部缓冲区已满。(2)Nextg指针追赶上指针追赶上Nexti指针。指针。说明:输入数据小于处理数据,全部缓冲区已空。说明:输入数据小于处理数据,全部缓冲区已空。第五章 设 备 管 理 5.3.4 缓冲池缓冲池

24、(Buffer Pool)1.缓冲池的组成缓冲池的组成 三种类型的缓冲区:三种类型的缓冲区:空空(闲闲)缓冲区;缓冲区;装满输入数据的缓冲区;装满输入数据的缓冲区;装满输出数据的缓冲区。装满输出数据的缓冲区。形成以下三个队列:形成以下三个队列:(1)空缓冲队列)空缓冲队列emq。(2)输入队列输入队列inq。(3)输出队列输出队列outq。第五章 设 备 管 理 3.缓冲区的工作方式缓冲区的工作方式 图 5-15 缓冲区的工作方式 hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池1、收容输入:、收容输入:调用调用Getbuf(emq)在在emq中摘下一空区,并装满数据

25、,挂到中摘下一空区,并装满数据,挂到inq中。中。2、提取输入:、提取输入:调用调用Getbuf(inq)从从inq摘一区,提取数据,并挂入摘一区,提取数据,并挂入emq。3、收容输出:、收容输出:调用调用Getbuf(emq)从从emq中摘一区,装入输出数据,并挂入中摘一区,装入输出数据,并挂入outq。4、提取输出:、提取输出:调用调用Getbuf(outq)从从out中摘一满区,提取数据,并挂入中摘一满区,提取数据,并挂入emq。第五章 设 备 管 理 5.4 设设 备备 分分 配配 5.4.1 设备分配中的数据结构设备分配中的数据结构 1.设备控制表设备控制表DCT 设备类型 type

26、设备标识符:deviceid设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT 1DCT 2DCT n设备控制表集合图 5-16 设备控制表 第五章 设 备 管 理 2.控制器控制表、控制器控制表、通道控制表和系统设备表通道控制表和系统设备表 图 5-17 COCT、CHCT和SDT表(c)系统设备表SDT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针(a)控制器表COCT(b

27、)通道表CHCT表目1表目i设备类设备标识符DCT驱动程序入口第五章 设 备 管 理 5.4.2 设备分配时应考虑的因素设备分配时应考虑的因素 1.设备的固有属性设备的固有属性(1)独享设备。独享设备。(2)共享设备。共享设备。(3)虚拟设备。虚拟设备。第五章 设 备 管 理 2.设备分配算法设备分配算法(1)先来先服务。先来先服务。(2)优先级高者优先。优先级高者优先。第五章 设 备 管 理 3.设备分配中的安全性设备分配中的安全性 1)安全分配方式安全分配方式 一旦发出一旦发出IO申请,便阻塞,不再继续运行,直申请,便阻塞,不再继续运行,直到到IO操作完成。摒弃操作完成。摒弃“请求并保持请

28、求并保持”,防止,防止死锁。死锁。2)不安全分配方式不安全分配方式 发出发出IO申请后继续运行,需要时再发出申请后继续运行,需要时再发出IO申请,申请,允许允许“请求并保持请求并保持”,但进行安全计算。,但进行安全计算。第五章 设 备 管 理 5.4.3 设备独立性设备独立性 1.设备独立性设备独立性(Device Independence)的概念的概念即:应用程序独立于具体使用的物理设备。即:应用程序独立于具体使用的物理设备。逻辑设备逻辑设备和和物理设备物理设备这两个概念。这两个概念。请求时请求时使用逻辑设备名称;实际使用逻辑设备名称;实际执行时执行时使用物理设备名称。使用物理设备名称。系统

29、须具有将逻辑设备名称系统须具有将逻辑设备名称转换转换为物理设备名称的功能为物理设备名称的功能。第五章 设 备 管 理 在实现了设备独立性的功能后,可带来以下两方在实现了设备独立性的功能后,可带来以下两方面的面的好处好处。1)设备分配时的灵活性设备分配时的灵活性 避免了因指定物理设备,可能已被用,而不能用同类空闲设备。避免了因指定物理设备,可能已被用,而不能用同类空闲设备。2)易于实现易于实现I/O重定向重定向不必改应用程序,便可实现设备重定向,如屏幕输出转为打印输出不必改应用程序,便可实现设备重定向,如屏幕输出转为打印输出。第五章 设 备 管 理 2.设备独立性软件设备独立性软件(在驱动程序上

30、的一层软件在驱动程序上的一层软件)1)执行所有设备的公有操作执行所有设备的公有操作 对独立设备的分配与回收;对独立设备的分配与回收;将逻辑设备名将逻辑设备名映射映射为物理设备名,进一步可以为物理设备名,进一步可以找到找到相应物理设备相应物理设备的的驱动程序驱动程序;对设备进行保护,对设备进行保护,禁止禁止用户用户直接直接访问设备;访问设备;缓冲管理缓冲管理,即设备的缓冲区进行有效的管理,以提高,即设备的缓冲区进行有效的管理,以提高I/O的效率;的效率;差错控制。绝大多数错误主要由差错控制。绝大多数错误主要由设备驱动程序设备驱动程序处理,而处理,而设备独立性设备独立性软件只处理软件只处理那些设备

31、驱动程序无法处理的错误那些设备驱动程序无法处理的错误。第五章 设 备 管 理 2)向用户层向用户层(或文件层或文件层)软件提供统一接口软件提供统一接口 无论何种设备,无论何种设备,它们向用户所提供的接口应该它们向用户所提供的接口应该是相同的。是相同的。例如,例如,对各种设备的读操作,对各种设备的读操作,在应用程序中都使用在应用程序中都使用read;而对各种设备的写操作,也都使用而对各种设备的写操作,也都使用write。第五章 设 备 管 理 3.逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现 1)逻辑设备表2)LUT(Logic Unit Table)的设置问题 图 5-18

32、 逻辑设备表 逻辑设备名物理设备名驱动程序入口地址/dev/tty/dev/printer3510242046逻辑设备名/dev/tty/dev/printer系统设备表指针35(a)(b)一个进程一个一个进程一个LUT(多用户多用户)整个系统一个整个系统一个LUT(单用户单用户)第五章 设 备 管 理 5.4.4 独占设备的分配程序独占设备的分配程序 1.基本的设备分配程序基本的设备分配程序 1)分配设备分配设备 请求物理设备名请求物理设备名 查系统设备表查系统设备表SDT 查查DCT 忙否忙否 忙,忙,挂入设备队列;不忙,安全计算挂入设备队列;不忙,安全计算安全则分配安全则分配 不安全则等

33、不安全则等待。待。2)分配控制器分配控制器 找找DCT 与之相联的控制器的与之相联的控制器的COCT 忙否忙否 忙则等;不忙则等;不忙则分配。忙则分配。3)分配通道分配通道 找与之相联的通道的找与之相联的通道的CHCT 忙否忙否 忙则等;不忙则分配。忙则等;不忙则分配。只有设备、控制器、通道都分配成功,设备才算分配成功。只有设备、控制器、通道都分配成功,设备才算分配成功。第五章 设 备 管 理 2.设备分配程序的改进设备分配程序的改进 1)增加设备的独立性增加设备的独立性使用逻辑设备请求,从使用逻辑设备请求,从SDT找第一类该设备的找第一类该设备的DCT,若忙找第二类同类设备,所有都忙时挂入等

34、,若忙找第二类同类设备,所有都忙时挂入等待队列。待队列。2)考虑多通路情况考虑多通路情况 通道和控制器可多路选择,即若与设备相联的第通道和控制器可多路选择,即若与设备相联的第一个控制器一个控制器(通道通道)忙时,找第二个控制器忙时,找第二个控制器(通道通道)。第五章 设 备 管 理 5.4.5 SPOOLing技术技术 1.什么是什么是SPOOLing脱机输入、脱机输入、脱机输出技术脱机输出技术:即利用专门的外围控制机,脱机输:即利用专门的外围控制机,脱机输入、入、输出功能。输出功能。此时的此时的外围操作外围操作与与CPU对数据的处理对数据的处理同时同时进行进行 我 们 把 这 种 在我 们

35、把 这 种 在 联 机 情 况 下联 机 情 况 下 实 现 的 同 时 外 围 操 作 称 为实 现 的 同 时 外 围 操 作 称 为SPOOLing(Simultaneaus Periphernal Operating On-Line),或,或称为称为假脱机操作假脱机操作。模拟。模拟外围控制机外围控制机脱机输入、脱机输入、输出功能。输出功能。第五章 设 备 管 理 2.SPOOLing系统的组成系统的组成 图 5-19 SPOOLing系统的组成 输入进程SPi输入进程SPo输入缓冲区Bi输出缓冲区Bo输入井输出井磁盘输入设备输出设备第五章 设 备 管 理 输入井和输出井:输入井和输出井

36、:在在磁盘磁盘中两大存储空间,中两大存储空间,输入井输入井是模拟是模拟脱机输入时的磁盘暂存脱机输入时的磁盘暂存IO设备输入的数据;设备输入的数据;输出井输出井是模拟脱机是模拟脱机输出时的磁盘,存放模拟应用程序的输出数据。输出时的磁盘,存放模拟应用程序的输出数据。输入缓冲区和输出缓冲区:输入缓冲区和输出缓冲区:在在内存内存,输入缓冲区输入缓冲区是暂存输是暂存输入设备送来的数据,再传送到输入井;入设备送来的数据,再传送到输入井;输出缓冲区输出缓冲区是暂存从输是暂存从输出井送来的数据,再送给输出设备。出井送来的数据,再送给输出设备。输入进程输入进程SPi和输出进程和输出进程SPo:输入进程输入进程S

37、Pi模拟脱机模拟脱机IO输输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井;区再送到输入井;输出进程输出进程SPo 模拟脱机模拟脱机IO输出时的外围控制输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再从输出井的数据经输出缓冲区送到输出设备上。空闲时,再从输出井的数据经输出缓冲区送到输出设备上。第五章 设 备 管 理 3.共享打印机共享打印机 请求打印输出时,请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正系统同意为它打

38、印输出,但并不真正分配打印机,而只为它做分配打印机,而只为它做两件事两件事:由输出进程在由输出进程在输出井中输出井中为之为之申请一申请一个空闲磁盘块区,个空闲磁盘块区,并将要打印的数并将要打印的数据送入其中;据送入其中;输出进程再为用户进程申请一张空白的用户输出进程再为用户进程申请一张空白的用户请求打印表请求打印表,并将用户的,并将用户的打印要求填入其中,打印要求填入其中,再再将该表挂到请求打印队列上将该表挂到请求打印队列上。打印机空闲时,从打印机空闲时,从请求打印队列请求打印队列取出一张表,从输出井中传送数据到输出取出一张表,从输出井中传送数据到输出缓冲区中,打印。缓冲区中,打印。第五章 设

39、 备 管 理 4.SPOOLing系统的特点系统的特点(1)提高了提高了I/O的速度。的速度。(2)将独占设备改造为共享设备。将独占设备改造为共享设备。(3)实现了虚拟设备功能。实现了虚拟设备功能。第五章 设 备 管 理 5.5 设设 备备 处处 理理 5.5.1 设备驱动程序设备驱动程序的功能和特点的功能和特点 1.设备驱动程序的功能设备驱动程序的功能 (1)接收接收由由I/O进程发来的进程发来的命令和参数命令和参数,并将命令中的,并将命令中的抽抽象要求象要求转换为转换为具体要求具体要求,例如,将磁盘块号转换为磁盘的盘面、例如,将磁盘块号转换为磁盘的盘面、磁道磁道号及扇区号。号及扇区号。(2

40、)检查用户检查用户I/O请求的请求的合法性合法性,了解,了解I/O设备的设备的状态状态,传递有关参数,设置设备的工作传递有关参数,设置设备的工作方式。方式。第五章 设 备 管 理 (3)发出发出I/O命令命令,如果设备空闲,便立即启动,如果设备空闲,便立即启动I/O设备;设备;如果设备忙,则挂在设备请求队列上等待。如果设备忙,则挂在设备请求队列上等待。(4)及时响应由控制器或通道发来的及时响应由控制器或通道发来的中断请求中断请求,并根据,并根据其中断类型调用相应的其中断类型调用相应的中断处理程序中断处理程序进行处理。进行处理。(5)对于设置对于设置有通道有通道的计算机系统,驱动程序还应能够的计

41、算机系统,驱动程序还应能够根据用户的根据用户的I/O请求,请求,自动地构成自动地构成通道程序通道程序。第五章 设 备 管 理 2.设备处理方式设备处理方式 各个操作系统方式不同,可分为三类:各个操作系统方式不同,可分为三类:(1)为为每一类设备每一类设备设置一个进程,专门用于执行这类设备的设置一个进程,专门用于执行这类设备的I/O操作操作。(2)在在整个系统整个系统中设置中设置一个一个I/O进程进程,专门用于执行系统中,专门用于执行系统中所有各类所有各类设备的设备的I/O操作。操作。(3)不设置专门不设置专门的设备处理进程,而只为各类设备设置相应的的设备处理进程,而只为各类设备设置相应的设备设

42、备处理程序处理程序(模块模块),供用供用户进程或系统进程户进程或系统进程调用调用。第五章 设 备 管 理 3.设备驱动程序的特点设备驱动程序的特点 (1)驱动程序主要是指在驱动程序主要是指在请求请求I/O的进程的进程与与设备控制器设备控制器之间的一个通信之间的一个通信和转换程序。(把请求传给控制器,把状态传给控制器)和转换程序。(把请求传给控制器,把状态传给控制器)(2)驱动程序与驱动程序与设备控制器、设备控制器、I/O设备的硬件特性设备的硬件特性紧密相关,紧密相关,因而对不因而对不同类型的设备应配置同类型的设备应配置不同的驱动程序。(不同厂家)不同的驱动程序。(不同厂家)(3)驱动程序与驱动

43、程序与I/O设备所采用的设备所采用的I/O控制方式控制方式紧密相关。(如中断方式,紧密相关。(如中断方式,DMA方式)方式)(4)由于驱动程序与硬件紧密相关,由于驱动程序与硬件紧密相关,因而其中的一部分必须用因而其中的一部分必须用汇编语汇编语言言书写书写。第五章 设 备 管 理 5.5.2 设备驱动程序的处理过程设备驱动程序的处理过程 1.将将抽象要求抽象要求转换为转换为具体要求具体要求(如将盘块号(如将盘块号磁头数、磁道数、扇区磁头数、磁道数、扇区)2.检查检查I/O请求的合法性请求的合法性(如试图从打印机输入,试图写只读的数据(如试图从打印机输入,试图写只读的数据)3.读出和检查设备的状态

44、读出和检查设备的状态(检查是否处于接收就绪状态检查是否处于接收就绪状态)4.传送必要的参数传送必要的参数(如传送的字节数,及内存首址)(如传送的字节数,及内存首址)5.工作方式的设置工作方式的设置(同步,异步)(同步,异步)6.启动启动I/O设备设备 第五章 设 备 管 理 5.5.3中断处理程序中的处理过程中断处理程序中的处理过程1、唤醒唤醒被阻塞的驱动(程序)进程被阻塞的驱动(程序)进程2、保护被中断的进程的、保护被中断的进程的CPU环境环境3、转入相应的设备中断处理程序、转入相应的设备中断处理程序4、中断处理中断处理(正常中断正常中断则向控制器发出新命令或结束,则向控制器发出新命令或结束

45、,异常中断异常中断则作终止处理)则作终止处理)5、恢复恢复被中断的进程现场被中断的进程现场第五章 设 备 管 理 图 5-20 中断现场保护示意图 PSW程序状态字PC(N1)程序计数器R0Rn寄存器开始返回用户程序中断服务子例程PSWPC(N1)中断栈TTM线指针YNN1R0Rn第五章 设 备 管 理 唤醒被阻塞的驱动程序进程对被中断进程的CPU环境进行保护分析中断原因,转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序恢复被中断进程的CPU现场返回被中断的进程,继续执行中断请求信号图 5-21 中断处理流程第五章 设 备 管 理 5.6 磁盘存储器管理磁盘存储器管理5

46、.6.1 磁盘性能简述磁盘性能简述 1、每条磁道每条磁道上可存储上可存储相同数目相同数目的二进制位的二进制位2、内层内层磁道的磁道的密度密度较外层磁道的密度较外层磁道的密度高高3、温盘每条磁道分为、温盘每条磁道分为30个扇区,每个扇区个扇区,每个扇区600个字节,个字节,512个字节存数据,其余存控制信息。个字节存数据,其余存控制信息。4、磁盘存数据之前,必须先格式化。、磁盘存数据之前,必须先格式化。第五章 设 备 管 理 每个扇区包括两个字段:每个扇区包括两个字段:1、标识符字段:、标识符字段:利用磁道号、磁头及扇区号来标识一个扇区;利用磁道号、磁头及扇区号来标识一个扇区;CRC用于段校验。

47、用于段校验。2、数据字段。、数据字段。SYNCHByte:定界符;定界符;Data:数据数据CRC:校验码:校验码第五章 设 备 管 理 1.数据的组织和格式数据的组织和格式 Gap102031292293Field GapField GapGap FieldGap FieldGap17741515201774151520IDDataIDDataGap1292293Field GapField1774151520IDDataSectorPhysical Sector 0Physical Sector 1Physical Sector 29BytesSynchByteTrack#Head#Sec

48、tor#Bytes 1211CRC3SynchByteDataCRC15122600 Bytes/SectorGap图 5-22 磁盘的格式化 Synch Byte:定界符定界符第五章 设 备 管 理 2.磁盘的类型磁盘的类型 1)固定头磁盘固定头磁盘 这种磁盘在这种磁盘在每条磁道上每条磁道上都有一读都有一读/写磁头,有效地提高了写磁头,有效地提高了磁盘的磁盘的I/O速度。速度。这种结构的磁盘主要用于大容量磁盘上。这种结构的磁盘主要用于大容量磁盘上。2)移动头磁盘移动头磁盘 每一个盘面每一个盘面仅配有一个磁头,也被装入磁臂中。磁头必仅配有一个磁头,也被装入磁臂中。磁头必须能移动以进行寻道。速度

49、较慢,须能移动以进行寻道。速度较慢,但由于其结构简单,故仍但由于其结构简单,故仍广泛应用于中小型磁盘设备中。广泛应用于中小型磁盘设备中。第五章 设 备 管 理 3.磁盘访问时间磁盘访问时间 1)寻道时间寻道时间Ts指把磁臂指把磁臂(磁头磁头)移动到指定磁道移动到指定磁道上所经历的时间。上所经历的时间。Ts=mn+s,其中其中s为为启动启动磁臂的时间,磁臂的时间,n为为磁头磁头移动移动磁道数磁道数,m是一常数,与是一常数,与磁盘驱动器的速度磁盘驱动器的速度有关,对一般磁盘,有关,对一般磁盘,m=0.2;对高速磁盘,;对高速磁盘,m0.1,磁臂的启动时间约为磁臂的启动时间约为2 ms。其寻道时间将

50、随其寻道时间将随寻道寻道距离距离的增加而增大,大体上是的增加而增大,大体上是530 ms。第五章 设 备 管 理 2)旋转延迟时间旋转延迟时间T指定扇区移动到磁头下面所经历的时间。指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为对于硬盘,典型的旋转速度大多为5400 r/min,每转需时,每转需时11.1 ms,平均旋转延迟时间平均旋转延迟时间T为为5.55 ms;第五章 设 备 管 理 3)传输时间传输时间Tt数据从磁盘数据从磁盘读出读出或向磁盘或向磁盘写入写入数据所经历的时间。数据所经历的时间。Tt的大小与每次所读的大小与每次所读/写的写的字节数字节数b和和旋转速度旋转速

51、度有关:有关:rNbTt其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,访问时间访问时间Ta表示为:表示为:Ta =Ts+T+Tt第五章 设 备 管 理 5.6.2 磁盘调度磁盘调度1.先来先服务先来先服务FCFS(First-Come,First Served)图 5-23 FCFS调度算法1、按进程请求访问磁、按进程请求访问磁道的先后次序调度道的先后次序调度2、公平、简单,不会、公平、简单,不会长时间请求得不到满足长时间请求得不到满足3、未对寻道优化、未对寻道优化第五章 设 备 管 理 2.最短寻道时间优先最短寻道时间优先SSTF(Shortest Seek Time First)图

52、5-24 SSTF调度算法 1、访问与当前磁头最近、访问与当前磁头最近的磁道。的磁道。2、每次、每次寻道时间最短,寻道时间最短,但不能保证平均寻寻道但不能保证平均寻寻道时间最短。时间最短。第五章 设 备 管 理 3.扫描扫描(SCAN)算法算法 1)进程进程“饥饿饥饿”现象现象 SSTF算法可能导致某个进程发生算法可能导致某个进程发生“饥饿饥饿”(Starvation)现象。现象。因为只要不断有因为只要不断有新的新的、且其所要访问的磁道与磁头当、且其所要访问的磁道与磁头当前所在磁道的距离较近进程的请求到达前所在磁道的距离较近进程的请求到达解决访求:解决访求:SCAN算法。算法。第五章 设 备

53、管 理 2)SCAN算法 图 5-25 SCAN调度算法示例1、考虑欲访问考虑欲访问磁道与当前磁道磁道与当前磁道的距离,也考虑的距离,也考虑当前当前磁头移动方磁头移动方向。向。2、也叫电梯调、也叫电梯调度算法度算法第五章 设 备 管 理 4.循环扫描循环扫描(CSCAN)算法算法 图 5-26 CSCAN调度算法示例磁头单向读写磁头单向读写第五章 设 备 管 理 5.N-Step-SCAN和和FSCAN调度算法调度算法 1)N-Step-SCAN算法算法 在以上算法中会出现在以上算法中会出现磁臂粘着磁臂粘着,即:一些进程反复请求对某一磁道即:一些进程反复请求对某一磁道的的I/O操作。操作。在高

54、密度磁盘上容易出现此情况。在高密度磁盘上容易出现此情况。N步步SCAN算法是将磁盘请求队列分成若干个算法是将磁盘请求队列分成若干个长度为长度为N的子队列,子的子队列,子队列之间队列之间按按FCFS算法调度,算法调度,队列内部队列内部按按SCAN算法调度。算法调度。出现新的磁盘出现新的磁盘I/O请求,将新请求进程放入其他队列。请求,将新请求进程放入其他队列。当当N值取得很大时,接近于值取得很大时,接近于SCAN算法;算法;当当N=1时,时,N步步SCAN算法算法便蜕化为便蜕化为FCFS算法。算法。第五章 设 备 管 理 2)FSCAN算法算法 FSCAN算法实质上是算法实质上是N步步SCAN算法

55、的算法的简化简化,即即FSCAN只将磁盘请求队列分成只将磁盘请求队列分成两个子队列两个子队列。当前所有请求磁盘当前所有请求磁盘I/O的进程形成的队列,按的进程形成的队列,按SCAN算算法进行处理。法进行处理。新出现的所有请求磁盘新出现的所有请求磁盘I/O的进程,的进程,放入另一个等待放入另一个等待处理的请求队列。处理的请求队列。第五章 设 备 管 理 5.6.3 磁盘高速缓存磁盘高速缓存(Disk Cache)1.磁盘高速缓存的形式磁盘高速缓存的形式 定义:利用定义:利用内存内存中的存储空间,来中的存储空间,来暂存暂存从磁盘中读出的盘块中的信息。从磁盘中读出的盘块中的信息。高速缓存是一组在高速

56、缓存是一组在逻辑上逻辑上属于属于磁盘磁盘,而而物理上物理上是驻留在是驻留在内存内存中的盘块。中的盘块。高速缓存在内存中可分成高速缓存在内存中可分成两种形式两种形式。第一种是内存第一种是内存单独的单独的存储空间,其大小固定;存储空间,其大小固定;第二种是把第二种是把所有未利用所有未利用的内存空间变为的内存空间变为缓冲池缓冲池,大小不固定大小不固定。当磁盘当磁盘I/O操作频繁时,大一些操作频繁时,大一些;而在应用程序运行得较多时,小一些。;而在应用程序运行得较多时,小一些。第五章 设 备 管 理 2.数据交付方式数据交付方式 数据交付:将磁盘数据交付:将磁盘Cache中中的数据传送给的数据传送给请

57、求进程请求进程的。的。系统可以采取两种方式,系统可以采取两种方式,将数据交付给请求进程:将数据交付给请求进程:(1)数据交付数据交付。这是直接将高速缓存中的数据,传送到请求者进。这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。程的内存工作区中。(2)指针交付指针交付。只将指向高速缓存中某区域的指针,。只将指向高速缓存中某区域的指针,交付给请求交付给请求者进程。者进程。后一种方式由于所传送的数据量少,因而后一种方式由于所传送的数据量少,因而节省节省了数据从磁盘高了数据从磁盘高速缓存到速缓存到进程的内存工作区的进程的内存工作区的时间时间。第五章 设 备 管 理 3.置换算法置换算法(C

58、ache满时须置换满时须置换)除了考虑到除了考虑到最近最久未使用、最近未使用、最少使用最近最久未使用、最近未使用、最少使用原则外,原则外,还考虑了以下几点:还考虑了以下几点:(1)访问频率访问频率。指令执行频率高,则对磁盘指令执行频率高,则对磁盘Cache的访问频率也高的访问频率也高 (2)可预见性。可预见性。可预见哪些数据可能被再访问,如:刚写入数据而未满的,可能可预见哪些数据可能被再访问,如:刚写入数据而未满的,可能再被访问。再被访问。(3)数据的一致性。数据的一致性。高速缓存中的数据易因断电而丢失高速缓存中的数据易因断电而丢失,引起与磁盘不一致。引起与磁盘不一致。第五章 设 备 管 理

59、4.周期性地写回磁盘周期性地写回磁盘 在在UNIX系统系统强制性地每隔强制性地每隔30 s将所有在高速缓存中已将所有在高速缓存中已修改的盘块数据写回磁盘。修改的盘块数据写回磁盘。在在MS-DOS中,只要高速缓存中的某盘块数据中,只要高速缓存中的某盘块数据被修改被修改,便便立即立即将它写回磁盘,几将它写回磁盘,几乎不会丢失数据,但须乎不会丢失数据,但须频繁地启频繁地启动磁盘动磁盘。第五章 设 备 管 理 5.6.4 提高磁盘提高磁盘I/O速度的其它方法速度的其它方法 1.提前读提前读(Read-Ahead)读当前块时,将顺序的下一块也读入读当前块时,将顺序的下一块也读入Cache(用于顺序访问用

60、于顺序访问)2.延迟写延迟写 将本应立即回写的将本应立即回写的Cache,挂在空闲,挂在空闲Cache队列尾,直到移到队首队列尾,直到移到队首时,才回写。时,才回写。3.优化物理块的分布优化物理块的分布 文件分配盘块时,尽可能分配在同一或相邻磁道,避免磁头移动过文件分配盘块时,尽可能分配在同一或相邻磁道,避免磁头移动过长。以簇为单位分配。长。以簇为单位分配。4.虚拟盘虚拟盘 利用内存空间去仿真磁盘,利用内存空间去仿真磁盘,RAM盘。因易失性只用于放临时文件。盘。因易失性只用于放临时文件。虚拟盘由用户控制,磁盘虚拟盘由用户控制,磁盘Cache由由OS控制。控制。第五章 设 备 管 理 5.6.5

61、 廉价磁盘冗余阵列廉价磁盘冗余阵列 1.并行交叉存取并行交叉存取 图 5-27 磁盘并行交叉存取方式 123N第五章 设 备 管 理 2.RAID的分级的分级(1)RAID 0级。级。(并行存取,但无冗余)(并行存取,但无冗余)(2)RAID 1级。级。(并行存取,镜像,如(并行存取,镜像,如8个磁盘,个磁盘,4个并行,个并行,4个镜像)个镜像)(3)RAID 3级。级。(并行存取,一台奇偶校验盘)(并行存取,一台奇偶校验盘)(4)RAID 5级。级。(并行存取,奇偶位分布在(并行存取,奇偶位分布在N个盘中)个盘中)(5)RAID 6级和级和RAID 7级。级。第五章 设 备 管 理 3.RA

62、ID的优点的优点(1)可靠性高。可靠性高。(镜像、冗余。根据未损信息恢复。镜像、冗余。根据未损信息恢复。)(2)磁盘磁盘I/O速度高。速度高。(并行交叉存取并行交叉存取)(3)性能性能/价格比高。价格比高。(以容量换性能,相比于大容量磁盘,性价比高以容量换性能,相比于大容量磁盘,性价比高)第五章 设 备 管 理 设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为4),作业运行时,实际访问页面的顺序是1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1。试用FIFO与LRU页面调度算法,列出各自的页面淘汰顺序和缺页中断次数,以及最后留驻主存4页的顺序。(假设开始的4个页面已装入主存)第五章 设 备 管 理 磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器。寻道时每个柱面移动需要6ms,则采用先到先服务算法的寻道时间为_;采用电梯算法(起始移动方向向外)的寻道时间为_。(假设磁头开始位置在柱面20)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!