a)连续分配:为了保证题目中提到的文件头部无空闲块,但文件尾部有空闲块,从1号文件块开始,到99号文件块,均要向前移动一个位置。首先移动1号块,读入1号块到内存,再从内存写出1号块到原先0号块的位置;再读入2号块到内存,从内存写出2号块到原先1号块的位置;??;直到读入99号块到内存,再从内存写出99号块到原先98号块的位置。每次读入和写出都是1次IO,所以一共是:99 * 2 = 198次磁盘IO。
b)链接分配:要修改文件控制块(FCB)中文件起始块号字段,将原先0号块所在的物理块号改为1号块所在的物理块号。要完成这个操作,首先要找到1号块在哪个物理块上?1号块在哪里的信息隐含在0号块中,因此需要读入0号块到内存,得到1号块的物理位置信息,再将这个信息写到FCB中。由于题目中说明FCB在内存,所以需要1次磁盘IO(读入0号块)即可完成要求。
c)索引分配:要修改FCB中的信息,且仅仅需要修改FCB中的信息。由于题目中说明FCB在内存,所以完成要求不需要任何磁盘读写。 (2)在文件结尾处添加一个磁盘块:连续:1 链接:3 索引:1
a) 连续分配:由于文件尾部有空闲块,只需要将添加的块直接写到磁盘上,所以需要1次磁盘IO。
b) 链接分配:此时假设FCB的字段有:文件名、起始块号、结束块号。也就是说,目前知道99号块的物理磁盘位置。此时,在尾部添加一个磁盘块要做的事情是:①找一个空闲磁盘块,将内容写入;②修改99号块的链接信息。写入新块需要1次磁盘IO,修改99号块的链接信息需要首先读入99号块到内存,在内存中将链接信息改为新块的物理位置,再将内存中99号块写出到磁盘上。所以一共是3次磁盘IO。
c) 索引分配:在写入新块之后,要修改FCB中的信息。由于题目中说明FCB在内存,所以只需要1次磁盘IO(写新块)即可。
某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。
(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为定位文件数据块,需在FCB中设计哪些相关字段?
(2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。 解析:
(1)连续更合适,因为一次写入不存在插入问题,连续的数据块组织方式完全可以满足一次性写入磁盘。同时连续文件组织方式减少了其他不必要的空间开销,而连续的组织方式顺序查找读取速度是最快的。
(2)FCB集中存储好。目录是存在磁盘上的,所以检索目录的时候需要访问磁盘,速度很慢;集中存储是将文件控制块的一部分数据分解出去,存在另一个数据结构中,而在目录中仅留下文件的基本信息和指向该数据结构的指针,这样一来就有效地缩短减少了目录的体积,减少了目录在磁盘中的块数,于是检索目录时读取磁盘的次数也减少,于是就加快了检索目录的次数。
存在一个基于FAT的文件系统,表项为16位,一个用户想要安装一块包含1310752个扇区(每个扇区的大小为512字节)的磁盘。 (1)可能存在什么样的问题?
(2)在保证文件系统的兼容性的前提下,如何解决该问题?你的解决方案对于磁盘空间的利用率有什么影响?
16
解析:
(1)216小于1310752,使得有些扇区无法被访问到。
(2)采用多级索引的方法可以解决该问题。这种方案的不足之处会使得磁盘空间的利用率下降。
17
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库2012OS复习题(4)在线全文阅读。
相关推荐: