问题 单项选择题

有一个文件系统,采用三级索引的结构。文件控制块中设置10个直接索引地址,一级索引,二级索引、三级索引地址各一个。文件页的大小恰好与磁盘块大小相等,有512个字节。现有一个文件,它的文件控制块已在内存,现要访问该文件的第2678页,必须启动磁盘()。

A.2次

B.3次

C.4次

D.5次

答案

参考答案:B

解析:

本题考查的是多级索引文件的概念及其应用。

本题中,10+256<2678<10+256+2562, 所以应该启动磁盘3次。

由于磁盘块的大小为512个字节,一个磁盘块中可以存放256个整数。用一个整数可以表示一个磁盘块地址,因此一个磁盘块中可以存放256个磁盘块的地址。

当访问文件的页码x小于10时,由于该文件的文件控制块已经在内存,在文件控制块中设置了10个直接索引地址,每个直接索引地址指向一个磁盘块(文件页),因此该文件页存放的磁盘地址可以直接从文件控制块中得到(第x个直接索引地址),启动一次磁盘,就可以读出该文件页的内容。

当访问文件页的页码x大于10,但小于10+256时,第1次启动磁盘,调出一级索引表。一级索引表中共有256个地址,每一个地址都是直接地址,因此该文件页存放的磁盘地址可以从一级索引表中得到(表中第x-10项),第2次启动磁盘即可读出文件页的内容。

当访问文件页的页码x大于10+256,但小于10+256+2562时,第1次启动磁盘,调出二级索引表。二级索引表中共有256个地址,每一个地址都是一级索引表的地址,计算,[*](表示向上取整),就得到待访问页所在的一级索引表序号,第2次启动磁盘取出这张一级索引表,其中第(x-10-256)MOD 256项直接地址即为所要的磁盘页地址(若(x-10-256)MOD 256为0,用256替代),第3次启动磁盘即可读出该文件页的内容。

本题中,[*]=10,(2678-10-256)MOD 256=108。第1次启动磁盘取出二级索引表,第2次启动磁盘读出二级索引表中第10个一级索引表,第3次读出该一级索引表的第108个磁盘块,就是要访问的内容。

填空题
单项选择题