第7章设备管理●●I/O设备管理概述●●磁盘管理●●I/O控制方式●●缓冲管理本章要点本章要点7.4磁盘管理速度是影响文件系统性能的主要因素提高磁盘I/O速度的主要途径:选择性能好的磁盘采用好的磁盘调度算法设置磁盘高速缓冲区磁盘性能影响磁盘性能的因素:数据的结构磁盘的类型磁盘访问时间磁盘结构和管理每条磁道上存储相同数目的二进制位。盘片旋转,当磁头位于某个磁道、某个扇区下时,就可将该扇区的内容读出或写入。0道n道扇区0n主轴记录面小车磁头磁盘结构和管理磁盘寻址:柱面(磁道)号磁头(盘面)号扇区号磁盘的格式化(低级格式化)例一个磁道分成30个固定大小的扇区,每个扇区的容量为600个字节,其中512个字节存放数据,88个字节存放控制信息。物理扇区0物理扇区1物理扇区29间隙1ID域0间隙2数据域0间隙3间隙1ID域1间隙2数据域1间隙3间隙1ID域29间隙2数据域29字节1774151520177415152017741515同步字节磁道号#磁头号#扇区号#CRC同步字节数据CRC1211215122600字节/扇区20间隙3读写磁盘时的单位:扇区。相当于存储块。扇区大小固定。磁盘的类型固定头磁盘–每条磁道上都有一个读/写磁头(大容量磁盘)移动头磁盘–每个盘面仅配一个读/写磁头。即微机上用的硬盘(也叫温切斯特硬盘)。磁盘的访问rNbTtsnmTstrsaTTTT寻道时间Ts:磁头从当前位置移动到指定磁道上所经历的时间。(s:启动磁盘时间、m:常数=0.3、n:磁道数)Ts:随寻道距离的增大而增大,约10ms旋转延迟时间Tr:磁头找到指定的扇区所经历的时间。由磁盘的旋转速度决定。(例:旋转速度:r=10000rpm,则Tr=3ms)传输时间Tt:数据从磁盘读出,或向磁盘写入数据所经历的时间。(r:磁盘旋转速度N:一条磁道上的字节数b:每次读写的字节数)磁盘访问时间rTr21如何减少磁盘的访问时间例1:寻道时间是Ts,旋转延迟时间是Tr。设Ts+Tr=13ms,磁道的传输速度为2KB/ms,(1)若要传输1K字节,求磁盘访问时间Ta则传输时间Tt=1/2=0.5msTa=13+0.5=13.5ms;(2)若要传输10K字节,求磁盘访问时间Ta则传输时间Tt=10/2=5msTa=13+5=18ms结论1:适当集中数据传送,有利于提高传输速率。如何减少磁盘的访问时间例2:磁盘的寻道时间为10ms,旋转时间为10000r/min,每个磁道有320个扇区,每个扇区512个字节,假设读取一个包含2560个扇区的文件,文件的大小是1.3MB现在估计磁盘的访问时间。(1)若数据顺序组织:读第一个磁道的时间如下:Ts+Tr+Tt(读320个扇区时间)=10ms+3ms+6ms=19ms如果在读其余的磁道时,不需寻道,后面每个磁道的读取时间是3+6=9ms,读取整个文件总时间=19+7*9=82ms=0.082s(2)如果采用随机访问,也就是说,访问随机分布在磁盘上的扇区。对于每个扇区的访问时间为:Ts+Tr+Tt(读一个扇区时间)=10ms+3ms+0.01875ms=13.01875ms,读取整个文件总时间=2560*13.01875=33328ms=33.328s结论2:减少磁盘访问时间的途径之二:数据尽可能顺序组织5545583391918219072160701501038112184146被访问的下移动距离一个磁道号(磁道数)平均寻道长度:55.3FCFS调度算法90105832553391638118201501321601018424被访问的下移动距离一个磁道号(磁道数)平均寻道长度:27.5SSTF调度算法从100#磁道开始从100#磁道开始磁盘调度算法——FCFS:先来先服务优点:公平、简单。缺点:未对寻道进行优化,平均寻道时间较长。SSTF:最短寻道时间优先优点:对寻道优化缺点:“饥饿”现象发生FCFS和SSTF磁盘调度算法——SCAN算法:对SSTF算法进行改造,不仅考虑要访问的磁道与当前磁盘的距离,更优先考虑磁头的当前移动方向。因该算法中磁头的移动规律颇似电梯的运行,故称“电梯调度算法”。循环扫描CSCAN:对SCAN进行改造。内外扫描算法磁盘调度算法——SCAN和CSCAN1505016010184249094583255339163811820被访问的下移动距离一个磁道号(磁道数)平均寻道长度:27.8SCAN调度算法15050160101842418166382039155165839032被访问的下移动距离一个磁道号(磁道数)平均寻道长度:35.7CSCAN调度算法从100#磁道开始,向磁道号增加的方向从100#磁道开始,向磁道号增加的方向磁盘调度算法——N-ste...