




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统
OperatingSystem北方工业大学计算机系NorthChinaUniversityofTechnologyDepartmentofComputer授课教师:宋丽华第五章设备管理5.0引言5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4I/O软件5.5设备分配5.6磁盘存储器的管理第五章设备管理5.0引言★设备管理的基本任务:完成用户提出的I/O请求,提高I/O速率和设备利用率★设备管理的功能:设备分配;设备控制;缓冲的管理功能;虚拟设备。第五章设备管理5.0引言5.1I/O系统5.2I/O控制方式5.3缓冲管理1)字符设备2)块设备★设备的分类使用特性数据传输率信息交换单位设备共享属性
5.1.1I/O设备1)存储设备2)I/O设备1)高速设备2)中速设备3)低速设备1)独占设备2)共享设备3)虚拟设备5.1.1I/O设备★设备与控制器之间的接口
通常设备不是直接与CPU进行通信,而是与设备控制器通信。图5-1设备与控制器之间的接口5.1.2设备控制器★设备控制器的基本功能接收和识别命令数据缓冲和交换标识和报告设备的状态地址识别差错控制5.1.2
设备控制器数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口i数据线地址线控制线CPU与控制器接口控制器与设备接口状态控制数据数据状态控制……★设备控制器的组成图5-2控制器的组成5.1I/O系统
★5.1.4总线系统图5-3单总线型I/O系统结构第五章设备管理
5.0引言5.1I/0系统
5.2I/O控制方式5.3缓冲管理5.2I/O控制方式
★5.2.1程序I/O方式设备控制器设置状态寄存器以表示外部设备的工作状态。CPU通过不断读取状态寄存器以查询外部设备的状态。在外部设备准备就绪的时候,CPU通过控制器中的数据寄存器与外设完成数据交换。5.2I/O控制方式
向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字CPUI/OI/OCPU未就绪出错就绪I/OCPUCPU内存传送完成检查状态是,下一条指令未完
★5.2.1程序I/O方式5.2.1程序I/O方式★程序I/O方式的特点I/O操作由CPU直接完成。外设与CPU完全串行工作。外设速度慢,CPU速度快,在外设准备过程中,CPU处在不断的查询之中,CPU的效率得到了极大的浪费。5.2I/O控制方式
★5.2.2中断驱动I/O控制方式在I/O设备输入数据的过程中,无须CPU干预,因而CPU与I/O设备可并行工作。仅当输完一个数据时,设备控制器以中断的方式通知CPU取数据。5.2.2中断驱动I/O控制方式
向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字CPUI/O,CPU做其它事了I/OCPU出错就绪I/OCPUCPU内存传送完成检查状态是,下一条指令未完数据进入数据寄存器,发中断从外部设备读取一块数据到存储器,每次读一个字的数据。CPU与I/O设备并行操作★中断I/O方式的特点I/O操作仍然由CPU完成在外设准备阶段,CPU与外设是并行工作的与程序I/O相比大大提高了CPU的利用率,但是从外部设备读取一块数据到存储器时,每读一个字的数据产生一次中断。5.2.2中断驱动I/O控制方式
5.2I/O控制方式
★5.2.1直接存储器访问(DMA)I/O方式数据传输基本单位是数据块从设备直接送入内存或相反。整块数据的传输是在控制器的控制下完成的。仅在开始和结束时才需CPU干预。向I/O控制器发布读块命令读DMA控制器的状态下条指令CPUDMACPU做其它事中断DMACPU5.2.3DMAI/O控制方式
DR数据寄存器MAR内存地址寄存器DC数据计数器CR命令/状态寄存器……命令系统总线DMA控制器内存主机—控制器接口CPU★DMA控制器的组成图5-4DMA控制器的组成5.2.3DMAI/O控制方式
★DMA工作过程设置MAR和DC初值启动DMA传送命令挪用CPU工作周期传送数据字存储器地址增1数据计数器减1DC=0?请求中断NY★DMA控制器的连接和传送主存CPUDMA控制器外设HRQHLDADREQDACKIOWIORMEMWMEMR数据总线地址总线DREQDREQDACKDACKHRQHRQHLDAHLDADMA控制器CPUCPUCPUDMA控制器CPU获得总线控制权CPU获得总线控制权DMA控制器获得总线控制权★DMAI/O方式的特点CPU与I/O设备在更大的程度上并行工作,效率更高。DMA方式适合高速批量的数据传输,如视频显示刷新、磁盘存储系统的读写,存储器到存储器的传输等。DMA控制器取代CPU接管地址总线的控制权。使CPU访问总线时速度会变慢。5.2.3DMAI/O控制方式
对大型系统,设备多,数据传输频繁,DMA造成的总线冲突仍然影响CPU的效率。解决办法:采用I/O通道方式进行数据交换。执行专用指令,完成数据交换专用处理器,受主CPU控制(启停等)主存CPU通道设备控制器外设5.2I/O控制方式图5-5通道的位置5.2I/O控制方式★5.2.4I/O通道控制方式通道有自己的指令系统,专门负责输入/输出工作的处理机。通过通道程序控制I/O设备完成复杂的I/O操作。没有内存,和CPU共享内存。分类:字节多路通道,数组选择通道,数组多路通道★字节多路通道
通道不间断地、轮流地启动每个设备控制器。是一种简单的共享通道,主要为多台低速或中速的字符设备服务。5.2.4I/O通道控制方式…A1A1A2A2B2B2B1B1C1C1C2C2通道………A1A1A2A2B1B1B2B2C1C2C1C2★数组选择通道
选择通道又称高速通道,在物理上它也可以连接多个设备,但这些设备不能同时工作,在一段时间内通道只能选择一台设备进行数据传送,此时该设备能独占整个通道。5.2.4I/O通道控制方式★数组多路通道
数组多路通道有多个子通道,可以执行多路通道程序,即像字节多路通道那样,所有子通道分时共享总通道;又可以用选择通道那样的方式成组传送数据。即具有多路并行操作的能力;又具有很高的数据传送速率。5.2.4I/O通道控制方式A1A1A2A2B2B2B1B1C1C1C2C2通道…………………A1A2B1B2C1C2A1A2B1B2C1C2通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次
★三种通道的比较
5.2.4I/O通道控制方式通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次通道类型字节多路数组多路选择通道数据宽度
单字节
定长块(字)
不定长块(字)
适用范围大量低速设备
大量高速设备优先级高的高速设备
工作方式字节交叉
成组交叉
独占通道
共享性
分时共享
分时共享
独占
选择设备次数
多次
多次
一次★通道类型5.2.4I/O通道控制方式5.2.4I/O通道控制方式
★工作过程:CPU向I/O通道发出一条I/O指令,给出所要执行的通道程序的首地址和要访问的I/O设备。通道接到CPU发来的指令后,通过执行通道程序便可完成CPU指定的I/O任务5.2.4I/O通道控制方式
★通道程序:由一系列的通道指令所构成。每条指令包含:操作码、内存地址、计数、通道程序结束位P(P=1表示指令是通道程序最后一条)、记录结束标志R(R=0表示指令与下一条指令所处理的数据同属一个记录)。操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507205.2.4I/O通道控制方式
★通道执行通道程序来实现和管理I/O,与DMA方式相比,通道所需的CPU干预更少,且可以做到一个通道控制多台设备,进一步减轻了CPU的负担。★CPU、通道和I/O设备并行工作计算机I/O通道1I/O通道2控制器控制器控制器控制器设备设备设备设备5.2.4I/O通道★“瓶颈”问题
多通路I/O系统第五章设备管理
5.0引言5.1I/O系统
5.2I/O控制方式
5.3缓冲管理5.3缓冲管理★缓冲区的引入缓和CPU与I/O设备间速度不匹配的矛盾。
减少对CPU的中断频率,放宽对CPU中断响应时间的限制。提高CPU和I/O设备之间的并行性。5.3.1缓冲的引入利用缓冲寄存器实现缓冲5.3.2单缓冲和双缓冲★单缓冲
单缓冲工作示意图MAX(C,T)+M系统对每一块数据的处理时间可表示为:★单缓冲
字符设备输入时,缓冲区用于暂存用户输入的一行数据,输入期间用户进程被挂起。当用户进程有第二行数据输出时,若第一行数据尚未提取完毕,则此时用户进程应阻塞。5.3.2单缓冲和双缓冲5.3.2单缓冲和双缓冲★双缓冲
双缓冲工作示意图★双缓冲
系统处理一块数据时间可表示为:MAX(C,T)如果C<T,则可使设备连续输入。若C>T,则可使CPU不必等待设备输入。字符设备输入时,当用户进程有第二行数据输出时,若第一行数据尚未提取完毕,则此时用户进程也不必阻塞。5.3.2单缓冲和双缓冲5.3.2单缓冲和双缓冲
双机通信时缓冲区的设置【11年考研31题】某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100us,将缓冲区的数据传送到用户区的时间是50us,CPU对一块数据进行分析的时间为50us。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是() A.1500us、1000usB.1550us、1100us C.1550us、1550usD.2000us、2000us考研真题B5.3.3循环缓冲★循环缓冲的组成空缓冲区满缓冲区循环缓冲5.3.3循环缓冲★
循环缓冲区的使用(以计算进程为例)Getbuf过程1)将Nextg所指示的工作区修改为现行工作区。2)Nextg移向下一个G缓冲区。Releasebuf过程1)计算进程取数完毕后,将工作缓冲区由C改为空缓冲区R
5.3.3循环缓冲★进程同步
使用循环缓冲可以使输入进程和计算进程并行执行,但是可能出现如下情况:Nexti指针追赶上Nextg指针。Nextg指针追赶上Nexti指针。
全空,阻塞计算进程全满,阻塞输入进程5.3.4缓冲池★缓冲池的组成空缓冲队列emq输入队列inq:装满输入数据的队列输出队列outq:装满输出数据的队列四种工作缓冲区5.3.4缓冲池★Getbuf过程和Putbuf过程ProcedureGetbuf(type)//从队列取走缓冲区beginWait(RS(type));//RS(type)为资源信号量
Wait(MS(type));//MS(type)为互斥信号量B(number)∶=Takebuf(type);//输出
Signal(MS(type));endProcedurePutbuf(type,number)//把缓冲区填入队列begin
Wait(MS(type));Addbuf(type,number);//把number缓冲区输入type队列Signal(MS(type));
Signal(RS(type));end5.3.4缓冲池★缓冲区的工作方式1)收容输入Getbuff(emq),
Putbuff(inq,hin)2)提取输入Getbuff(inq),
Putbuff(emq,sin)3)收容输出Getbuff(emq),
Putbuff(outq,hout)4)提取输出Getbuff(out),
Putbuff(emq,sout)5.4I/O软件5.5设备分配5.6磁盘存储器的管理第五章设备管理5.4.1I/O软件的设计目标和原则★I/O软件的设计目标与具体设备无关统一命名对错误的处理缓冲技术设备的分配和释放I/O控制方式5.4.1I/O软件的设计目标和原则★
I/O系统的层次及功能
5.4.2中断处理程序★唤醒被阻塞的驱动(程序)进程
当中断处理程序开始执行时,首先去唤醒处于阻塞状态的驱动(程序)进程。如果是采用了信号量机制,则可通过执行signal操作,将处于阻塞状态的驱动(程序)进程唤醒;在采用信号机制时,将发送一信号给阻塞进程。5.4.2中断处理程序★保护被中断进程的CPU环境
中断现场保护示意图5.4.2中断处理程序★转入相应的设备处理程序
1)由处理机对各个中断源进行测试,以确定引起本次中断的I/O设备;
2)发送一应答信号给发出中断请求的进程,使之消除该中断请求信号; 3)然后将相应的设备中断处理程序的入口地址装入到程序计数器中,使处理机转向中断处理程序。
5.4.2中断处理程序★中断处理对于不同的设备,有不同的中断处理程序。该程序首先从设备控制器中读出设备状态,以判别本次中断是正常完成中断,还是异常结束中断。进行新一轮的数据传送或根据发生异常的原因做相应的处理。
5.4.2中断处理程序★恢复被中断进程的现场5.4.2中断处理程序★中断处理流程5.4.3设备驱动程序★设备驱动程序的功能
(1)接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求。例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。
(2)检查用户I/O请求的合法性。
5.4.3设备驱动程序★设备驱动程序的功能(3)发出I/O命令。
(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。
(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。5.4.3设备驱动程序★设备驱动程序的处理过程将抽象要求转换为具体要求
2.检查I/O请求的合法性
3.读出和检查设备的状态
4.传送必要的参数
5.工作方式的设置6.启动I/O设备5.4.3设备驱动程序★设备驱动程序的特点(1)驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。
(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。
(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。
(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。5.4.4设备独立性软件★设备独立性的概念也称为设备无关性,其基本含义是:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。5.4.4设备独立性软件★设备独立性的概念
在实现了设备独立性的功能后,可带来以下两方面的好处。
1)设备分配时的灵活性系统动态分配
2)易于实现I/O重定向修改逻辑设备表5.4.4设备独立性软件★逻辑设备名到物理设备名映射的实现
逻辑设备表5.4.4设备独立性软件★设备独立性软件1)执行所有设备的公有操作;①对独立设备的分配与回收;②将逻辑设备名映射为物理设备名,找到相应物理设备的驱动程序;③对设备进行保护,禁止用户直接访问设备;④缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率;⑤差错控制。只处理那些设备驱动程序无法处理的错误
5.4.4设备独立性软件★设备独立性软件2)向用户层(或文件层)软件提供统一接口
无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,也都使用write。
★用户层软件必须通过系统调用取得操作系统服务!【09年考研32题】程序员利用系统调用打开I/O设备时,通常使用的设备标识是()
A.逻辑设备名B.物理设备名C.主设备号D.从设备号【10年考研32题】本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是(
)
A.命令解释程序B.中断处理程序
C.系统调用程序D.用户登录程序考研真题A
B【11年考研26题】用户程序发出磁盘I/O请求后,系统的正确处理流程是() A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序考研真题B【12年考研24题】中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是()。
A.程序计数器 B.程序状态字寄存器
C.通用数据寄存器 D.通用地址寄存器【12年考研26题】操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是()。
A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序
B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序
C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序
D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序。
考研真题BA5.4I/O软件5.5设备分配5.6磁盘存储器的管理第五章设备管理5.5.1设备分配中的数据结构★设备控制表DCT5.5.1设备分配中的数据结构★控制器控制表、通道控制表和系统设备表COCT、CHCT和SDT表5.5.2设备分配时应考虑的因素独占设备
共享设备可虚拟设备★
设备分配算法★设备的固有属性★
设备分配中的安全性
先来先服务优先级高者优先安全分配方式(请求后阻塞)
不安全分配方式(请求后继续运行)5.5设备分配★5.5.3独占设备的分配程序1)分配设备
2)
分配控制器
3)分配通道
5.5.4SPOOLing技术★什么是SPOOLing问题一:系统中的独占设备有限,往往不能满足需要,成为系统中的瓶颈,使许多进程因等待它们而阻塞。问题二:得到独占设备的进程在整个运行期间占有该设备,但却不经常使用,导致设备的利用率低下。解决:通过虚拟独占设备实现设备共享,提高设备的利用率和系统的效率。SPOOLING(simultaneousperipheraloperationson-line)假脱机技术是策略之一,即在联机情况下实现的同时外围操作。5.5.4SPOOLing技术★SPOOLing系统的组成内存SPOOLING技术实现组成:(磁盘上)开辟“输入井”和“输出井”,用于收容输入和输出数据;(内存)输入缓冲区和输出缓冲区,接收输入设备来的数据并送往输入井。暂存输出井来的输出数据,送给输出设备。输入进程和输出进程(输入管理模块、输出管理模块):将输入数据从输入设备暂存在输入缓冲区,再送到输入井。输出进程同理。★输入过程:当系统收到作业输入请求信号后,输入进程的读过程负责将信息从输入装置中读入输入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到输入井中,读过程和写过程反复循环,直到一个作业输入完毕。5.5.4SPOOLing技术★输出过程:
系统将输出信息先放到输出井,然后由输出进程中读过程从输出井读数据到缓冲区,写过程将缓冲区的数据写到输出设备上。5.5.4SPOOLing技术★当CPU需要输入数据时,直接从输入井读入内存;★输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。5.5.4SPOOLing技术★共享打印机当用户进程请求打印输出时,并不真正立即把打印机分配给该用户进程,而只为它做两件事:
①由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;
②输出进程为用户进程申请一张空白的用户请求打印表,将用户的打印要求填入其中,再将该表挂到请求打印队列上。5.5.4SPOOLing技术★共享打印机
当打印机空闲时,输出过程将从请求队列队首取出一张打印请求表,将要打印的数据从输出井传送到内存输出缓冲区,再由直至打印队列空。打印机进行输出打印。系统只是为每个提出打印请求的进程在输出井中分配一个存储区(相当于一个逻辑设备),使每个用户进程都觉得自己在独占一台打印机,从而实现了对打印机的共享。5.5.4SPOOLing技术★
SPOOLing系统的特点提高了I/O的速度。
将独占设备改造为共享设备。
实现了虚拟设备功能。【16年考研31题】31.下列关于SPOOLing技术的叙述中,错误的是(D)需要外存的支持需要多道程序设计技术的支持可以让多个作业共享一台独立设备由用户作业控制设备与输入/输出井之间的数据传送5.4I/O软件5.5设备分配
5.6磁盘存储器的管理第五章设备管理★5.6.1磁盘性能简述
5.6磁盘存储器的管理★数据的组织和格式:
5.6.1磁盘性能简述磁盘的结构和布局
柱面扇区磁臂磁头侧视图★数据的组织和格式:
5.6.1磁盘性能简述俯视图★数据的组织和格式:
5.6.1磁盘性能简述磁盘的格式化
★磁盘的类型固定头磁盘:每条磁道上都有一读写磁头。移动头磁盘:每个盘面仅配有一个磁头。
5.6.1磁盘性能简述★磁盘访问时间
1)寻道时间Ts
这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=m×n+s其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘,m=0.2;对高速磁盘,m≤0.1,磁臂的启动时间约为2ms。5.6.1磁盘性能简述★磁盘访问时间2)旋转延迟时间Tτ
这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400r/min,每转需时11.1ms,平均旋转延迟时间Tτ为5.55ms;
5.6.1磁盘性能简述★磁盘访问时间
3)传输时间Tt
把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关:
5.6.1磁盘性能简述
其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tτ相同。★磁盘访问时间
磁盘访问时间=寻道时间+旋转延迟时间+传输时间Tt5.6.1磁盘性能简述可将访问时间Ta表示为:5.6.2磁盘调度磁盘是可被多个进程共享的设备。当有多个进程都请求访问磁盘时,应采用一种适当的调度算法,以使各进程对磁盘的平均访问时间最小。由于在访问磁盘的时间中主要是寻道时间,因此,磁盘调度的目标应是使磁盘的平均寻道时间最少。★先来先服务FCFS(FirstComeFirstServed)按访问请求到达的先后次序服务
5.6.2磁盘调度5.6.2磁盘调度假定磁盘共有40个柱面,当前磁头正在第11道服务,等待服务的进程有6个,它们请求的磁道号分别是:1,36,16,34,9和12(以请求时间先后为序)。××××××0 5101520253035移动为:111361634912总移动磁道数:10+35+20+18+25+3=111★先来先服务FCFS(FirstComeFirstServed)
★先来先服务FCFS(FirstComeFirstServed)按访问请求到达的先后次序服务优点:简单,公平;缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利
5.6.2磁盘调度★最短寻道时间优先SSTF(ShortestSeekTimeFirst)
优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。5.6.2磁盘调度假定磁盘共有40个柱面,当前磁头正在第11道服务,等待服务的进程有6个,它们请求的柱面分别是:1,36,16,34,9和12(以请求时间先后为序)。移动为:111291613436总移动磁道数:1+3+7+15+33+2=61由此可知总的磁道移动数为61,而FCFS为111★最短寻道时间优先SSTF(ShortestSeekTimeFirst)
××××××0 51015202530355.6.2磁盘调度★最短寻道时间优先SSTF(ShortestSeekTimeFirst)
优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。优点:改善了磁盘平均服务时间;缺点:造成某些访问请求长期等待得不到服务5.6.2磁盘调度★扫描(SCAN)算法又称电梯算法。具体做法:当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,如此反复
5.6.2磁盘调度★扫描(SCAN)算法
5.6.2磁盘调度假定磁盘共有40个柱面,当前磁头正在第11道自里向外服务,等待服务的进程有6个,它们请求的柱面分别是:1,36,16,34,9和12(以请求时间先后为序)。××××××0 5101520253035移动为:111216343691总移动磁道数:1+4+18+2+27+8=60★扫描(SCAN)算法优点:既考虑了距离,同时又考虑了方向缺点:当请求对磁道的分布是均匀时,磁头回头,近磁头端的请求很少(因为磁头刚经过),而远端请求较多,这些请求等待时间要长一些。
5.6.2磁盘调度★循环扫描(CSCAN)算法也称单向扫描算法。总是从外面柱面开始向里扫描。移动臂到达最后个一个请求磁道柱面后,立即带动读写磁头快速返回。返回时不为任何的等待访问者服务。返回后可再次进行扫描。5.6.2磁盘调度★循环扫描(CSCAN)算法5.6.2磁盘调度假定磁盘共有40个柱面,当前磁头正在第11道自里向外服务,等待服务的进程有6个,它们请求的柱面分别是:1,36,16,34,9和12(以请求时间先后为序)。××××××0 5101520253035移动为:111216343619总移动磁道数:1+4+18+2+35+8=68调度算法的选择实际系统相当普遍采用最短寻道时间优先算法,因为它简单有效,性价比好。扫描算法更适于磁盘负担重的系统。磁盘负担很轻的系统也可以采用先来先服务算法一般要将磁盘调度算法作为操作系统的单独模块编写,利于修改和更换。★
N-Step-SCAN和FSCAN调度算法1)N-Step-SCAN算法在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况,例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。我们把这一现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘(外圈)调度将按FCFS算法依次处理这些子队列。而每处理一个队列时(内圈)又是按SCAN(电梯)算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时,N步SCAN算法便蜕化为FCFS算法。
5.6.2磁盘调度★
N-Step-SCAN和FSCAN调度算法2)FSCAN算法
FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。
5.6.2磁盘调度★
磁盘高速缓存的形式是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。这里的高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。高速缓存在内存中可分成两种形式。第1种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;第2种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时高速缓存的大小,显然不再是固定的。当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。
5.6.3磁盘高速缓存★数据交付方式
系统可以采取两种方式,将数据交付给请求进程:
(1)数据交付。这是直接将高速缓存中的数据,传送到请求者进程的内存工作区中。
(2)指针交付。只将指向高速缓存中某区域的指针,交付给请求者进程。
后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时间
5.6.3磁盘高速缓存★置换算法
由于请求调页中的虚拟存储器与高速缓存(磁盘I/O中)的工作情况不同,因而使得在置换算法中所应考虑的问题也有所差异。因此,现在不少系统在设计其高速缓存的置换算法时,除了考虑到最近最久未使用(放磁盘中)这一原则外,还考虑了以下几点:
(1)访问频率。经常被访问的在内存
(2)可预见性。常用的在内存
(3)数据的一致性。重要数据及时回写
5.6.3磁盘高速缓存★周期性地写回磁盘在UNIX系统中专门增设了一个修改(update)程序,使之在后台运行,该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。一般是把两次调用SYNC的时间间隔定为30s。这样,因系统故障所造成的工作损失不会超过30s的劳动量。
而在MS-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-throughcache)。MS-DOS所采用的写回方式,几乎不会造成数据的丢失,但须频繁地启动磁盘。
5.6.3磁盘高速缓存★提前读(Read-Ahead)
★延迟写
★优化物理块的分布
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东酒店管理职业技术学院《Java语言程序设计B》2023-2024学年第二学期期末试卷
- 江苏海事职业技术学院《植物营养分子生物学基础》2023-2024学年第二学期期末试卷
- 公司门卫管理制度及岗位职责
- 【2025年饮食产业布局加速:澳门零售与餐饮市场呈现分化趋势】
- 监控机房施工方案
- 直线段支架施工方案
- 保温冷棚施工方案
- 一卡通方案资料
- 5年级下册数学所有公式
- 5年级第6单元语文园地笔记上册
- G -B- 43630-2023 塔式和机架式服务器能效限定值及能效等级(正式版)
- QC/T 1091-2023 客车空气净化装置 (正式版)
- 2024年节水知识竞赛考试题及答案
- 2024年江苏医药职业学院单招职业适应性测试题库完整
- qc工作岗位职责
- 【体能大循环】聚焦体能循环-探索运动奥秘-幼儿园探究体能大循环有效开展策略课件
- 采购人员廉洁从业课件培训
- 2024年单招计算机试题题库及答案
- XX药业公司受试者日记卡
- 多组学数据的整合与分析
- 小学安全教育《平安校园 拒绝欺凌》刘伟【省级】优质课
评论
0/150
提交评论