我這兩天也思考了一番,有了很好的思路
其實如果要做的比較完美一點,可以借鑒oracle數據庫里面的分頁索引結構,就是把存儲空間分成很多的page
把page作為最小的存儲單位可以定為4k(或8K,16K 有點象Fat32 Fat ..了吧 ^_^ ),然后另外專門創建一個分區索引區,表明一段數據區對應哪些page,要刪除數據的時候,只需要表明那幾個page不再使用, 可以重寫, 適當的時候還可以重整空間,把標識為已經刪除的page給搬移到文件的最后,類似于defrag的效果,這樣不管是讀還是寫,效率都是很高的.文件空間能更合理的布局
不過要做到上面這些似乎這也算一個大工程了,這基本就相當于實現了一個文件數據庫了,或者說是個完美的文件系統了,
這些想法和一些高手也交流過了,想法應該是沒問題的
只是目前暫時也不打算這樣去做,呵呵,主要是工作量...
將來閑暇的時候是一定要去完成的,這東西實現起來,還是很有意義的
有些高手說linux底層有這樣的源碼,去找找也許能發現,呵呵...