空闲空间位映射在格式化后,开始时总是形如1000 0000 0000 0000(第一块被“根”目录占用)。系统总是从最低数目的块开始搜索空闲块。这样在写文件A(需要6块)后位映射类似于1111 1110 0000。请写出下列操作过程中位映射的变化情况。
问答题     写文件B,需要5块;
 
【正确答案】1111 1111 1111 0000;
【答案解析】
问答题     删除文件A;
 
【正确答案】1000 0001 1111 0000;
【答案解析】
问答题     写文件C,需要8块;
 
【正确答案】1111 1111 1111 1100;
【答案解析】
问答题     删除文件B。
 
【正确答案】1111 1110 0000 1100。
【答案解析】
问答题   有人建议将UNIX中每个文件的第一部分与FCB存放在磁盘的同一块中,请问这样做有什么优缺点?
 
【正确答案】优点是可以在读取FCB时顺便读取文件的开始部分,大多数文件操作均是从头开始操作文件,因此可以减少文件I/O次数;缺点是对于一些中型大小的文件增加了后续I/O的次数(寻找索引)。
【答案解析】
问答题   文件系统的性能取决于cache命中率。在满足请求时,如果块在cache中则需要1ms,而磁盘读则需要40ms。假设命中率为h,请给出满足一个请求所需的平均时间。
 
【正确答案】h×1+(1-h)×40(ms)。
【答案解析】
问答题   一个软盘有40个柱面,每个柱面移动的寻道时间为6ms。如果不刻意地将文件块靠近分配,那么逻辑上连续的两块之间大致平均相隔13个柱面。如果操作系统采用合适的策略,逻辑连续的块之间可能只会间隔2个柱面。那么在两种情况下,读取100块的文件分别需要多长时间(旋转延迟100ms,每块的传送时间为25ms)?
 
【正确答案】前一种情况所需时间为99×6×13+100×(100+25)(ms);后一种情况所需时间为99×6×2+100×(100+25)(ms)。
【答案解析】
问答题   一个个人计算机销售商宣传自己的磁盘驱动器使用了电梯算法,而且将一个柱面内的多个请求按照扇区排序。结果某个测试机构对整个磁盘随机读取10000次进行测试,发现测试结果与FCFS算法的结果相同。请问这个销售商撒了什么谎?
 
【正确答案】磁盘调度算法是在操作系统中实现的,磁盘驱动器服务不应该实现特殊的调度方法,而只会使用FCFS方法。
【答案解析】
问答题   下图是磁盘块大小与数据率和空间利用率之间的关系。假设一个磁盘平均寻道时间为8ms,旋转速度为1500rpm,每个磁道(track)262144B。在块大小为1KB、2KB和4KB的情况下,其空间利用率和数据率分别是多少?为什么?
   
【正确答案】(右侧的磁盘空间利用率的单位应该是0.1%),在块大小为1KB、2KB、4KB时的磁盘空间利用率依次为100%、100%、50%;其数据率依次为80KB/s、160KB/s、320KB/s左右。至于空间利用率的降低是因为系统中文件大小是2KB左右。数据率逐步提高的原因是因为旋转速度为1500rpm,即平均的旋转延迟为40ms;每个磁道为256KB,在块大小为1KB、2KB和4KB时分别可以存放256块、128块、64块,因为旋转延迟是寻道时间的5倍,因此磁道中存放的块越多,寻找一个块所需的时间也就越长,数据率也就越小。
【答案解析】
问答题   某一文件系统使用了2KB磁盘块。系统中的中等文件大小为1KB。如果真的每个文件刚好1KB大小,那么系统空间利用率为多少?实际系统中的空间利用率应该高于这个数还是低于这个数?为什么?
 
【正确答案】这种情况下空间利用率为50%。实际情况下,特别是在Windows环境下,大多数文件大小远远高于2KB,因此空间利用率会高于这个数字。
【答案解析】
问答题   假设当前时刻内存中只有“根”目录FCB,没有其他路径信息,而且所有目录的大小刚好是一个磁盘块大小,那么打开一个文件/usr/ast/courses/os/handout.t共需要多少次的磁盘操作?
 
【正确答案】5次。
【答案解析】