程式進記憶體的一般過程:
編譯compiler:編譯程式:將使用者源**編譯成若干個目標模組。
鏈結link:鏈結程式:將形成的一組目標模組,及它們需要的庫函式鏈結在一起,形成乙個完整的裝入模組。
裝入load:由裝入程式將裝入模組裝入記憶體,構造pcb,形成程序,開始執行(使用實體地址)。
單一連續分配:記憶體分為系統區和使用者區兩部分:
系統區:僅提供給os使用,通常放在記憶體低址部分
使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。
這是最簡單的一種儲存管理方式,只能用於單使用者、單任務的作業系統中。
優點:易於管理。
缺點:對要求記憶體空間少的程式,造成記憶體浪費;程式全部裝入,很少使用的程式部分也占用記憶體。
固定分割槽分配:把記憶體分為一些大小相等或不等的分割槽,每個應用程序占用乙個分割槽。作業系統占用其中乙個分割槽。
優點:支援多個程式併發執行,適用於多道程式系統和分時系統。(劃分幾個分割槽便允許幾個多道程式執行).
缺點:內碎片(乙個分區內的剩餘空間)造成浪費. 分割槽總數固定,限制併發執行的程式數目。
動態分割槽分配:分割槽的大小不固定:在裝入程式時根據程序實際需要,動態分配記憶體空間,即——需要多少劃分多少。
優點:併發程序數沒有固定數的限制,不產生內碎片。
缺點:有外碎片(分區間無法利用的空間)當前記憶體分配有3個小碎片,分別為30k,64k,40k。若有乙個120k的作業申請一塊連續空間,無法滿足。
當記憶體空間還是滿足不了需求時,引入「對換」:
把記憶體中暫時不能執行、或暫時不用的程式和資料調到外存上,以騰出足夠的記憶體;把已具備執行條件的程序和程序所需要的程式和資料,調入記憶體。
按對換單位分類:
整體對換(或程序對換):以整個程序為單位(連續分配)
頁面對換或分段對換:以頁或段為單位(離散分配)
作業系統第四章 儲存器管理
1.儲存器的層次管理 訪問速度從上往下依次降低 可重定位裝入方式 多道程式環境下的起始位址是0開始,根據記憶體 當情況,將裝入模組裝入合適位置 3.連續分配方式 對換 將記憶體上暫時不能執行的程序或者暫時不用的程式和資料調出到外存上。提高記憶體利用率。可分為程序對換 頁面對換 分段對換。為了實現程序...
作業系統第四章 儲存管理子系統
重點 分頁 分段技術 1.儲存器層次結構 滿足不同位置資料需求 速度快 不易失 你比如說直接跟cpu對接的 暫存器 cache 記憶體 外存 常理解為硬碟 他們讀取的速度不一樣 易失性也不一樣。負責管理上面的結構的 儲存管理器。程序的換進換出和頁面置換都是記憶體不足造成的。2.單道程式儲存管理 把整...
第四章儲存器管理 1
1 程式的裝入和鏈結 使用者源程式to記憶體中執行的程式 1 位址的概念 邏輯位址 相對位址,虛位址 實體地址 絕對位址,實位址 2 程式裝入中的位址處理 絕對裝入 邏輯位址 實體地址 靜態重定位裝入 動態執行時重定位裝入 3 不同的程式鏈結裝入方式 使用記憶體的時機 靜態鏈結 裝入時鏈結 執行時鏈...