收藏 分享(赏)

磁盘复习.doc

上传人:weiwoduzun 文档编号:2655800 上传时间:2018-09-24 格式:DOC 页数:8 大小:109.50KB
下载 相关 举报
磁盘复习.doc_第1页
第1页 / 共8页
磁盘复习.doc_第2页
第2页 / 共8页
磁盘复习.doc_第3页
第3页 / 共8页
磁盘复习.doc_第4页
第4页 / 共8页
磁盘复习.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、假定磁盘转速为 20ms/r,每个磁道被划分为 10 个扇区,如图 1 所示。现有 10条记录存放在同一磁道上(一条记录正好与一个扇区的大小相等) ,处理程序从磁盘读出一条记录需要 4ms,现要求按从 1 到 10 的顺序处理这 10 条记录。若磁头处于首条记录的起点位置,则:(1)按逆时针方向依次存放这 10 条记录(磁盘顺时针方向旋转) ,处理程序读取这 10 条记录需要多长时间?(2)按最优化分布重新安排这 10 条记录,写出记录的逆时针存放顺序,并计算处理这 10 条记录需要的时间。分析: 数据处理时间=磁盘访问+ 数据处理; 磁盘访问时间=磁头寻道+ 旋转延迟+数据传输。(1)数据传

2、输需要 20/10=2ms,数据处理需要 4ms,因此处理记录需要 6ms。到下一条记录的旋转延迟需要 2ms*8=16ms故以此顺序处理这 10 条记录需要:6+9*(16+6)=204ms (2)通过优化数据分布,重新安排这 10 条记录的顺序为如图所示:计算处理这 10 条记录需要的时间:10*6ms=60ms 某磁盘共有 100 个柱面,每个柱面有 8 个磁头,每个盘面分 4 个扇区。若逻辑记录与扇区等长,柱面、磁道、扇区均从 0 起编号。现用 16 位的 200 个字(0-199)来组成位示图来管理盘空间。现问:(1)位示图第 15 个字的第 7 位为 0 而准备分配给某一记录,该块

3、的柱面号、磁道号、扇区号是多少?(2)现回收第 56 柱面第 6 磁道第 3 扇区,这时位示图的第几个字的第几位应清 0?答:(1)位示图第 15 个字的第 7 位对应的块号=15 16(字长)+7=247 ,而块号247 对应的:柱面号=247/(84)=7(从 0 编号,向下取整)磁头号=(247 MOD 32)/4=5扇区号=247 MOD 32 MOD 4=3(2)块号= 柱面号 柱面扇区数 +磁道号盘扇区+盘扇区 =56(84)+64+3=1819字号=1819/16=113位号=1819 MOD 16 =11所以,回收第 56 柱面第 6 磁道第 3 扇区时,位示图的第 113 字

4、的第 11 位应清0。旋转型设备上信息的优化分布能减少为若干个 I/O 服务的总时间。设磁鼓上分为 20 个区,每区存放一个记录,磁鼓旋转一周需 20 毫秒,读出每个记录平均需用 1 毫秒,读出后经 2 毫秒处理,再继续处理下一个记录。在不知当前磁鼓位置的情况下:(1)顺序存放记录 1、,记录 20 时,试计算读出并处理20 个记录的总时间;(2)给出优先分布 20 个记录的一种方案,使得所花的总处理时间减少,且计算出这个方案所花的总时间。答:定位第 1 个记录需 10ms。读出第 1 个记录,处理花 2ms,这时已到了第 4个记录,再转过 18 个记录(花 18ms)才能找到记录 2,所以,

5、读出并处理 20 个记录的总时间:10+3+(1+2+18)19=13+2119=412ms如果给出优先分布 20 个记录的方案为:1,8,15,2,9,16,3,10,17,4,11,18,5,12,19,6,13,20,7,14。当读出第 1 个记录,花 2ms 处理后,恰好就可以处理记录 2,省去了寻找下一个记录的时间,读出并处理 20 个记录的总时间:10+3+319=13+57=70ms现有如下请求队列:8,18,27,129,110,186,78,147,41,10,64,12。分别按升序和降序移动,电梯调度算法计算处理所有存取请求移动的总柱面数。答:升序移动次序为:100-110

6、-129-147-186-78-64-41-27-18-12-10-8。移动的总柱面数:264。降序移动次序为:100-78-64-41-27-18-12-10-8-110-129-147-186。移动的总柱面数:270。现有如下请求队列:8,18,27,129,110,186,78,147,41,10,64,12;试用查找时间最短优先算法计算处理所有请求移动的总柱面数。假设磁头当前位置下在磁道 100。答:处理次序为:100-110-129-147-186-78-64-41-27-18-12-10-8。移动的总柱面数:264。某文件为连接文件,由 5 个逻辑记录组成,每个逻辑记录的大小与磁盘

7、块大小相等,均为 512 字节,并依次存放在 50、121、75、80、63 号磁盘块上。现要读出文件的 1569 字节,问访问哪一个磁盘块?答:80 号磁盘块有一具有 40 个磁道的盘面,编号为 039,当磁头位于第 11 磁道时,顺序来到如下磁道请求:磁道号:1、36、16、34、9、12;试用 1)先来先服务算法FCFS、2)最短查找时间优先算法 SSTF、3)扫描算法 SCAN 等三种磁盘驱动调度算法,计算出它们各自要来回穿越多少磁道?答:1)FCFS 为 111。2)SSTF 为 61。3)SCAN 为 60(先扫地址大的请求),为45(先扫地址小的请求) 。假定磁盘有 200 个柱

8、面,编号 0199,当前存取臂的位置在 143 号柱面上,并刚刚完成了 125 号柱面的服务请求,如果请求队列的先后顺序是:86,147,91,177,94,150,102,175,130;试问:为完成上述请求,下列算法存取臂移动的总量是多少?并算出存取臂移动的顺序。(1)先来先服务算法 FCFS;(2)最短查找时间优先算法 SSTF;(3)扫描算法SCAN。(4)电梯调度。答:(1)先来先服务算法 FCFS 为 565,依次为143-86-147-91-177-94-150-102-175-130。(2)最短查找时间优先算法 SSTF 为 162,143-147-150-130-102-94

9、-91-86-175-177。(3)扫描算法 SCAN 为 169,依次为 143-147-150-175-177-199-130-102-94-91-86。(4)电梯调度为 125(先向地址大的方向) ,为 143-147-150-175-177-102-94-91-86为 148(先向地址小的方向) 依次为 143-130-102-94-91-86-147-150-175-177。某磁盘共有 200 个柱面,每个柱面有 20 个磁道,每个磁道有 8 个扇区,每个扇区为 1024B 如果驱动程序接到访求是读出 606 块,计算该信息块的物理位置。答: l )每个柱面的物理块数为208 = 1

10、60块。 2 ) 606/160。得到商为3 ,余数为126 。故可知访求的物理位置在:第3 个柱面(0 柱面开始编号)的126 物理块中。若磁头的当前位置为 100 柱面,磁头正向磁道号增加方向移动。现有一磁盘读写请求队列,柱面号依次为:23,376,205,132,19,61,190,398,29,4,18,40。若采用先来先服务、最短寻道时间优先和扫描算法,试计算出各种算法的移臂经过的柱面数?答:采用先来先服务处理次序为:100-23-376-205-132-19-61-190-398-29-4-18-40,总柱面数为:1596。采用 SSTF 处理次序为:100-132-190-205

11、-61-40-29-23-19-18-4-376-398,总柱面数为:700。采用 SCAN 处理次序为:100-132-190-205-376-398-61-40-29-23-19-18-4,总柱面数为:692。磁盘请求以 10 、22 、20 、2 、40 、6 、38 柱面的次序到达磁盘驱动器,如果磁头当前位于柱面 20 。若查找移过每个柱面要花 6ms ,用以下算法计算出查找时间:1 ) F CFS , 2 ) 最短查找优先,3 )电梯调度(正向柱面大的方向)。 答: 1)FCFS查找时间次序为:20、10、22、20、2、40、6、38、查找时间为876ms。2)最短查找优先查找次序

12、为:20、20、22、10、6、2、38、40,查找时间为360ms。3)电梯调度查找次序为:20、20、22、38、40、10、6、2,查找时间为:348ms . 今假定在某移动臂磁盘上,刚刚处理了访问一信息,并且有下述请求序列等待访问磁盘 75 号柱面的请求,目前正在 80 号柱面读信息,并且有下请求序列等待访问磁盘: 请求次序 1 2 3 4 5 6 7 8 欲访问的柱面号 160 40 190 188 90 58 32 102试用:(l)电梯调度算法(2)最短寻找时间优先算法分别列出实际处理上述请求的次序。 答:(l)电梯调度算法查找次序为:80、90、102、160、188、190、

13、58、40、32,总柱面数为:268. (2)最短查找优先查找次序为:80、90、102、58、40、32、160、188、190,总柱面数为:250。 磁盘组共有 n 个柱面,编号顺序为 O、1、2、n-1;共有 m 个磁头,编号顺序为 0 、1、2、m-1。每个磁道内的 k 个信息块从 1 开始编号,依次为1、2、k。现用 x 表示逻辑磁盘块号,用 a, b, c 分别表示任一逻辑磁盘块的柱面号、磁头号、磁道内块号,则 x 与 a, b, c 可通过如下公式进行转换: x = k*m*a + k*b + c a=(x-l)DIV(K*M )b=(x-l)MOD(K*m )DIV k c=(

14、x-l)MOD(K*m)MOD k + l 若某磁盘组为n=200, m=20, k=10,问:(1)柱面号为185,磁头号为12,道内块号为5的磁盘块的逻辑磁盘块号为多少?(2)逻辑磁盘块号为1200,它所对应的柱面号、磁头号及磁道内块号为多少?(3)若每一磁道内的信息块从。开始编号,依次为0、1、k-1,其余均同题设,试写出x与a、b、c之间的转换公式。答:(1)由上述公式可知,逻辑磁盘块号x为:x = k*m*a + k*b + c = 10*20*185 + 10*12 + 5= 37125 所以,柱面号为185,磁头号为12,道内块号为5的磁盘块的逻辑磁盘块号为:37125。( 2

15、)由上述公式可知, a =(X-1) DIV (k*m) =(1200-l) DIV (10*20) = 1199 DIV 200 = 5 b = (x-1) MOD (k*m) DIV K =((1200 - 1) MOD (10*20) DIV 10 = (1199 MOD 200 ) DIV 10 = 199 DIV 10 = 10 c = ( x-l) MOD (k *m) MOD k + l = (1200- 1)MOD(10X20)MOD 10+1= ( 1199 MOD 200 ) MOD 10 + 1 = 199 MOD 10 + l = 9 + l = 10 所以,逻辑磁盘块

16、号为1200 ,它所对应的柱面号是 5 、磁头号是19 及磁道内块号为10(3)转换公式为: x = k*m*a + k*b + c + 1 a = (x-1)DIV(k*m) b = (x - 1) MOD (k*m ) DIV Kc = ( x - 1) MOD (k*m)MOD k 有一移动臂磁盘,共100个磁道,每个磁道分8个扇区,磁盘转速为500r/s(转/秒),磁头每移动一个磁道需要10ms,有一个用户请求访问第25磁道第3扇区,并立即被系统响应,假设磁头当时处于15道上,磁头到达第25道时正处于1扇区的开始位置,试计算该用户至少需要等待多长时间?(2515)10100ms, 旋转

17、一周时间:1/500r/s=2ms,磁头经过每个扇区用时:2/8 3(2/8)0.75ms, t100.75ms旋转型磁盘上的信息优化分布能减少若干 I/O 服务的总时间。假如有 13 个记录存放在磁盘的某一磁道上,每个磁道划分成 13 块,每块存放一个记录,如图下所示。块号 1 2 3 4 5 6 7 8 9 10 11 12 13记录 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13如果磁盘旋转速度为 30ms(毫秒)转 1 周,处理程序每读一个记录后花 5ms 进行处理。请问(1)处理完 13 个记录的总时间是多少?(2)为缩短处理时间应如何排列这些记

18、录?计算重新排列记录后的总的处理时间。(1)处理完 13 个记录的总时间395ms(2)重新排列记录如下:块号 1 2 3 4 5 6 7 8 9 10 11 12 13记录 R1 R11 R8 R5 R2 R12 R9 R6 R3 R13 R10 R7 R4重新排列记录后的总的处理时间118.1ms假定磁盘转速为 6000r/min(转/分) ,磁盘格式化时每个盘面被分为 9 个扇区,现有一个文件共有 A,B ,C,D,E,F,G,H,I 九个逻辑记录要存放在同一磁道上供处理程序使用,假设每个记录的大小与扇区的大小相同,处理程序每次从磁盘读出一个记录后要花 2.5ms 处理时间。若忽略其他辅

19、助时间,请回答下列问题:(1)现在假设已经顺序存放好这 9 个记录,记录逆时针排列,磁盘顺时针旋转。那么读出该文件需要多少时间? (2)为了使读出文件需要的时间最短,请重新调整各个记录的存放位置,画出各个记录的存放位置,计算该文件的读出时间。(1)磁盘转速为 6000r/min,即 100r/s,则磁盘旋转一周用时:1/10010(ms);磁头经过每个扇区用时:10/9(ms),而读出第一条记录后还需 2.5ms 的时间进行处理后,此时读/写磁头已经在记录 D 位置,为了顺序处理 B 记录,必须等待磁盘把 B 记录旋转到读/写磁头位置下,即要有(10-2.5)ms=7.5ms 的延迟时间。 所

20、以处理这 9 条记录所要花费的时间为:9(10/92.5)87.592.5ms(2)将 9 条逻辑记录在磁道上的位置重新安排,如下图所示:左图所示为这 9 条逻辑记录的最优分布。当读出一条记录后,读/写磁头只需经过 5/6ms 的时间便可读出下一条记录,无需花(1 )中那么多的延迟时间。根据上图的安排,处理这 9 条记录所花的时间为:9 (10/9+2.5)+85/6=39.2ms。与(1 )中所需的处理时间相比,显然经过优化分布后读/ 写记录所需的时间要来得少,大大缩短了输入/输出操作时间,提高了系统的效率。假定磁盘转速为 20ms/r,每个磁道被划分为 10 个扇区。现有 10 条记录存放

21、在同一磁道上(一条记录正好与一个扇区的大小相等),处理程序从磁盘读出一条记录需要 4ms,现要求按从 1 到 10 的顺序处理这 10 条记录。若磁头处于首条记录的起点位置,则:(1)按逆时针方向依次存放这 10 条记录(磁盘顺时针方向旋转),处理程序读取这 10 条记录需要多长时间?(2)按最优化分布重新安排这 10 条记录,写出记录的逆时针存放顺序,并计算处理这 10 条记录需要的时间。分析: 数据处理时间= 磁盘访问+数据处理 磁盘访问时间= 磁头寻道+旋转延迟+ 数据传输(1)数据传输需要20/10=2ms,数据传送需要4ms,因此处理记录需要6ms。到下一条记录的旋转延迟需要 2ms

22、*8=16ms故以此顺序处理这 10 条记录需要: 6+9*(16+6)=204ms(2)通过优化数据分布,减少旋转延迟时间 10*6ms=60ms注意:当未指明磁头位于首条记录起始位置时,首条记录的旋转延迟按照平均旋转延迟来计算!因此,原题的两个问题:(1) (10+6 ) +9*(16+6)=214ms(2) 10+10*6ms=70ms快表是一个高速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。加入快表后,在地址转换时,首先在快表中查找,若找到就直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器中。快表的命中率

23、很高,有效地提高了地址转换的速度。假设有 8 个记录 A、B,C、D、E、F、G、H 存放在磁盘里,每个磁道有 8 个扇区,正好可以存放 8 个记录。假设磁盘旋转速度为 20ms/转,处理程序每读出一个记录后,用 2ms 的时间进行处理,请问: a当记录 A、B 、C、D、E、F、G、H 按顺序放在磁道上时,顺序处理这 5 个记录花费的总时间是多少?假设启动时的位置正好在 A 扇区的起点。 b如何采取优化方法,使处理这些记录所花费的总时间最短?求出该最短时间。a磁盘旋转速度是 20ms/转,共分成 8 个扇区,因此,每个扇区所花费的读写时间为 20ms/8 = 2.5ms。若按顺序编号,每读出

24、一个扇区后用 2ms 的时间进行处理,此时,磁盘仍在转动,处理完 A 扇区后,磁头己经过了大部分的 B 扇区,即将到达 C 扇区,因此,要等磁盘再转一圈后才可读扇区 B,见下左图,依此类推,顺序处理 8 个扇区的时间花费是(其中 H 是最后一个,因此,处理有别于其他扇区): AG 扇区读取时间:2.5ms AG 扇区处理时间:2ms 等待下一个扇区到达时间:20ms 2ms = 18ms H 扇区读取时间:2.5ms H 扇区处理时间:2ms 总消耗时间为:(2.5ms + 2ms + 18ms)* 7 + 2.5ms + 2ms = 162msb) 采用的优化方法是扇区交替编号,使得 A 扇区在处理完以后可以在最短时间内定位 B 扇区,排列方式如上右图。花费时间是: AD 扇区读取时间:2.5ms AD 扇区处理时间:2ms AC 等待下一个扇区到达时间:2.5ms 2ms = 0.5ms D 等待 E 扇区到达时间:0.5ms + 2.5ms = 3ms EH 扇区读取时间:2.5ms EH 扇区处理时间:2ms EG 等待下一个扇区到达时间:2.5ms 2ms = 0.5ms 总消耗时间为:(2.5ms+2ms)*4 + 0.5ms*3+3ms +(2.5ms+2ms)*4 + 0.5ms*3 = 42ms

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报