操作系統中的多級間址計算題

我們直接上題目。

【2010 考研 408 統考真題】設文件索引結點中有 7 個地址項,其中 4 個地址項是直接地址索引,2 個地址項是一級間接地址索引,1 個地址項是二級間接地址索引,每個地址項大小爲 4B,若磁盤索引塊磁盤數據塊大小均爲 256B,則可表示的單個文件的最大長度?

【解答】
爲了便於理解我們先把圖畫上
在這裏插入圖片描述

根據題目描述,一共 7 個地址項,前 4 個爲直接地址項,也就是說,如果這些盤塊用來裝文件,就直接裝,因爲盤塊大小都爲 256 B,所以前四個盤塊我們可以裝 4*256 B 大小的文件。

接下來再來看,一共有 2 個一級間址(間接地址),也就是說,5,6 號盤塊現在不用來裝實際的文件數據了,而是用來裝一組間接的地址,因爲一個地址項有 4B 大小,所以一個盤塊可以裝 256/4 B 的地址,也就是 5,6 號盤塊一共可以裝 2*(256/4)B = 128B 這麼多的地址,而這些地址(指針)將會(一對一)指向其他的空的盤塊,正如我們知道的一個盤塊 256B ,所以一級間址一共可以裝 2*(256/4)*256 B 的文件。就是說 128B 大小的地址中,每個地址指向的一個盤塊有 256B,一共就是 2*(256/4)*256 B 多的文件。

二級間址,乃至三級間址都是一樣的計算方式,你可以先自己嘗試一下,然後再看下面的解答。

ok,題目告訴一共有一個二級間址,就是說我現在 7 號盤塊分成 128B 裝地址,這些地址指向的盤塊又被用來裝地址(一級間址的時候只有一次磁盤塊用來存儲地址),也就是 (256/4)*(256/4)這麼多個地址,每個地址都指向一個盤塊(256B),所以結果是 (256/4)*(256/4)*256

而題目問的最大的單個文件,就是指直接地址,一級間址,二級間址一共可以用的空間大小,就是把上面計算的值加起來:4*256 B + 2*(256/4)*256 B + (256/4)*(256/4)*256 = 1082368 B = 1057KB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章