提示:HDU OS
答案仅个人回答,仅供参考
文章目录
- 在UNIX系统中有空闲盘块栈如下图所示:
(1)现有一个进程要释放3个物理块,其块号为156#、160#、220#,画出空闲盘块栈的变化。
释放 156#
释放 160#
释放 220#, 将空闲盘块栈内容存入空闲块 220 中,空闲盘块栈变为:
(2)在(1)的基础上假定一个进程要求分配5个空闲块,请说明进程所分配到的盘块的盘块号,并画出分配后的空闲盘块栈。
220 -> 160 -> 156 -> 201 -> 151
-
(2001,华南理工大学)一个软盘有40个柱面,寻道时移过每个柱面花费6ms,
若不采取任何使文件的块尽量紧密存放的措施,则逻辑上相邻的块平均间隔13个柱面,
如果采取一定的措施使得文件中相邻的块尽可能放在一起,则块间的平均间隔是2个柱面。假定读写时找到柱面后平均旋转延迟时间为100ms,传输速率为每块25ms,
则在此两种情况下传输一个100块的文件各需多长时间?知识储备/扩展:
零乱存放:
读取1个block要:
13 * 6 + 100 + 25 = 203ms
传输100个block:
100 * 203 = 20300ms优化存放:
读取1个block要:
2 * 6 + 100 + 25 = 137ms
传输100个block:
100 * 137 = 13700ms -
旋转型存储设备上信息的优化分布能减少若干输入输出服务的总时间。例如,有10个记录A,B,…,J存放在某磁盘的某一磁道上,假定这个磁道划分为10个扇区,每扇区存放一个记录,安排如下表所示。现在要从该磁道上顺序地将A至J的10个记录读出如果磁盘旋转速度为20ms/周,处理程序每读出一个记录后花4ms进行处理。试问处理完10个记录的总时间是多少(从找到A记录开始计算)?为了缩短处理时间应进行优化分布,试问应如何安排这些记录,并计算处理的总时间(从找到A记录开始计算)?
扇区 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
记录号 | A | B | C | D | E | F | G | H | I | J |
由题意
旋转时间:20ms
传送时间:20/10 = 2ms
- 依赖于旋转速度和每条磁道的扇区数目
读取记录时间:4ms
(1) (磁道是某个同心圆,扇区为某一段,各记录不同扇区)
从找到A记录开始
1 * (4+2) + 9 * (20+2) = 204ms
(2) 优化方案
因为 找到并读取一个记录时间/传送时间 = (4+2)/2 = 3
把逻辑相邻,放置物理间隔3n区域 (n=0,1,2,3,……)
10 * (2+4) = 60ms
扇区 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
记录号 | A | H | E | B | I | F | C | J | G | D |
-
本单元的知识点思维导图
source:NCTU Operating System Design and Implementation PPT