交換空間/按需換頁內存到底是什麼?


分頁機制的首要作用是保護內核、隔離進程。其次纔是以較小的內存運行遠超內存大小的程序。你問的交換空間、按需調入均屬於後者,這兩項功能對內核來說不是必須的,所以你應該先把前者搞懂。

其實我覺得這麼說還是有點本末倒置,因為分頁是需要硬體支持的,換而言之分頁是某些CPU的一大賣點!你說製造商為啥要設計這樣一個功能還加價?為啥寫操作系統的人喜歡這種CPU?想明白這個問題就可以了。

PS:

1.INTEL 80386 PROGRAMMERS REFERENCE MANUAL 1986, Computer Systems: A Programmers Perspective 都是不錯的讀物。2.別被操作系統教材誤導了,它們所講的分段機制幾乎沒用,建議直接忽略。

3.造CPU和寫kernel是密不可分的,歷史包袱很多。


建議好好讀一下《深入Linux內核架構》中 物理內存管理那一章
建議再好好讀一下趙炯博士的《Linux內核完全剖析》中關於內存的部分
建議好好讀一下《深入理解計算機系統》中虛擬內存管理的一章
建議好好讀一下《英特爾? 64 和 IA-32 架構軟體開發人員手冊》中內存管理部分。


CSAPP中的虛存管理;Intel? 64 and IA-32 Architectures Software Developer』s Manual Volume 3 ,傳送門:http://www.intel.cn/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf
建議好好讀一下《現代操作系統》中 存儲管理 的一章
建議好好讀系列
建議好好讀一下《Professional ft Sql server internals and troubleshooting》中sqlserver內存的管理一章,樓下拍好隊…


推薦閱讀:
相關文章