計算機基本硬體結構
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...