操作系统-磁盘存储管理.ppt
《操作系统-磁盘存储管理.ppt》由会员分享,可在线阅读,更多相关《操作系统-磁盘存储管理.ppt(44页珍藏版)》请在三一办公上搜索。
1、磁盘存储器的管理,磁盘存储器管理的主要任务:为文件分配必要地存储空间 合理地组织文件的存取方式,提高对文件的访问速度 提高磁盘存储空间的利用率,提高对磁盘的I/O速度 采取必要地冗余措施,确保文件系统的可靠性。影响磁盘性能和数据安全性的主要因素:转速、寻道时间 磁盘控制器:IDE、SCSI磁盘控制器 RAID(廉价磁盘冗余队列)磁盘容错技术 磁盘管理算法:磁盘调度算法和磁盘高速缓存。,磁盘存储器的管理,磁盘性能简述 数据的组织和格式磁盘设备包括一或多个物理盘片,每个磁盘片分一个或两个存储面(surface),每个磁盘面被组织成若干个同心环,这种环称为磁道(track),各磁道之间留有必要的间隙
2、。所有磁道由外向内依次由0开始编号,称为磁道号。每条磁道上可存储相同数目的二进制位。这样,磁盘密度即每英寸中所存储的位数,显然是内层磁道的密度较外层磁道的密度高。每条磁道又被逻辑上划分成若干个扇区(sectors),软盘大约为832个扇区,硬盘则可多达数百个。一个扇区称为一个盘块(或数据块),常常叫做磁盘扇区。各扇区之间保留一定的间隙。扇区是磁盘进行I/O传输的基本单位,也是磁盘空间分配的基本单位。,磁盘的结构和布局,磁盘的结构和布局,为了在磁盘上存储数据,必须先将磁盘低级格式化。下图磁盘中每条磁道含有30个固定大小的扇区,每个扇区容量为600个字节,其中512个字节存放数据,其余的用于存放控
3、制信息。每个扇区包括两个字段:(1)标识符字段,其中一个字节的SYNCH定界符,利用磁道号、磁头号及扇区号三者来标识一个扇区;CRC字段用于段校验。(2)数据字段,其中可存放512个字节的数据。,磁盘扇区,对磁盘,可以从不同的角度进行分类:硬盘和软盘、单片盘和多片盘、固定头磁盘和活动头(移动头)磁盘等。固定头磁盘这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行
4、寻道。移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。在微型机上配置的温盘和软盘都采用移动磁头结构。,磁盘的类型,磁盘的访问时间Ta表示为:访问时间=寻道时间+旋转时间+传输时间磁盘接收到读指令后,磁头从当前位置移动到目标磁道位置,所需时间为寻道时间旋转磁盘,定位数据所在的扇区,所需时间为旋转延迟从磁盘上读取数据,时间为数据传输时间,磁盘访问时间,寻道时间Ts这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即,Ts=m n+s,其中,m是一常数,与磁盘驱动器的速度有关。对于一般磁
5、盘,m=0.2;对于高速磁盘,m0.1,磁臂的启动时间约为2 ms。对于一般的温盘,其寻道时间将随寻道距离的增加而增大,大体上是530 ms。,磁盘访问时间,旋转延迟时间Tr将磁头移动到指定扇区下面所经历的时间。Tr=1/(2r),r为磁盘转速(转数/单位时间,秒)不同的磁盘类型中,旋转速度至少相差一个数量级,如软盘为300 r/min,硬盘一般为720015 000 r/min,甚至更高。对于磁盘旋转延迟时间而言,如硬盘,旋转速度为15 000 r/min,每转需时4 ms,平均旋转延迟时间Tr为2 ms;而软盘,其旋转速度为 300 r/min或600 r/min,这样,平均Tr为5010
6、0 ms。,磁盘访问时间,传输时间Tt这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关:,其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,即N=2*b时,Tt=1/(2r),Tt与Tr相同。,磁盘访问时间,磁盘的访问时间Ta表示为:访问时间=寻道时间+旋转时间+传输时间磁盘接收到读指令后,磁头从当前位置移动到目标磁道位置,所需时间为寻道时间旋转磁盘,定位数据所在的扇区,所需时间为旋转延迟从磁盘上读取数据,时间为数据传输时间,磁盘访问时间,由上式可以看出,在访问时间中,寻道时间和旋转延迟时间与
7、所读/写数据的多少无关,它通常占据了访问时间中的大部分。例如,假定寻道时间和旋转延迟时间平均为20 ms,而磁盘的传输速率为10 MB/s,如果要传输10 KB的数据,此时总的访问时间为21 ms,可见传输时间所占比例是非常小的。当传输100 KB数据时,其访问时间也只是30 ms,即当传输的数据量增大10倍时,访问时间只增加约50%。目前磁盘的传输速率已达80 MB/s以上,数据传输时间所占的比例更低。可见,适当地集中数据(不要太零散)传输,将有利于提高传输效率。,磁盘访问时间,磁盘是一种共享设备,当有多个进程共同请求磁盘时,需要采用合理地磁盘调度方法,保证各个进程对磁盘的平均访问时间(寻道
8、时间)最少。即磁盘调度的目标是使磁盘的平均寻道时间最少。先来先服务(FCFS)这是一种最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次地得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。,磁盘调度,FCFS调度算法,磁盘调度,有9个进程先后提出磁盘I/O请求。进程(请求者)按发出请求的先后次序排队。平均寻道距离为55.3条磁道,该方法平均寻道距离较大,故FCFS算法仅适用于请求磁盘I/O的进程数目较少的场合。,最短寻道时间优先(SSTF)该算法选择这样的进程:其要求访问
9、的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。但这种算法不能保证平均寻道时间最短。,磁盘调度,SSTF调度算法,磁盘调度,SSTF算法的平均每次磁头移动距离明显低于FCFS的距离,因而较FCFS有更好的寻道性能,曾被广泛采用。,SSTF调度算法,磁盘调度,FCFS调度算法,进程“饥饿”现象SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必然优先满足。对SSTF算法修改后形成SCAN算法,即可防止老进程出现“饥饿”现象。,扫描(S
10、CAN)算法,SCAN算法该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。例如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个访问对象,应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向为自外向里移动。这时,同样也是每次选择这样的进程来调度,即要访问的磁道在当前位置内距离最近者,这样,磁头又逐步地从外向里移动,直至再无更里面的磁道要访问,从而避免了出现“饥饿”现象。由于在这种算法中磁头移动的规律颇似电梯的运行,因而又常称之为电梯调度算法。,扫描(SCAN)算法,SCAN调度算法示例,扫描(S
11、CAN)算法,SCAN算法既能获得较好的寻道性能,又能防止“饥饿”现象,故被广泛用于大、中、小型机器和网络中的磁盘调度。但SCAN也存在这样的问题:当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时,该进程必须等待,待磁头继续从里向外,然后再从外向里扫描完所有要访问的磁道后,才处理该进程的请求,致使该进程的请求被大大地推迟。,循环扫描(CSCAN)算法,为了减少这种延迟,CSCAN算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问的磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。采用循环扫描方式后,上述请
12、求进程的请求延迟将从原来的2T减为T+Smax,其中,T为由里向外或由外向里单向扫描完要访问的磁道所需的寻道时间,Smax是将磁头从最外面被访问的磁道直接移到最里面欲访问的磁道(或相反)的寻道时间。,循环扫描(CSCAN)算法,CSCAN调度算法示例,循环扫描(CSCAN)算法,CSCAN调度算法示例,循环扫描(CSCAN)算法,SCAN调度算法示例,N_Step SCAN算法 在SSTF、SCAN及CSCAN几种调度算法中,都可能会出现磁臂停留在某处不动的情况,例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。我们把这一
13、现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时,N步SCAN算法便蜕化为FCFS算法。,NStepSCAN和FSCAN调度算法,FSCAN算法FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁
14、盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。,NStepSCAN和FSCAN调度算法,磁盘高速缓存,并非通常意义下的内存和CPU之间所增设的一个小容量高速存储器,而是指利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息。因此,高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。磁盘高速缓存的形式 在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;把
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 磁盘 存储 管理

链接地址:https://www.31ppt.com/p-6495312.html