磁碟塊的大小可以設定,目的是為了提高訪問效率。
1.檔案偏移量 pos
2.檔案塊號
3.i_data的陣列
4.磁碟塊位址
轉換:1->2 pos / 檔案塊大小
2->3 **間址
3->4
typedef struct indirect
用陣列 chain[4]描述4 種不同的索引,即直接索引、一級間接索引、二級間接索引、三
級間接索引。舉例說明這個結構各個域的含義。如果檔案內的塊號為 8,則不需要間接索引,
所以只用 chain[0]乙個 indirect 結構,p 指向直接索引表下標為 8 處,即&
inode->u.ext2_i.i_data[8];而key則持有該表項的內容,即檔案塊號所對應的裝置上的塊
號 (類似於邏輯頁面號與物理頁面號的對應關係);bh 為null,因為沒有用於間接索引的塊。
如果檔案內的塊號為 20,則需要一次間接索引,索引要用 chian[0]和 chain[1]兩個表項。
第乙個表項 chian[0] 中,指標 bh 仍為null,因為這一層沒有用於間接索引的資料塊;指標
p 指向&inode->u.ext2_i.i_data[12],即間接索引的表項;而 key 持有該項的內容,即對
應裝置的塊號。chain[1]中的指標 bh則指向進行間接索引的塊所在的緩衝區,這個緩衝區的
內容就是用作間接索引的乙個整數陣列,而 p指向這個陣列中下標為 8 處,而 key則持有該
項的內容。這樣,根據具體索引的深度 depth,陣列 chain中的最後乙個元素,即
chain[depth-1].key,總是持有目標資料塊的物理塊號。而從 chain[]中第 1 個元素 chain
[0]到具體索引的最後乙個元素 chain[depth-1],則提供了具體索引的整個路徑,構成了
一條索引鏈,這也是資料名 chain 的由來。
從Drupal轉換到Yii的理由
基本上drupal包括joomla 是設計給非技術人員使用的.當然圍繞著這些平台,已經有了很好的技術生態圈.不過如果你要設計大型的 月訪問達到百萬pv以上的級別,那麼現有的drupal 應該考慮盡快切換到yii等高效能框架上來.主要原因是drupal為了通用 易用引入了很多不必要的複雜性 如cck ...
從WordPress轉換到Z Blog的方法
我以前曾經介紹過將z blog資料庫轉換到wordpress的sql語句,做為反例,還會有從wordpress系統轉換到z blog系統的sql語句,這是乙個比較奇怪的話題,估計也很少有人這麼做,不過對於某些特殊情況,我們有可能會將wordpress資料庫轉換到z blog的access資料庫,這裡...
c 中從string陣列轉換到int陣列
以前一直有乙個陣列之間轉換的東西,可是忘記了,今天也是找了好久也沒有解決,最後用這種方法解決了,分享給大家。string input int output array.convertall input,delegate string s 以上是使用了array類中的靜態泛形式方法convertall...