3 作業系統如何管理物理記憶體

2021-08-15 00:15:40 字數 1919 閱讀 3002

計算機基本硬體結構

cpu完成了對整個程式或軟體執行的控制, 記憶體主要是放置了程式的**和它所處理的資料,第三部分是外設配合程式發揮更大的作用。

記憶體的層次結構:cpu要訪問的資料或指令所儲存的位置;

cpu要訪問的資料報含很多種類,第乙個是暫存器,第二個是cache ,暫存器和cache都位於cpu的內部,作業系統無法對其直接進行管理,但是他們的速度很快,容量很小,所以能放的資料和指令是有限的,所以在計算機內還需要一塊很大的儲存區域,叫主存或物理記憶體。

作業系統要完成的任務

在作業系統中管理記憶體的不同方法:

實現高度依賴於硬體

位址空間&位址生成

位址空間

位址空間有兩種,一種是實體地址空間(硬體直接對應的,比如說記憶體條所代表的主存,硬碟所代表的另一種儲存空間),物理記憶體的位址空間管理是硬體所完成的;另外一種是邏輯位址空間,是指乙個執行的程式它所看到的記憶體空間,它看到的空間更加簡單,它是乙個一維的線性位址空間。

程式所訪問的邏輯位址空間都會落實到實體地址空間。

邏輯位址生成

實體地址生成

位址安全檢測

(1)連續記憶體分配

記憶體碎片問題

分割槽的動態分配

首次適配

首次適配的基本原理和實現

簡單實現

分配需要尋找乙個合適的分割槽;

重分配需要檢查,看是否自由分割槽能合併於相鄰的空閒分割槽;

劣勢:容易產生外部碎片;不確定性。

最優適配

基本原理和實現:

為了避免分割大空閒塊;

為了最小化外部碎片產生的尺寸;

需求:按尺寸排列的空閒塊列表

分配需要尋找乙個合適的分割槽

重分配需要搜尋及合併於相鄰的空閒分割槽

優勢:當大部分分配是小尺寸時非常有效;

比較簡單;

劣勢:

外部碎片;

重分配慢;

易產生很多沒用的細小碎片;

最壞適配:

基本原理和實現:

為了避免有太多微小的碎片;

需求:按尺寸排列的空間塊列表;

分配很快;

重分配需要合併於相鄰的空閒分割槽,若有,然後調整空閒塊列表;

優勢:加入分配是中等尺寸效果最好;

劣勢:重分配慢,外部碎片,易於破碎大的空閒塊以及分割槽無法被分配

壓縮式碎片整理:

何時重置?開銷

作業系統 物理記憶體管理

說明 在系統初始化階段,記憶體被劃分為許多靜態分割槽,程序可以被裝入大於或等於自身的分割槽中。評價操作簡單,但缺乏靈活性,會產生大量內部碎片,並且當程式太大時,乙個分割槽不足以裝入。說明為把乙個程序裝入記憶體,按照一定的分配演算法 首次適應,最佳適應,最壞適應,夥伴系統等 從空閒分割槽中選出一分割槽...

作業系統 5 物理記憶體管理 連續記憶體分配

目錄5.5 碎片整理 5.6 夥伴系統 buddy system 在該表中,明顯處理器中的l1快取是最快的,有3.6ghz的訪問速度,l2快取較快。其中l1,l2為快取記憶體。以上為硬體mmu控制的記憶體。在快取記憶體未命中時,就需要去記憶體中查詢。若缺頁,則需要到外存,也就是虛擬內卒中查詢。這一切...

作業系統記憶體管理

作業系統記憶體管理 一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於32位程序來說,這個位址空間為4g,因此程序中的位址可以為0x00000000至0xffffffff之間的任何乙個值。其中4g空間中的低區的2g空間留給程序使用,而高區的2g空間則留給系統使用。在windows200...