作业七
|Last edited: 2024-12-5

1、某虚拟文件系统空间的最大容量为4TB,磁盘块(基本分配单位)大小为1KB。文件控制块(FCB)包含一个512B主索引表。请回答下列问题。

(1)假设主索引表只采用直接索引结构,主索引表中保存文件占用的磁盘块号。主索引表表项最少要占多少字节?可支持的单个文件最大长度是多少字节?
所以,索引表中每个索引项至少占:
于是
故可支持的单个文件最大长度为:
(2)假设主索引表采用如下结构:第0~7字节采用<起始块号,块数>的格式,表示文件创建时连续分配给文件的磁盘空间。其中起始块号占6B、 块数占2B,剩余504B采用直接索引结构,一个索引项占6B。试问,采用这种结构可支持的单个文件的最大长度是多少字节?为了使单个文件的长度达到最大,起始块号和块数分别所占的合理字节数是多少?请说明理由。
接下来计算0~7字节索引项对应的文件大小:
总文件大小为:
接下来,设起始块号所占字节数为,则块数所占字节数为:
那么直接索引文件大小为:
头部索引对应文件大小为:
总文件大小为:
注意到,当a越小,总文件大小越大,但总文件系统大小为,即,故当,即起始块号和块数各占4字节时,单个文件的长度达到最大,即
 

2、假设某文件系统是一级目录结构,文件的数据一次性写入磁盘, 已写入的文件不可修改,但可多次创建新文件。 请回答如下问题:

(1)在顺序、链接、索引三种文件的物理结构方式中,哪一种更合适?请说明理由。为定位文件的数据块,需要在FCB中设计哪些相关描述字段?
由于文件不可修改,且是一次性写入磁盘,不用考虑文件增长与缩小的情况,故采用顺序的物理结构方式最好,因为若要访问文件的某一个物理磁盘块,假设FCB已读进内存,且对于索引方式,FCB中只保存索引表对应的磁盘块,三种方式的对应最大/最小访问次数分别为:
(设要访问的磁盘块为文件的第x块)
最大
最小
顺序
1
1
链接
x
x
索引
索引表级数+1
索引表级数+1
可见,用顺序结构访问文件所需的磁盘访问数最小,且支持随机访问。
为定位文件的数据块,只需在FCB中保存存储文件的起始块的磁盘地址和总磁盘块数即可。
 
(2)为快速找到文件,是集中存储FCB好,还是与对应的文件数据块一起存储好?请说明理由。
FCB集中存储更好。
若FCB与对应的文件数据块一起存放,则在查找时就要“大块大块”地进行查找,导致若要找到要找的文件,可能要进行多次磁盘访问(把目录项从磁盘读入内存)
反之,若FCB集中存储,要找到文件只需遍历集中存储的FCB即可,极大地减少了磁盘访问数,提升了效率。
 
 
Loading...