预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共43页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

磁盘存储器的管理磁盘存储器的管理磁盘的结构和布局为了在磁盘上存储数据,必须先将磁盘低级格式化。磁盘中每条磁道含有30个固定大小的扇区,每个扇区容量为600个字节,其中512个字节存放数据,其余的用于存放控制信息。每个扇区包括两个字段:(1)标识符字段,其中一个字节的SYNCH定界符,利用磁道号、磁头号及扇区号三者来标识一个扇区;CRC字段用于段校验。(2)数据字段,其中可存放512个字节的数据。对磁盘,可以从不同的角度进行分类:硬盘和软盘、单片盘和多片盘、固定头磁盘和活动头(移动头)磁盘等。 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。在微型机上配置的温盘和软盘都采用移动磁头结构。磁盘的访问时间T表示为: 访问时间=寻道时间+旋转时间+传输时间 磁盘接收到读指令后,磁头从当前位置移动到目标磁道位置,所需时间为寻道时间 旋转磁盘,定位数据所在的扇区,所需时间为旋转延迟 从磁盘上读取数据,时间为数据传输时间寻道时间Ts 这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即旋转延迟时间Tr 将磁头移动到指定扇区下面所经历的时间。 Tr=1/(2r),r为磁盘转速(转数/单位时间,秒) 不同的磁盘类型中,旋转速度至少相差一个数量级,如软盘为300r/min,硬盘一般为7200~15000r/min,甚至更高。 对于磁盘旋转延迟时间而言,如硬盘,旋转速度为15000r/min,每转需时4ms,平均旋转延迟时间Tr为2ms; 而软盘,其旋转速度为300r/min或600r/min,这样,平均Tr为50~100ms。 一般使用简单的假定测量该值,即使用平均值:将磁盘旋转周期的一半作为旋转延迟的近似值,该方法在实际应用中也非常实用。因此,一般都将磁盘旋转周期的一半定义为旋转延迟。传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关:磁盘的访问时间T表示为: 访问时间=寻道时间+旋转时间+传输时间 磁盘接收到读指令后,磁头从当前位置移动到目标磁道位置,所需时间为寻道时间 旋转磁盘,定位数据所在的扇区,所需时间为旋转延迟 从磁盘上读取数据,时间为数据传输时间由上式可以看出,在访问时间中,寻道时间和旋转延迟时间与所读/写数据的多少无关,它通常占据了访问时间中的大部分。 例如,假定寻道时间和旋转延迟时间平均为20ms,而磁盘的传输速率为10MB/s,如果要传输10KB的数据,此时总的访问时间为21ms,可见传输时间所占比例是非常小的。当传输100KB数据时,其访问时间也只是30ms,即当传输的数据量增大10倍时,访问时间只增加约50%。 目前磁盘的传输速率已达80MB/s以上,数据传输时间所占的比例更低。可见,适当地集中数据(不要太零散)传输,将有利于提高传输效率。磁盘是一种共享设备,当有多个进程共同请求磁盘时,需要采用合理地磁盘调度方法,保证各个进程对磁盘的平均访问时间(寻道时间)最少。即磁盘调度的目标是使磁盘的平均寻道时间最少。 先来先服务(CS) 这是一种最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次地得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。CS调度算法最短寻道时间优先(SST) 该算法选择这样的进程:其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。但这种算法不能保证平均寻道时间最短。SST调度算法SST调度算法进程“饥饿”现象 SST算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Strvtion)现象。 因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必然优先满足。对SST算法修改后形成SCN算法,即可防止老进程出现“饥饿”现象。SCN算法 该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。 例如,当磁头正在自里向外移动时,SCN算法所考虑的下一个访问对象,应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向为自外向里移动。这时,同样也是每次选