操作系统(三十三)内存管理
生活随笔
收集整理的這篇文章主要介紹了
操作系统(三十三)内存管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
3.2 內存管理
? 作為計算機資源的管理者,操作系統在內存管理方面有著很多的工作
3.2.1 內存空間的分配和回收
? 內存空間的分配和回收主要解決的問題是內存空間那些區域需要被分配以及如何分配,還有進程結束后的空間是如何釋放以及怎么釋放的問題(后期會有介紹)
3.2.2 內存空間的拓展
? 之前在講操作系統的虛擬性的時候提到過,由于內存資源價格昂貴所以人們會使用一些技術將內存在邏輯上進行拓展
3.2.3 地址轉換
??為了使編程更方便,程序員寫程序時應該只需要關注指令、數據的邏輯地址。而邏輯地址到物理地址的轉換(這個過程稱為地址重定位)應該由操作系統負責,這樣就保證了程序員寫程序時不需要關注物理內存的實際情況。其中地址重定位我們就會聯想到上節講過的絕對裝入、可重定位裝入、動態重定位裝入。
3.2.4 內存保護
? 內存保護主要是為了保證各個進程在各自的存儲空間內運行不影響其他進程。內存保護可以采用兩種方式:
? 方法一:在CPU中設置一對上、下限寄存器,存放進程的上、下限地址。進程的指令要訪問某個地址時,CPU檢查是否越界。 方法二:采用重定位寄存器(又稱基址寄存器)和界地址寄存器(又稱限長寄存器)進行越界檢查。重定位寄存器中存放的是進程的起始物理地址。界地址寄存器中存放的是進程的最大邏輯地址。總結
以上是生活随笔為你收集整理的操作系统(三十三)内存管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统(三十二)内存的基础常识
- 下一篇: 2021年KTV行业发展蓝皮书