2012-11-26 30 views

回答

3

你應該以某種方式模仿分頁機制。

一種方法是哈希

將所有數據散列到分箱中,並將這些分箱存儲在磁盤中。在你的主內存(RAM)中,你只能保存一個指向磁盤的指針數組。一旦你需要一個地址,你就可以通過訪問RAM並從地址中獲取指針來知道它在磁盤上的位置hash(address)

你當然可以優化它以將一部分數據保存在內存中 - 使用principle of locality和希望得到一個命中 - 並避免從磁盤重新加載塊。


(1)散列並不一定是複雜或均勻分佈的。我相信使用地址的MSb將會很好 - 並且實際上會更好地模仿分頁機制。

+0

有沒有非哈希方式?這是一個面試問題 –

0

最明顯的方法是通過一個典型的文件系統API與readwriteseek功能。