问题 问答题

假设某个采用页式虚拟内存管理的UNIX类型的操作系统中,每个节点中包含12个直接块指针,以及单次,两次和三次间接指针各一个。另外,假设页面大小和磁盘扇区大小都是8192字节,每个磁盘块指针占用64位。假设该操作系统的文件系统带有按照磁盘扇区大小划分的内存缓冲区,且被访问的文件已被打开。若某用户程序要访问该文件第13423956字节,最多需要多少次磁盘访问说明每次访问磁盘的目的。

答案

参考答案:第13423956字节在第13423956/8192=1639块中;而每个块中存放的指针数为8192/8=1024个。由此可知第13423956字节在两次间接块的第一个指针指向的间接块的某个指针指向的数据块中。所以,访问该字节的最坏情况如下,首先要读入二次间接块,而高速缓存已满,且根据该系统高速缓存使用的算法,要调出的块已被修改,则需要先写盘一次,产生缺页,然后再读入,接着读入两次间接块的第一个指针指向的间接块,也需要先写盘一次,读入数据块,也需要先写盘一次,总共需要6次访问磁盘。

单项选择题 B1型题
单项选择题