4 3分頁儲存管理

2021-09-01 12:00:35 字數 1407 閱讀 7213

1.頁面的概念

記憶體劃分成多個小單元,每個單元k大小,稱(物理)塊。作業也按k單位大小劃分成片,稱為頁面。

2.頁表的概念

為了找到被離散分配到記憶體中的作業,記錄每個作業各頁對映到哪個物理塊,形成的頁面對映表,簡稱頁表。

頁表的作用:頁號到物理塊號的位址對映

3.位址的處理

作業相對位址在分頁下不同位置的數有一定的意義結構:

頁號+頁內位址(即頁內偏移)

關鍵的計算是:根據系統頁面大小找到不同意義二進位制位的分界線。

從位址中分析出頁號後,位址對映只需要把頁號改為對應物理塊號,偏移不變,即可找到記憶體中實際位置。

4.位址變換機構

分頁系統中,程序建立,放入記憶體,構建頁表,在pcb中記錄頁表存放在記憶體的首位址及頁表長度。

執行某程序a時,將a程序pcb中的頁表資訊寫入ptr中;

每執行一條指令時,根據分頁計算原理,得到指令頁號x和內部偏移量y;

cpu高速訪問ptr找到頁表在**;

查頁表資料,得到x實際對應存放的物理塊,完成位址對映計算,最終在記憶體找到該指令

5.快表

問題:基本分頁機制下,一次指令需兩次記憶體訪問,處理機速度降低1/2,分頁空間效率的提高以如此的速度為代價,得不償失。

改進:減少第1步訪問記憶體的時間。增設乙個具有「並行查詢」能力的高速緩衝暫存器,稱為「快表」,也稱「聯想暫存器」(associative memory),ibm系統稱為tlb(translation look aside buffer)。

6.多級頁表

兩級頁表:

將頁表分頁,並離散地將頁表的各個頁面分別存放在不同的物理塊中

為離散分配的頁表再建立一張頁表,稱為「外層頁表」,其每個表項記錄了頁表頁面所在的物理塊號。

32位邏輯位址空間,頁面大小為4kb(即12位)

一級頁表機構,剩餘20位是頁號,可編出的220個頁(也即頁表長1m/或頁表項有1m個)

多級頁表:

64位作業系統下,兩級仍然不足以解決頁表過大問題時,可按同樣道理繼續分頁下去形成多級頁表。

4 5分頁儲存管理方式

本部分討論不具備對換功能的純分頁模式,作業執行需要全部裝入記憶體。比較連續分配方式 1.頁面 記憶體劃分成多個小單元,每個單元k大小,稱 物理 塊。作業也按k單位大小劃分成片,稱為頁面。物理劃分塊的大小 邏輯劃分的頁的大小 頁面大小要適中。2.頁表 為了找到被離散分配到記憶體中的作業,記錄每個作業各...

Asp Sqlserver2005 分頁儲存過程

t sql set ansi nulls on set quoted identifier on goalter procedure dbo product page rowstotal int output,輸出總記錄數 tablenames varchar 1000 表名,可以是多個表,但不能用...

9 分頁瀏覽的管理

閱讀目錄 回到頂部 前面博文中,通過自行構造html 可以生成易於管理 易於擴充套件的資料列表。但在實際應用中,資料量動則成百上千,單一頁面根本無法完全顯示所有資料。把所有資料進行分頁後逐頁顯示,是當前比較流行的資料展示方式。因此,我們需要研究和 方式展示資料相適應的分頁管理機制。分頁顯示的核心,是...