作業系統第4章 儲存器管理
2、連續分配方式
為一個使用者程式分配一個連續的記憶體空間
(1)單一連續分配
記憶體分為系統區和使用者區兩部分:
系統區:
僅提供給OS使用,通常放在記憶體低址部分
使用者區:
除系統區以外的全部記憶體空間,提供給使用者使用。
最簡單的一種儲存管理方式,只能用於單使用者、單任務的作業系統中。
優點:易於管理。
缺點:對要求記憶體空間少的程式,造成記憶體浪費;程式全部裝入,很少使用的程式部分也佔用記憶體。
(2)固定分割槽分配
把記憶體分為一些大小相等或不等的分割槽(partition),每個應用程序佔用一個分割槽。作業系統佔用其中一個分割槽。
提高:支援多個程式併發執行,適用於多道程式系統和分時系統。最早的多道程式儲存管理方式。
劃分為幾個分割槽,便只允許幾道作業併發
1)如何劃分分割槽大小:
分割槽大小相等:只適合於多個相同程式的併發執行(處理多個型別相同的物件)。缺乏靈活性。
分割槽大小不等:多個小分割槽、適量的中等分割槽、少量的大分割槽。根據程式的大小,分配當前空閒的、適當大小的分割槽。
2)需要的資料結構
建立一記錄相關資訊的分割槽表(或分割槽連結串列),表項有:
| 起始位置 | 大小 | 狀態 |
分割槽表中,表項值隨著記憶體的分配和釋放而動態改變
3)程式分配記憶體的過程:
也可將分割槽表分為兩個表格:空閒分割槽表/佔用分割槽表。從而減小每個表格長度。
檢索演算法:空閒分割槽表可能按不同分配演算法採用不同方式對錶項排序
(將分割槽按大小排隊或按分割槽地址高低排序)。
過程:檢索空閒分割槽表;找出一個滿足要求且尚未分配的分割槽,分配給請求程式;若未找到大小足夠的分割槽,則拒絕為該使用者程式分配記憶體。
動態分割槽分配
優點:併發程序數沒有固定數的限制,不產生內碎片。
缺點:有外碎片(分割槽間無法利用的空間
具體實現:
1)分割槽分配中的資料結構
2)分割槽分配演算法
3)分割槽分配操作
2)分割槽分配演算法
分割槽演算法
動態分割槽方式,分割槽多、大小差異各不相同,此時把一個新作業裝入記憶體,更需選擇一個合適的分配演算法,從空閒分割槽表/鏈中選出一合適分割槽
首次適應演算法FF 迴圈首次適應演算法 最佳適應演算法 最差適應演算法 快速適應演算法
(5)記憶體空間管理之對換
當記憶體空間還是滿足不了需求時,引入“對換”思想:
把記憶體中暫時不能執行、或暫時不用的程式和資料調到外存上,以騰出足夠的記憶體;把已具備執行條件的程序和程序所需要的程式和資料,調入記憶體。
按對換單位分類:
整體對換(或程序對換):以整個程序為單位(連續分配)
頁面對換或分段對換:以頁或段為單位(離散分配)
對換空間的管理
相關推薦
作業系統第4章 儲存器管理
2、連續分配方式 為一個使用者程式分配一個連續的記憶體空間 (1)單一連續分配 記憶體分為系統區和使用者區兩部分: 系統區:僅提供給OS使用,通常放在記憶體低址部分 使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。 最簡單的一種儲存管理方式,只能用於單
第4章 儲存器管理 連續分配儲存管理方式
一,連續分配儲存管理方式 1,連續分配方式 為一個使用者程式分配一個連續的記憶體空間 (1)單一連續分配 記憶體分為系統區和使用者區兩部分: 系統區:僅提供給OS使用,通常放在記憶體低址部分 使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。 最簡單的一種儲存管
第4章 儲存器管理
分頁和分段的主要區別 ★ ★ ★ 1.需求:分頁是出於系統管理的需要,是一種資訊的物理劃分單位,分段是出於使用者應用的需要,是一種邏輯單位,通常包含一組意義相對完整的資訊。  
作業系統--第四章儲存器管理_1
程式進記憶體的一般過程: 編譯compiler:編譯程式:將使用者原始碼編譯成若干個目標模組。 連結link:連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 裝入load:由裝入程式將裝入模組裝入記憶體,構造PCB,形成程序,開始執行(使用實體地址)。
作業系統--第四章儲存器管理_2
儲存管理的離散分配方式 基本分頁儲存管理方式 離散分配記憶體: 作業按規定大小劃分成小份;記憶體也按同樣大小劃分成小份 作業的任一小份可分散放入記憶體任意未使用的小份 分頁的目的:更細粒度的處理空間,減少粗放管理的浪費或開銷問題。 "頁"的概念:記憶體劃分成多個小單元,每個單元K
第4章 儲存器管理 連續分配儲存管理方式
一,連續分配儲存管理方式 1,連續分配方式 為一個使用者程式分配一個連續的記憶體空間 (1)單一連續分配 記憶體分為系統區和使用者區兩部分: 系統區:僅提供給OS使用,通常放在記憶體低址部分 使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。 最簡單的
第四章 儲存器管理 程式的裝入和連結
一,程式的裝入和連結 1,程式進記憶體的一般過程: 1)編譯compiler:編譯程式:將使用者原始碼編譯成若干個目標模組。 2)連結link:連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 3) 裝入load:由裝入程
作業系統 第2章 程序管理 2.2 2.3
** 2.2程序控制 ** 一、程序控制的基本過程: 1、1)程序的建立(一個程序建立另一程序的事件(原因)) 使用者登入:分時情況下使用者的請求 作業排程:批處理中 提供服務:執行中的使用者程式提出功能請求,要建立服務程序(如列印服務) 應用請求:應用程式自己建立程序,完成特定功能
作業系統 第2章 程序管理
2.1 程序的基本概念 重點理解 主要要理解程式執行順序與併發的特徵與定義 瞭解程序的定義特徵及狀態 PCB 1.程式順序執行時的特徵 (1) 順序性 處理機的操作嚴格按程式規定順序執行 (2) 封閉性 程式一旦開始執行,其計算結果不受外界因素影響。 (3) 可再現性 程式執行只要初始條件一
第四章 儲存器管理
儲存部件的層次 1.CPU暫存器 2.快取記憶體 3.主存 4.磁碟快取 5.磁碟 6.可移動儲存介質 儲存器管理 1.儲存器資源的分配和回收 2.地址變換 3.儲存共享和保護 4.虛擬儲存的排程演算法 程式進記憶體
第四章儲存器管理
1.程式的裝入和連結 程式進記憶體的一般過程: 編譯compiler:編譯程式:將使用者原始碼編譯成若干個目標模組。 連結link:連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 裝入load:由裝入程式將裝入模組裝入記憶體,構造PCB,形成程序,開始
第四章 儲存器管理(2)
** 基本分頁儲存管理 ** 1.頁面的概念 記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。 作業也按K單位大小劃分成片,稱為頁面。 ①物理劃分塊的大小 = 邏輯劃分的頁的大小 ②頁面大小要適中 太大,(最後一頁)內碎片增大,類似連續分配的問題。 太小的話,頁面碎片總空間
第四章 儲存器管理(1)
儲存部件層 ** 程式的裝入和連結 ** 程式進記憶體的一般過程: 1)編譯compiler:編譯程式:將使用者原始碼編譯成若干個目標模組。 2)連結link:連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 3)裝入load:由裝入程
現代作業系統 第三章 記憶體管理 習題
Chapter03 第三章 記憶體管理 習題 知識點小記 當一個程序發生缺頁中斷的時候,程序會陷入核心態,執行以下操作: 1、檢查要訪問的虛擬地址是否合法 2、查詢/分配一個物理頁 3、填充物理頁內容(讀取磁碟,或者直接置0,或者啥也不幹) 4、建立對映關係(虛擬地址到實體
第四章 儲存器管理2
4-4分頁儲存管理方式 分頁目的:更細粒度的處理空間,減少粗放管理的浪費或開銷問題。 記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。 物理劃分塊的大小 = 邏輯劃分的頁的大小。 為了找到被離散分配到記憶體中的作業,記錄每個作業各頁對映到哪個物理塊
第四章 儲存器管理 + 分頁 + 分段
主存:儲存程序執行時的程式和資料 暫存器:速度最快,價格昂貴容量不大,一般以字為單位,只要存放指令一次操作的資料就夠了 。 快取記憶體:總之:速度快、存放部分記憶體資料、硬體自動處理 磁碟快取:記憶體的一部分,將頻繁使用的一部分磁碟資料資訊預讀入在磁碟快取,減少磁碟
第四章 儲存器管理(二)
4.5 分頁儲存管理方式 1.連續分配方式:一個程序連續的裝進記憶體一個大小合適的區。->“碎片”->“緊湊”->增大開銷 2.如果允許一個程序直接分散裝入多個不相鄰分割槽中,則無需“緊湊”->產生儲存管理的離散分配方式。 3.離散分配三種方式:
第四章 儲存器管理(一)
4.1 儲存器的層次結構 1.計算機的儲存層次:最高層為CPU暫存器,中間為主存,最底層是輔存。 2.根據功能劃分:暫存器、快取記憶體、主儲存器、磁碟快取、固定磁碟、可移動儲存介質等6層。 暫存器、快取記憶體、主儲存器和磁碟快取均屬於作業系統儲存管理的管轄範疇,掉電後儲存的資訊不
[Qt Creator 快速入門] 第4章 佈局管理
第3章講述了一些視窗部件,當時往介面上拖放部件時都是隨意放置的,這對於學習部件的使用沒有太大的影響,但是,對於一個完善的軟體,佈局管理卻是必不可少的。 無論是想要介面中部件有一個很整齊的排列,還是想要介面能適應視窗的大小變化,都 要進行佈局管理。Qt中主要提供了 QLayout 類及其子類來作為佈局管理器,它
第4章 庫存管理案例(加入集合容器ArrayList)
第4章 庫存管理案例 4.1 案例介紹 現在,我們將原有的庫存管理案例,採用更好的集合方式實現。 將對下列功能進行方法封裝: 列印庫存清單功能 庫存商品數量修改功能 退出程式功能 4.2 案例需求分析 管理員能夠進行的操作有3項(檢視、修改、退出)