1. 程式人生 > >直接地址,一次間接地址,多次間接地址,索引組織方式

直接地址,一次間接地址,多次間接地址,索引組織方式

這裡寫圖片描述

**以一個例題為例來區別和計算這三個地址:
存放在某個磁碟上的檔案系統,採用混合索引分配方式,其FCB中共有13個地址項,第0~9個地址項為直接地址,第10個地址項為一次間接地址,第11個地址項為二次間接地址,第12個地址項為三次間接地址。如果每個盤塊大小為512位元組,若盤塊號需要3個位元組來描述,而每個盤塊最多存放170個盤塊地址:
**
(1)該檔案系統允許檔案的最大長度是多少?
因為題目提供了170個盤塊地址,所以計算二級間接地址的長度就是170*512, 總長度=10 + 170*512 + 170*170*512 + 170*170*1700*512
(2)將檔案的位元組偏移量5000,15000,150000轉換為物理塊號和塊內偏移量。
這個so easy . 因為 實體地址的計算很清楚,實體地址是偏移量和塊號的合體。
所以, 以5000為例,


5000/512=9, 5000%512=392, 所以在FCB的第9個地址項處得到物理塊號;
偏移量為392.
以15000為例,
15000/512 = 29, 15000%12 = 152,
所以對應的邏輯塊號 10<29<10+170,所以從FCB的第10地址項一次間接地址,得到間接塊的地址;
並從間接塊的第19項中得到物理塊號;
偏移量是152

以150000為例,150000/512 = 292, 150000%512 = 496,
對應的邏輯塊號 10+170<292<10+170+170*170, 292-(10+170) = 112,112/170 = 0,餘112;
從FCB的第11個地址項,即二次間址項中得到二次間址塊的地址;
從二次間址塊的第0項中得到一次間址塊的地址;
再從該一次間址塊的第112項中獲得對應的物理塊號;
塊內偏移量為496

(3)假設某個檔案的FCB已在記憶體,但其他資訊均在外存,為了訪問該檔案中某個位置的內容,最少需要幾次訪問磁碟,最多需要幾次訪問磁碟?
FCB已在記憶體:
最少一次訪問磁碟(通過直接地址直接讀取檔案盤塊就找到該位置
最多4次訪問磁碟(當該位置處於3次間址的盤塊中時)
第一次需要讀三次間址塊,
第二次需要讀二次間址塊,
第三次需要讀一次間址塊,
第四次讀檔案盤塊。