計算機作業系統 儲存器管理(4)

2021-06-20 12:21:07 字數 1235 閱讀 3593

基本分頁儲存管理方式

離散分配方式:將乙個程序直接分散地裝入到許多不相鄰接的分割槽中,無需再「緊湊」記憶體。如果離散分配的基本單位是頁,則稱為分頁儲存管理方式;如果離散分配的基本單位是段,則稱為分段儲存管理方式。

頁內碎片:在為程序分配記憶體時,以塊為單位將程序中的若干個項分別裝入到多個可以不相鄰接的頁框中。由於程序的最後一頁經常裝不滿一塊而形成了不可利用的碎片,稱之為「頁內碎片」。

位址結構:位址長度為32位時,0~11位為頁內位址,即每頁的大小為4kb;12~31位為頁號,即位址空間最多允許有1m頁。

位址變換機構

1、基本的位址變換機構

(單處理機環境下)在系統中只設定乙個頁表暫存器ptr(page-table register),在其中存放頁表在記憶體的始址和頁表的長度(頁表中頁表項的個數)【頁表暫存器存放的是頁表的位址資訊,而非頁表本身。】。頁表大多數駐留在記憶體中。平時,程序未執行時,頁表的始址和頁表的長度存放在本程序的pcb中。當排程程式排程到某程序時,才將這兩個資料裝入頁表暫存器中。

當程序要訪問某個邏輯位址中的資料時,分頁位址變換機構會自動地將邏輯位址分為頁號和頁內位址兩部分,再以頁號為索引去檢索頁表。查詢操作由硬體執行。在執行檢索之前,先將頁號與頁表長度進行比較,如果頁號大於或等於頁表長度,則表示本次所訪問的位址已超越程序的位址空間。於是,這一錯誤將被系統發現並產生一位址越界中斷。若未出現越界錯誤,則將頁表始址與頁號和頁表項長度(即頁面大小的長度,不是頁表長度)的乘積相加,便得到該表項在頁表中的位置,於是可從中得到該頁的物理塊號,將之裝入實體地址暫存器中。與此同時,再將有效位址暫存器中的頁內位址送入實體地址暫存器的塊內位址欄位中。這樣便完成了從邏輯位址到實體地址的變換。

2、具有快表的位址變換機構

除頁表暫存器(存放頁表位址資訊)外,增設高速緩衝暫存器/聯想暫存器/快表(存放當前訪問的那些頁表項,存放約16~512個頁表項,每個頁表項占用1個位元組)。

3、兩級和多級頁表

如果程序有1m個頁表項,則該程序頁表(含1m個頁表項,每個頁表項佔1個位元組)就要占用1mb的連續記憶體空間。解決辦法:①+②

①採用離散分配方式——>增加外層頁表及外層頁表暫存器,實現兩級和多級頁表;

②將當前需要的部分頁表項調入記憶體,其餘的頁表項仍駐留在磁碟上,需要時再調入;

計算機作業系統 儲存器管理

1.1 單一連續分配 1.2 固定分割槽分配 1.2.1 分割槽大小相等 1.2.2 分割槽大小不相等 1.3 動態分割槽分配 1.3.1 資料結構 1.3.2 動態分配分割槽演算法 1.3.2.1 基於順序搜尋的動態分割槽分配演算法 1.3.2.1.1 首次適應演算法 first fit 1.3....

計算機作業系統 儲存器管理(6)

虛擬儲存器 定義 基於區域性性原理,應用程式在執行之前,沒有必要全部裝入記憶體,僅須將那些當前要執行的少數頁面或段先裝入記憶體便可執行,其餘部分暫留在盤上。程式在執行時,如果它所要訪問的頁 段 已調入記憶體,便可繼續執行下去 但如果程式所要訪問的頁 段 尚未調入記憶體 稱為缺頁或缺段 此時程式應利用...

計算機作業系統 儲存器的管理

程式的幾種裝入方式 1.絕對裝入方式 使用者程式編譯後將產生絕對位址的目標 絕對裝入程式按照裝入模組的位址將程式和資料裝入記憶體。程式中所使用的絕對位址既可以在編譯或彙編時給出,也可由程式設計師直接賦予,適用於單道程式環境。2.可重定位裝入方式 多道程式環境下,編譯程式不可能預知經編譯後所得到的目標...