1.首先搞明白記憶體的概念!
記憶體是乙個大型的一維陣列。作業系統位於其低位址部分,剩下的空間給程式使用。
2.作業系統中的最基本的管理方法:
分割槽技術
分頁技術
分段技術
3.分割槽技術:
直接將記憶體連續的分為若干個分割槽。
<1>固定分割槽法
等分方法:
<2>動態分割槽法
step1:設定乙個記憶體登記表。表示分割槽的起始位址、大小、使用狀態。
step2:將空閒分割槽分配給程序
step3:假如分配的空閒分割槽大於程序需要的空間,假設空閒分割槽50k,程序需要30k,會分割該分割槽,即剩下的20k會重新建立乙個表項,登記在記憶體登記表中。
step4:程序終止後,釋放空間,相應表項會被標記「空閒」狀態,若相鄰的分割槽恰好空閒,還會合併兩個分割槽。
4.分頁技術:
解決了分割槽技術中,乙個程序的程式必須連續儲存的問題,可以將程式分散的儲存在各個空閒的物理塊中。
重要的基本概念!!!!
<1>頁: 把程序的邏輯位址空間劃分成若干大小相等的部分,每個部分稱作頁或頁面。每個頁都乙個編號:0,1,2,3……而頁的大小是由硬體系統規定的。
<2>記憶體塊:把記憶體等分成和頁面大小相等的若干儲存空間,稱作記憶體塊或者頁框。同樣依次編號。
頁是相對於程序的概念,而記憶體塊是相對於記憶體的概念,並根據頁的大小劃分的。
<3>頁表:將程序的頁號和記憶體塊號一一對應的表。
分配原則:作業系統以記憶體塊為單位,把記憶體分給各個程序,程序中的每乙個頁面對應乙個記憶體塊。乙個程序的若干也可以分別裝入物理上不連續的記憶體塊。
5.分段技術:
分段技術是站在使用者(程式設計師)的角度進行劃分的一種概念。
段:是一組邏輯資訊的集合。比如乙個函式,乙個陣列等。
乙個程序的程式,會按照邏輯結構劃分成若干段,每一段都是從0開始編址,是一段連續的空間,大小不一樣。
即段內是連續儲存,對於整個程序的所有分段,各個段又是允許分散儲存在記憶體中。
採用分段技術,可以很好的將程式和資料分開,獨立儲存,有利於共享。
作業系統中的儲存管理
儲存管理也就是對儲存器的管理,主要指對儲存器中記憶體 dram 的管理。計算機的工作方式依靠兩個能力 儲存程式,依靠儲存器來實現。自動地執行程式,依靠cpu來實現。計算機的工作原理就是不斷的從記憶體中取出一條條的指令,放在cpu上執行。早期的儲存管理方法 單道程式儲存管理,分割槽儲存管理,頁式和段式...
作業系統儲存管理
分段單元 分頁單元 邏輯位址 段基址 32位偏移量 線性位址 虛擬位址,0 4gb 實體地址 6個段暫存器 cs code段 ss stack段 ds data段 es fs gs 通用段暫存器 16位的段選擇符就存放在以上段暫存器中 線性位址 4gb 被分成以固定長度為單位的組,即頁。頁內部連續的...
作業系統 儲存管理
儲存管理 1 所謂虛擬儲存技術,即在記憶體中保留一部分程式或資料,在外存 硬碟 中放置整個位址空間的副本。程式執行過程中可以隨機訪問記憶體中的資料或程式,但需要的程式或資料不在記憶體中時,就將記憶體中的部分內容根據情況寫回外存,然後從外存調入所需程式或資料,實現作業內部的區域性對換,從而允許程式的位...