0
A
回答
3
你應該以某種方式模仿分頁機制。
一種方法是哈希 。
將所有數據散列到分箱中,並將這些分箱存儲在磁盤中。在你的主內存(RAM)中,你只能保存一個指向磁盤的指針數組。一旦你需要一個地址,你就可以通過訪問RAM並從地址中獲取指針來知道它在磁盤上的位置hash(address)
你當然可以優化它以將一部分數據保存在內存中 - 使用principle of locality和希望得到一個命中 - 並避免從磁盤重新加載塊。
(1)散列並不一定是複雜或均勻分佈的。我相信使用地址的MSb將會很好 - 並且實際上會更好地模仿分頁機制。
0
最明顯的方法是通過一個典型的文件系統API與read
,write
和seek
功能。
相關問題
- 1. 虛擬內存耗盡:無法分配內存8 gb ram
- 2. 虛擬內存空間
- 3. 訪問linux虛擬內存
- 4. 即使30 GB內存空閒,內存異常也不充足
- 5. 爲什麼我只能在4 GB的虛擬內存空間上分配2 GB?
- 6. 分配內存之前虛擬內存
- 7. 我可以使用少於4 GB物理內存的Windows boot.ini/3GB開關嗎?
- 8. PHP海量內存使用(30+ GB)使用關聯數組
- 9. 如何分頁虛擬地址空間?
- 10. 需要虛擬內存嗎?
- 11. 限制虛擬內存空間for malloc()
- 12. 虛擬內存的使用
- 13. 在虛擬地址空間中使用內存映射文件
- 14. 虛擬內存?
- 15. 虛擬地址空間vs虛擬內存
- 16. alloc_fresh_huge_page()只分配虛擬內存空間但不分配物理頁面嗎?
- 17. 使用術語「頁面錯誤」與虛擬內存無關?
- 18. 從用戶空間訪問NOR內存
- 19. Linux用戶進程上下文訪問用戶虛擬內存
- 20. 對於arm Linux,用戶空間中的線程是否可以訪問內核空間的虛擬地址?
- 21. 虛擬內存的虛擬頁面中包含什麼?
- 22. 虛擬內存
- 23. 虛擬內存和sbrk
- 24. 虛擬內存的最大可尋址空間是多少?
- 25. 使用無用戶訪問訪問場地詳細信息
- 26. 從用戶空間管理虛擬內存
- 27. Excel虛擬內存問題
- 28. 虛擬內存頁面對齊
- 29. 使用ArrayList存儲信息並訪問信息
- 30. 分配給進程的虛擬內存
有沒有非哈希方式?這是一個面試問題 –