儲存器管理

2021-06-06 05:44:27 字數 2149 閱讀 2542

通用計算機有三層儲存器:cpu暫存器,主存,輔存。

為了緩和各儲存器之間處理速度的差異,在暫存器和主存之間加入了快取記憶體,而在主存和輔存之間加入了磁碟快取。

模組裝入方式:

1)絕對裝入方式:將目標模組裝入到記憶體事先指定的位置。

記憶體的分配方式:

一、連續分配方式。

1)單一連續分配(只能用於單使用者單任務系統):劃分為系統區和使用者區

2)固定分割槽分配:(可執行多道程式):在記憶體使用者中劃分為多個固定大小的區域,每個分割槽只裝入一道作業。而分割槽大小又可分為相同大小和不同大小

3)動態分割槽分配:根據程序的實際需要動態地分配記憶體。分配演算法:

(3)最佳適應演算法:將空閒分割槽按照從大到小排列,每次找到既能滿足又是最小的分割槽,從而避免大材小用。缺點是遺留下太多很小的空閒分割槽。

(4)最壞適應演算法:挑最大的空閒分割槽分配。這樣空閒分割槽不至於太小。缺點是缺乏大空間分割槽。

(5)快速適應演算法:按照分割槽的大小進行分類,每次尋找最佳分割槽。特點是查詢效率高,缺點是演算法複雜,系統開銷大。

4)可重定位分割槽分配。將分配的分割槽通過移動,使他們全部鄰接,這樣就空出大的分割槽。因為要變換位址,所以可先不計算出絕對位址,在執行該作業時再計算。所以作業裝入記憶體後,仍然是相對位址。而位址變換機構需要硬體的支援。增設重定位暫存器來存放程式的起始位址。

對換所謂對換就是把記憶體中暫時不能執行的程序或程式或資料調到外存,而把具備執行的程序調到記憶體。如果對換是以整個程序為單位則為整體對換,而如果對換是以頁或段為單位則為頁對換或段對換。

將外村分為檔案區和對換區,檔案區存放時離散的,而對換區是連續的。對換區讀寫速度快於檔案區。對換出的程序放在對換區,

二、離散分配方式。

離散分配方式包括分頁和分段儲存管理。

分頁是按照資訊的物理單位來切割的。分段是按照資訊的邏輯單位來切割的。

分頁儲存是將程序按照邏輯位址分割成大小相等的片。

地質結構為32位,分為兩部分:頁號和位移量。

因為各個頁離散的分布在記憶體中,所以必須建立頁表以方便查詢。頁表實現了從頁號到物理塊號的對映。因為頁在記憶體中放在物理塊中。

cpu要兩次訪問記憶體才能獲取頁中的資料。第一次找到物理塊號算出實體地址,第二次才根據實體地址訪問頁中資料。為了提高位址變換速度,建立乙個具有並行查詢功能的緩衝暫存器。在暫存器中建立快表,利用快表查詢物理塊號,並送到實體地址暫存器中。如果能再塊表查詢到物理塊號則cpu只需訪問一次即可。

因為頁表自身也會占用很大記憶體空間,而且在一級頁表中要求頁表存放在連續空間記憶體中。這樣就占用相當大的記憶體。為此可以將頁表再進行分頁,這樣就可以將第二級頁表離散的放在記憶體的物理塊中。所以兩級頁表解決的是大頁表無需連續的儲存在記憶體空間中。

分段儲存管理:分頁解決的是系統記憶體利用率,而分段則解決的是使用者在程式設計上的要求。

引入分段目的:1)方便程式設計。2)資訊共享(可以設定共享段,因為段的資訊是乙個完整的單元,而頁表達的資訊不完整,無法對其共享)3)資訊保護。4)動態增長(對於資料段來說,以段為單位能夠更好的進行增長)。

分頁和分段儲存的同異:

都是離散分配方式,都是通過位址對映來實現位址變換。

分頁實現離散分配,消減記憶體的零頭,但是分頁僅僅是由於系統管理的需要,沒有使用者的需要。而分段考慮了使用者的需要。

頁的大小固定,段的大小不固定。

分頁是線性位址是一維的,分段是二維的,需要段名和段內位址。

虛擬儲存:兩大技術:調入功能、置換功能。

它是通過請求分頁系統和請求分段系統的基礎上來實現的。

虛擬儲存的特徵:1、多次性(乙個作業被分成多次調入記憶體)2、對換性(在作業執行期間,將程序進行換入換出)3、虛擬性(能從邏輯上擴充記憶體容量)。

頁面置換演算法:即如何置換頁面從而使系統利用率最高。

1、最佳置換演算法(理想的演算法,無法實現。所選擇的淘汰的頁面是以後永久不使用的或是未來最長時間不使用的 )。

2、先進先出演算法(最先進入的最先調出,即在記憶體中停留時間最長的頁面最先調出記憶體)

3、最近最久未使用演算法:選擇最近最久沒有使用的頁面調出記憶體。(演算法比較好但是要求系統硬體的支援,比如使用暫存器或者棧來記錄最近最久未使用的頁面)

4、clock置換演算法(是演算法3的一種近似演算法,即通過輪流檢測、修改頁面的訪問狀態和修改狀態來決定需要置換出的頁面)。

儲存器管理

一 單一連續分配 分為系統區和使用者區,系統區僅提供給os使用,通常放在低位址,使用者區出系統區以外的全部記憶體空間,供使用者使用。二 固定分割槽分配 把記憶體劃分為大小不一的分割槽,有幾個分割槽便只允許幾道作業併發。會造成內碎片 內碎片 乙個分區內的剩餘空間 三 動態分割槽分配 根據程式大小需要多...

儲存器管理

1 編譯compiler 編譯程式 將使用者源 編譯成若干個目標模組。1 邏輯位址 相對位址,虛位址 使用者的程式經過彙編或編譯後形成目標 目標 中的指令位址是相對位址。一般首位址為0,其餘指令中的位址都相對於首位址來編址。不能用邏輯位址在記憶體中讀取資訊 2 實體地址 絕對位址,實位址 記憶體中儲...

儲存器管理

儲存器管理 重點是記憶體管理,對其有效的管理直接影響儲存器的利用率 系統效能。儲存器資源的分配和 位址變換 儲存共享和保護 虛擬儲存的排程演算法 外存的管理 磁碟儲存器管理 檔案系統等中涉及。裝入時動態鏈結 由乙個目標模組開始裝入,若又涉及外部模組呼叫事件,裝入程式再找出相應的外部目標模組,並將它裝...