OperatingSystemPage12019/10/4OperatingSystemPage22019/10/4第五章设备管理I/O系统I/O控制方式缓冲管理设备分配设备处理磁盘存储器管理OperatingSystemPage32019/10/4磁盘存储器管理磁盘存储器管理的主要任务磁盘性能简述磁盘调度磁盘高速缓存(DiskCache)提高磁盘I/O速度的其它方法廉价磁盘冗余阵列现代操作系统的重要任务之一:设法改善磁盘系统的性能OperatingSystemPage42019/10/4磁盘存储器管理磁盘存储器管理的主要任务为文件分配存储空间合理地组织文件地存储方式,以提高磁盘的访问速度提高磁盘存储空间地利用率提高磁盘I/O速度,改善文件性能确保文件系统的可靠性(备份)OperatingSystemPage52019/10/4磁盘存储器管理磁盘存储器管理的主要任务磁盘性能简述磁盘调度磁盘高速缓存(DiskCache)提高磁盘I/O速度的其它方法廉价磁盘冗余阵列OperatingSystemPage62019/10/45.6磁盘存储器管理5.6.1磁盘性能简述1.图5-22磁盘的格式化磁盘包括一个或多个盘片,每片分2面,每面可分成若干条磁道,各磁道之间有间隙,每条磁道上可存储相同数目的二进制位,磁盘密度即每英寸之中所存储的位数。显然内层磁道的密度较外层磁道的密度大。OperatingSystemPage72019/10/4磁盘性能简述盘片扇区磁头磁道OperatingSystemPage82019/10/4磁盘性能简述OperatingSystemPage92019/10/4磁盘性能简述OperatingSystemPage102019/10/4磁盘性能简述OperatingSystemPage112019/10/4磁盘性能简述OperatingSystemPage122019/10/4磁盘性能简述OperatingSystemPage132019/10/4磁盘性能简述数据的组织和格式盘片(1个或多个)、盘面、磁道、扇区扇区有标识符字段和数据字段Gap102031292293FieldGapFieldGapGapFieldGapFieldGap17741515201774151520IDDataIDDataGap1292293FieldGapField1774151520IDDataSectorPhysicalSector0PhysicalSector1PhysicalSector29BytesSynchByteTrack#Head#Sector#Bytes1211CRC3SynchByteDataCRC15122600Bytes/SectorGap存储相同数目的二进制位间隙定界符段校验OperatingSystemPage142019/10/42.磁盘的类型1)固定头磁盘这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。OperatingSystemPage152019/10/4磁盘性能简述访盘时间组成寻道时间旋转延迟时间传输时间OperatingSystemPage162019/10/4磁盘性能简述磁盘访问时间寻道时间Ts这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=m×n+s旋转延迟时间Tτ这是指定扇区移动到磁头下面所经历的时间。如:7200r/min每转=60000ms/7200r=8.33ms平均旋转延迟=(0+8.33)/2=4.16是一常数,与磁盘驱动器的速度有关一般:0.2高速:=0.1启动磁臂时间2msOperatingSystemPage172019/10/4磁盘性能简述传输时间Tt指把数据从磁盘读出或向磁盘写入数据所经历的时间。其大小与每次所读/写的字节数b和旋转速度有关r为磁盘每秒钟的转数;N为一条磁道上的字节数Tτ和Tt相同,则访问时间=Ts+Tτ+TtrNbTt12asbTTrrN如b=N/2,则Tτ=1/(2r)=Tt可见,寻道时间TS和旋转延迟时间Tτ基本上都与所读/写数据的字节数无关,而且它通常占据了访问时间中的大部分目前磁盘的传输速率已达到80MB/s以上,数据传输时间所占的比例更低。可见,适当地集中数据传输,将有利于提高传输效率OperatingSystemPage182019/10/43.磁盘访问时间寻道时间:20ms磁盘通道传输速率:1MB/s转速r=3600rpm每扇区512字节每磁道32扇区目标:读128k数据1.寻道时间TS:TS=m*n+S;2.旋转延时间Tr:Tr=1/2r3.数据传输时间Tt:Tt=b/rN访问时间:Ta=Ts+1/2r+b/rN60*16k=960k1MB/s顺序组织(20+8.3+16.7)+(8.3+16.7)×7=220(ms)随机组织(20+8.3+0.5)×256=7373(ms)OperatingSystemPage192019/10/4磁盘存储器管理磁盘存储器管理的主要任务磁盘性能简述磁盘调度磁盘高速缓存(DiskCache)提高磁盘I/O速度的其它方法廉价磁盘冗余阵列在访问磁盘的时间中,主要是寻道时间,因此,磁盘调度的目标就是使磁盘的平均寻道时间最少。OperatingSystemPage202019/10/4磁盘调度先来先服务FCFS(First-Come,FirstServed)根据进程请求访问磁盘的先后次序进行调度优点:简单、公平,不会出现请求长期得不到满足缺点:未优化,平均寻道时间长平均寻道长度:55.31461841123810150701607290211819393584555移动距离被访问的下一个磁道100道开始55、58、39、18、90、160、150、38、1840383955589010015016018418先来先服务FCFS(First-Come,FirstServed)OperatingSystemPage222019/10/4磁盘调度最短寻道时间优先SSTF(ShortestSeekTimeFirst)要求访问的磁道与当前磁头所在的磁道距离最近优点:使每次寻道时间最短缺点:不能保证平均寻道时间最短;可能导致距离远的进程总也得不到服务平均寻道长度:27.524184101601321502018138163935532581090移动距离被访问的下一个磁道100道开始55、58、39、18、90、160、150、38、1840383955589010015016018418最短寻道时间优先STF(ShortestSeekTimeFirst)OperatingSystemPage242019/10/4FCFS调度算法SSTF调度算法100道开始被访问的下一个磁道移动距离5545583391918219072160701501038112184146平均寻道长度:55.3100道开始被访问的下一个磁道移动距离90105832553391638118201501321601018424平均寻道长度:27.5OperatingSystemPage252019/10/43.扫描(SCAN)算法1)进程“饥饿”现象SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。OperatingSystemPage262019/10/4磁盘调度扫描(SCAN)算法SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)现象050160OperatingSystemPage272019/10/4磁盘调度扫描(SCAN)算法对SSTF算法略加修改后所形成的SCAN算法,即可防止进程出现“饥饿”现象SCAN算法不仅考虑欲访问的磁道与当前磁道的距离,更优先考虑的是磁头当前的移动方向磁头移动:自里向外自外向里又称为“电梯调度算法”OperatingSystemPage282019/10/4磁盘调度扫描(SCAN)算法对SSTF算法略加修改后所形成的SCAN算法,即可防止进程出现“饥饿”现象SCAN算法不仅考虑欲访问的磁道与当前磁道的距离,更优先考虑的是磁头当前的移动方向磁头移动:自里向外自外向里又称为“电梯调度算法”平均寻道长度:27.82018138163935532589490241841016050150移动距离被访问的下一个磁道100道开始,增加方向55、58、39、18、90、160、150、38、184OperatingSystemPage292019/10/4SCAN调度算法SSTF调度算法100道开始被访问的下一个磁道移动距离90105832553391638118201501321601018424平均寻道长度:27.5100道开始,增加方向被访问的下一个磁道移动距离1505016010184249094583255339163811820平均寻道长度:27.8OperatingSystemPage302019/10/40383955589010015016018418磁盘调度缺点:刚移过的磁道的等待时间长OperatingSystemPage312019/10/4磁盘调度循环扫描(CSCAN)算法规定磁头单向移动减少刚移过的磁道的等待时间平均寻道长度:27.532903581655139203816618241841016050150移动距离被访问的下一个磁道100道开始,增加方向55、58、39、18、90、160、150、38、184OperatingSystemPage322019/10/40383955589010015016018418磁盘调度OperatingSystemPage332019/10/4SCAN调度算法CSCAN调度算法100道开始,增加方向被访问的下一个磁道移动距离1505016010184249094583255339163811820平均寻道长度:27.8100道开始,增加方向被访问的下一个磁道移动距离15050160101842418166382039155165839032平均寻道长度:27.5OperatingSystemPage342019/10/4SSTF调度算法CSCAN调度算法100道开始,增加方向被访问的下一个磁道移动距离15050160101842418166382039155165839032平均寻道长度:27.5100道开始被访问的下一个磁道移动距离90105832553391638118201501321601018424平均寻道长度:27.5OperatingSystemPage352019/10/4磁盘调度N-Step-SCAN和FSCAN调度算法N-Step-SCAN算法在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况,称为“磁臂粘着”(Armstickiness)N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列FSCAN算法FSCAN算