书面作业:文件系统2

提示:HDU OS

答案仅个人回答,仅供参考

文章目录

  1. 在UNIX系统中有空闲盘块栈如下图所示:
    在这里插入图片描述

(1)现有一个进程要释放3个物理块,其块号为156#、160#、220#,画出空闲盘块栈的变化。

释放 156#
在这里插入图片描述

释放 160#
在这里插入图片描述

释放 220#, 将空闲盘块栈内容存入空闲块 220 中,空闲盘块栈变为:
在这里插入图片描述

(2)在(1)的基础上假定一个进程要求分配5个空闲块,请说明进程所分配到的盘块的盘块号,并画出分配后的空闲盘块栈。

220 -> 160 -> 156 -> 201 -> 151
在这里插入图片描述

  1. (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

  2. 旋转型存储设备上信息的优化分布能减少若干输入输出服务的总时间。例如,有10个记录A,B,…,J存放在某磁盘的某一磁道上,假定这个磁道划分为10个扇区,每扇区存放一个记录,安排如下表所示。现在要从该磁道上顺序地将A至J的10个记录读出如果磁盘旋转速度为20ms/周,处理程序每读出一个记录后花4ms进行处理。试问处理完10个记录的总时间是多少(从找到A记录开始计算)?为了缩短处理时间应进行优化分布,试问应如何安排这些记录,并计算处理的总时间(从找到A记录开始计算)?

扇区12345678910
记录号ABCDEFGHIJ

由题意
旋转时间: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

扇区12345678910
记录号AHEBIFCJGD
  1. 本单元的知识点思维导图

    在这里插入图片描述
    在这里插入图片描述

source:NCTU Operating System Design and Implementation PPT

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值