4.多級頁表及反向頁表
現代計算機系統都支援非常大的邏輯位址空間,致使頁表很大,用連續空間存放頁表顯然不現實。
如邏輯位址32位,頁面大小4kb,則頁表項為1m,若每個頁表項佔4位元組,則頁表共需要4mb記憶體空間。
解決方案:
用離散方式儲存 頁表
僅將當前需要的部分頁表項放在記憶體,其餘放在磁碟上,需要時調入。
兩級頁表及多級頁表
將頁表再分頁,使每頁與記憶體物理塊大小相同,並為它們進行編號0、1、…,同時還為離散存放的頁表建立一張頁表。
兩級頁表結構
具有兩級頁表的位址變換過程
利用邏輯位址中的一級頁號作為索引訪問一級頁表,找到第二級頁表的起始位址,
再利用第二級頁號找到指定頁表項,從中取出塊號與頁內位址拼接形成實體地址。
具有兩級頁表的位址變換機構
多級頁表
對兩級頁表進行擴充,便可得到**、四級或更多級的頁表。
多級頁表的實現方式與兩級頁表類似。
反向頁表
現代作業系統 一般允許大邏輯位址空間,如232,這使得頁表太大,為解決頁表占用大量儲存空間的問題,引入了反向頁表。
反向頁表為每個物理塊設定乙個頁表項,並將它們按物理塊號大小排序,表項內容為頁號及其隸屬程序的標識號。
反向頁表位址變換過程
利用程序標識號及頁號檢索反向頁表,若找到相應的頁表項,則將其物理塊號與頁內位址拼接;否則請求調入該程序相應頁,在無調頁功能的系統中則出錯。
由於反向頁表中沒有存放程序中尚未調入頁,因此必須為每個程序建立一張傳統頁表並存放在外存中,當所訪問頁不在記憶體時使用這張頁表。頁表中包含各頁在外存的位址。
反向頁表的位址變換
反向頁表的不足
反向頁表查詢慢:因為程序號及頁號不能作為索引,查詢時必須在整個反向頁表中進行。
解決辦法:
將常用頁表項存入快表
用雜湊函式存放反向頁表
5.儲存保護
分頁儲存管理採用兩種方式保護記憶體:
訪問控制保護:在頁表中增加保護位
7.5 分段管理
由於分頁按物理單位進行,沒有考慮程式段的邏輯完整性,給程式段的共享和保護帶來不便,另外動態鏈結及段的動態增長也要求以邏輯上完整的程式段為單位管理。
1. 分段管理的原理
在分段儲存管理系統中,作業的位址空間由若干個邏輯分段組成,每個分段是一組邏輯意義相對完整的資訊集合,每個分段都有自己的名字,每個分段都從0開始編址並採用一段連續的位址空間。
在進行儲存分配時,以段為單位分配記憶體,每段分配乙個連續的記憶體區,但各段之間不要求連續。
作業的位址空間是二維的
作業的位址空間分為多段,每段都從0開始編址,故位址是二維的。
分段系統的邏輯位址結構
該位址結構最多允許多少分段?每段最大長度為多少?
該位址結構允許作業最多有64k個段,每段的最大長度為64kb。
作業系統導論第七章
tags categories 作業系統該如何決定切換程序?如何執行程序使得效率最大化?more 1 周轉時間 t 周轉 時間 t 完成時間 t到達 時間t t t t周轉時間 t完成 時間 t到達時 間 2 響應時間 t 響應 時間 t 第一次執 行時間 t到達時 間t t t t響應時間 t第一...
作業系統 第七章 死鎖
死鎖問題 color 原因 例 系統模型 每一種資源ri有wi種例項 每乙個程序通過如下順序來使用資源 使用資源 釋放資源 必要條件 資源分配圖 申請邊 有向邊pi rj,表示程序pi申請了資源rj的乙個例項 分配邊 有向邊rj pi,表示資源rj的乙個例項分配給程序pi 例 有環但沒有死鎖的資源分...
作業系統筆記整理 第七章 檔案管理
檔案管理 把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存 使用等操作。資料項 描述物件某種屬性的字符集 是資料組織中可以命名的最小邏輯資料單位。關鍵字 乙個記錄中的乙個或幾個資料項的集合,用於唯一的標識乙個記錄。檔案讀寫操作 檢索 讀寫 開啟 每次讀寫前都要重複檢索增大開銷。所以為了方便...