我目前正在學習windows,我發現windows使用兩段內存,它們在系統空間地址空間中命名了分頁池和非分頁池。所以只有窗口的關鍵部分保存在非分頁池(不使用請求分頁)中。雖然我被教導,在Linux中所有的系統空間地址空間不使用請求分頁的概念?如果所有這些信息都是正確的,那麼我應該得出結論:Windows需要的內存少於Linux的運行量?在linux中整個系統空間地址空間是不是使用按需分頁?
回答
While I was taught that in linux all the system space address space does not use
the concept of virtual memory?
這是錯誤的。 Linux內核及其組件(驅動程序,子系統等)使用虛擬內存。函數指針,分配例程返回的指針是虛擬地址。
你能給我一個鏈接,證明你所說的?由vmalloc()返回的內存實際上是連續的,但這裏通過虛擬內存來表示需求分頁。對不起,在我的問題沒有具體,我現在編輯它,但! –
我回答了你的問題。儘管我認爲關於vmalloc的東西並不完全正確,但您的編輯來得晚。我將刪除它。 –
??我還沒有得到答案!讀這 http://www.ibm.com/developerworks/library/l-kernel-memory-access/ 更具體地說,本 「雖然內核頁,不用於交換的候選人」,「在內核地址空間,但大部分的回憶」 –
如果你在談論內存管理,我希望下面的文字能夠回答它。
在Linux中,有兩種內存地址空間:虛擬和物理。
內存以頁爲單位進行管理。
虛擬地址映射到物理地址。
虛擬地址是您在編寫代碼時使用的地址。
物理地址可以在內存中,磁盤或其他地方。
磁盤比內存更便宜也更大,但內存比磁盤快。
所以kernel更喜歡使用內存。
爲了獲得貪婪進程的空間,內核會將某個頁面從內存交換到磁盤,因此可以使用空閒內存。
但是內核地址空間中的大部分內存不應該交換到磁盤,因爲它們負責管理內核和其他所有東西。這與非分頁窗口池相似。
我認爲Linux和Windows都有類似的內存管理機制。 所以很難說哪個用得少。
內核使用虛擬內存進行vmalloc分配,但始終由物理內存支持。這意味着內核從不分頁錯誤。它可以保持延遲可預測。少數訪問存儲的內核子系統(mm,nfsd,文件支持交換)必須明確要求vfs映射頁面;這保持了它所屬的複雜性。
內核空間的內核映像部分不能被換出而不是整個內核空間。例如,當物理內存變低時,由磁盤支持的頁面緩存絕對可以被分頁。
- 1. 系統DLLs地址空間
- 2. 是整個過程的虛擬地址空間分割成頁
- 3. 如何檢查linux系統是否使用大磁盤空間?
- 4. 在Linux用戶空間進程中,vsyscall頁面的地址是什麼?
- 5. 如何分頁虛擬地址空間?
- 6. linux內核和用戶地址空間
- 7. 虛擬地址系統上的進程地址空間
- 8. os161中地址空間和頁表之間的關係是什麼?
- 9. Linux中用戶空間地址的嵌套頁面錯誤
- 10. 空間系統()C++
- 11. ARM linux:進程地址空間
- 12. 是否有私有MAC地址空間?
- 13. 什麼是進程的地址空間?
- 14. linux內核的內核地址空間的佈局是什麼?
- 15. form-group是不是調整空間?
- 16. 邏輯地址(virtaul地址空間)而不是物理地址空間的原因
- 17. PThreads地址空間
- 18. 邏輯地址空間在64位和32位操作系統
- 19. [[:空間:]]是不是在sed
- 20. 當虛擬地址空間等於物理地址空間時,我們是否需要MMU?
- 21. 使用mprotect保護整個地址空間
- 22. DLL在進程地址空間中使用的頁面
- 23. 谷歌地圖空間參考系統
- 24. 系統地替換名稱空間
- 25. 學習Oracle和地理空間系統
- 26. 對於arm Linux,用戶空間中的線程是否可以訪問內核空間的虛擬地址?
- 27. 在世界空間而不是本地空間中的攝像機間距
- 28. 它有什麼不同,HDFS文件系統存儲在用戶空間而不是內核空間中?
- 29. 是否有任何理由不在系統命名空間中使用別名?
- 30. Solr系統空間使用情況
即使Windows允許內核的某些部分被分頁(而Linux不),它並不會自動遵循Windows使用RAM比Linux更少的RAM。 – BraveNewCurrency
Linux內核不允許將其自己換出。 http://sourcefrog.net/weblog/software/linux-kernel/swap.html – BraveNewCurrency
@BraveNewCurrency是的,你是對的!我不能只看一個因素就得出結論。但是,即使Linux內核更輕,他們可以將其構建得更輕?然後他們選擇了這麼重的植入物? –