SCO Unix磁盤塊分配算法
經(jīng)常學(xué)習(xí)Unix操作系統(tǒng)的一些知識,而且很喜歡Unix操作系統(tǒng),在這里,我要講解一下Unix磁盤塊分配算法的知識。由于一個Unix磁盤塊的大小為1024字節(jié),所以一個位圖塊可以管理0x400×8=0x2000個磁盤塊。
那么,下一個位圖塊的塊號就是0x61d+ 0x2000=0x261d。這與位圖索引塊中的數(shù)據(jù)是相符的。那么,位圖塊0x61d管理著塊號為0x61d-0x261c的Unix磁盤塊。
由以上數(shù)據(jù)可見, 在這個位圖塊中,***個被使用的磁盤塊塊號是0x61d,即位圖塊本身。***個空閑塊塊號由0x187401處字節(jié)0x1c的第2位指示,是0x627。 由于該位圖塊是文件卷中的***個位圖塊,所以0x627號磁盤塊也是文件卷中的***個空閑塊。
當(dāng)我們向系統(tǒng)申請Unix磁盤塊時,系統(tǒng)通過超級塊、位圖索引塊、位 圖塊來尋找那些標(biāo)志位為1的塊,然后將相應(yīng)的標(biāo)置位置0。
當(dāng)釋放一個Unix磁盤塊時,系統(tǒng)就將相應(yīng)的標(biāo)志位置1?,F(xiàn)在,我們就可以判斷出文 件卷中的每一個Unix磁盤塊是否被使用了。但是僅憑這些還不能完全恢復(fù)誤刪的文件,我們還得了解SCO Unix分配磁盤塊的算法。
為了使一個文件所占用的Unix磁盤塊相對集中,SCO Unix是按照特定的算法來選擇空閑塊分配給文件的。假設(shè)某文件所占用的***一個磁盤塊的塊號為m,現(xiàn)在要再分配一Unix磁盤塊給該文件,若該文件是新文件,則 m=0。
關(guān)于Unix磁盤塊分配算法,我們就講解到這里,希望大家能夠有所提高。
【編輯推薦】