從頁式管理開始,到之後的段式管理,都與之前的分割槽管理不同,最大的區別就在於乙個是分割槽管理是連續儲存,二這兩種方式可以非連續。
實現原理
首先是必要概念:
物理塊:將物理儲存空間劃分為大小相等的若干儲存塊,每塊大小為2的整數次冪,總大小在4kb-1gb之間。
頁表:存放於主存中,記錄程序的邏輯頁與主存中的物理塊的對應關係,實現從頁號到物理塊號的位址對映,每一頁對應乙個表目,頁表的長度和頁表的主存起始位址存放於pcb中。
在程序分配記憶體時,以塊為單位,將程序的多個頁分別裝入可以不連續的塊中,邏輯位址空間占用m位,每一頁大小為2的n次方個位址單元,所以頁內位移號占用n個單位,剩下m-n個位表示頁號。用頁號去頁表中尋找對應的項,由此找到物理塊號,再加上本身帶的頁內偏移量,就可以得到實體地址。
動態位址變換
因為分離是由硬體做好的,所以比較只用進行第一次,塊的大小都是相同的,硬體分離好滯後不用擔心頁內位址越界,這個過程中共要訪問兩次主存,一次查表,一次找塊,雖然看起來只有兩次,但是這種查詢行為在系統中多不勝數,所以我們要想辦法優化。只是最後一次的找塊是不可能取消的,所以我們只能從前一次的查表出發,這就是快表的引入。
快表為了提高儲存速度,在位址變換機構中設定的具有並行查詢能力的專用高速緩衝暫存器組(32~1024個暫存器),用來存放頁表的一部分,也就是頁表的子集。
多級頁表
當頁表過大時,由於頁表是連續儲存,就會導致頁表也需要乙個連續的較大實體地址空間儲存頁表。
而解決方法就是將頁表再分頁。
如上圖為一種示例,就是將整個頁表分開,再用頁去儲存,可以理解為,外頁表是子頁表的索引。
還可以用雜湊表來解決這個問題,以邏輯頁號作為雜湊值,在此不做贅述。
頁式管理的主存分配
儲存分塊表
分配過程:首先檢查是否能滿足要求,如果不能,則等待,如果可以滿足,第一項減去本次分配塊數,第二項找到所需塊,並建立頁表,修改第二項指標。
**過程:將占用的主存歸還系統,並修改儲存分配表中有關各項。
位示圖
使用乙個位向量磁碟中的每個塊占用其中一位,0代表空閒塊,1為占用快。
頁式管理的保護
越界保護
頁號與頁表長度進行比較。
訪問保護
在頁表中為每個物理塊設定保護位,表示有效或無效。
頁式管理的共享
實現原理
滿足使用者(程式設計師)在程式設計和使用上的要求,邏輯位址由段名和段內偏移決定,程式和資料的共享以資訊的邏輯單位為基礎。
按照程式自身的邏輯關係將位址空間劃分為若干部分,每個段都有自己的名字,每個段都占用從0開始的連續空間。
段表
記錄程序分段與物理空間的對應關係,實現位址對映;每個分段乙個表目,指出在主存中的起始位址和段長;段表的主存起始位址和段表長度也存在pcb中。
位址變換
儲存保護
第一級和第二級保護已經在位址變換中寫出來了,也就是段號越界保護和段內位址越界保護;第**保護則是對段設定操作許可權所進行保護。
段式管理的共享
段式管理的主存分配
與可變式分割槽類似,區別在於可變式分割槽管理分配單位為程序,而段式管理的分配單位為段。
段是資訊的邏輯單位,根據使用者的需求劃分;頁是資訊的物理單位,它為了方便管理而劃分。
段式管理為二維位址空間;頁式管理為一維位址空間。
頁的大小固定不變;段的大小可變。
頁式管理存在內部碎片,消除了外部碎片;段式管理存在外部碎片,消除了內部碎片。
段式管理和頁式管理都需要在作業執行前將資訊全部裝入主存。
結合分段管理和分頁管理,將程式先分成若干個段,再分成若干個頁,段內位址有三部分,段號、頁號、頁內位移。
儲存管理2 頁式與段式儲存管理
頁式儲存管理 計算機儲存的層次結構 暫存器,快取記憶體cache,主儲存器dram,ddram,外部儲存器 分割槽是程序的連續儲存 以下是分散儲存 原理 物理記憶體劃分許多固定大小的塊,稱物理頁面,頁框,邏輯位址空間劃分大小相同的塊,稱邏輯頁面,頁面 二者大小相同,兩種塊之間實現對映,物理頁面可以不...
頁式儲存管理和段式儲存管理的區別是什麼
1 頁式儲存管理 1 基本原理。將程式的邏輯位址空間劃分為固定大小的頁 page 而物理記憶體劃分為同樣大小的頁框 pageframe 程式載入時,可將任意一頁放人記憶體中任意乙個頁框,這些頁框不必連續,從而實現了離散分配。該方法需要cpu的硬體支援,來實現邏輯位址和實體地址之間的對映。在頁式儲存管...
儲存管理 段式儲存管理
分段儲存器的邏輯位址由兩部分組成 段號 單元號 注 段號加單元號是使用者自己設定,而頁號加單元號由系統自己切割的。段式儲存管理基於可變分割槽儲存管理實現,乙個程序要占用多個分割槽。硬體需要增加一組使用者可見的段位址暫存器 段 資料段 堆疊段 附加段 共位址轉換使用 段式儲存管理需要增加設定乙個段表,...