我們通常在操作系統中同時學習虛擬內存和尋呼,它們看起來依賴於它們。但是,我想知道它們是否彼此獨立存在?虛擬內存是否存在沒有Paging概念?
回答
TL; DR:是的,虛擬內存可以不用分頁而存在。
一個非常簡單的搜索將產生this。
虛擬內存是一種內存管理技術,它將被稱爲虛擬地址的程序使用的內存地址映射到計算機內存中的物理地址中。
這些地址不一定是固定的大小。
是存儲器管理方案,通過該計算機存儲並從主存儲器中使用輔助存儲器中檢索數據。在這種方案中,操作系統從輔助存儲中以相同大小的塊(稱爲頁面)檢索數據。
我知道這些概念。但我想知道他們是否可以單獨存在。 – helloansuman
@helloansuman分頁不能存在沒有虛擬內存,但虛擬內存可以存在沒有分頁。 –
你能解釋一下怎麼可能? @Tony – helloansuman
您的問題的答案取決於您如何定義「虛擬內存」。如果您將其定義爲「應用程序可以看到的地址」,那麼虛擬內存是可以在沒有分頁的情況下存在的。
分頁之前,系統使用分段來隔離用戶進程。簡單地說,每個進程都有它自己的部分。它「看到」的所有地址只是該段內的偏移量。硬件隱含地將段基址添加到應用程序請求的地址以獲取物理地址。就像頁表一樣,段基只能被內核修改,並且它可以同時有效地爲進程隔離內存,從而允許在進程間共享某些內存部分。
段在每次訪問之前也會檢查限制,以確保用戶不會使用非常大的偏移量並溢出到其他進程中。
分段支持已從英特爾X86_64架構中刪除,其中段寄存器確實存在但始終設置爲0.只有兩個段寄存器%fs
和%gs
繼續存在。但是對它們的限制檢查不是由硬件執行的。這些段現在被OS用於線程本地存儲。
謝謝。這個答案有幫助。 – helloansuman
- 1. 選民是否存在優先概念?
- 2. java中是否存在內部異常概念
- 3. 虛擬內存
- 4. 虛擬內存?
- 5. 什麼是虛擬內存?
- 6. 存儲過程概念是否存在於核心數據中?
- 7. GWT緩存概念
- 8. Xcode儀器。什麼是虛擬內存的提示? iPhone OS沒有虛擬機?
- 9. Cassandra中是否有任何存儲過程的概念?
- 10. 內存映射的IO概念細節
- 11. 虛擬內存到物理內存
- 12. 分配內存之前虛擬內存
- 13. PHPDoc/PHPStorm中是否存在@visibility包概念?
- 14. C語言中是否存在類型擦除概念?
- 15. Java URIResolver概念是否存在於C#和.NET中?
- 16. 是否存在構建腳本依賴關係的概念?
- 17. WInforms中是否存在會話管理的概念
- 18. 存儲概念iOS - Swift
- 19. 虛擬功能的整體概念是什麼?
- 20. 虛擬內存空間
- 21. 訪問linux虛擬內存
- 22. 虛擬內存大小
- 23. Excel虛擬內存問題
- 24. 探索虛擬內存(ProcessWalker)
- 25. mongodb虛擬內存大小
- 26. 關於虛擬內存
- 27. Pytables vs虛擬內存
- 28. Linux上的虛擬內存
- 29. gdb:虛擬內存耗盡
- 30. 虛擬內存和sbrk
隨時爲任何疑問。 –