在請求分頁系統中,當訪問的頁不在記憶體,便產生乙個缺頁中斷。
缺頁中斷與一般中斷的區別:
實存實體地址應設為多少位?
256m = 2^28,所以為28位
實存中有多少物理塊?
256m/4k = 64k
實存中最大塊號是多少?
64k-1
虛存位址應設多少位?
4g = 2^32,所以為32位
虛擬位址空間最多可以有多少頁?
4g/4k = 1m
頁內最大偏移量是多少?
4k-1 = 4*1024-1 = 4095
最小物理塊數指能保證程序正常執行所需的最小的物理塊數,最小物理塊數與計算機的硬體結構有關,取決於指令的格式、功能和定址方式。
採用直接定址方式,所需的最少物理塊數為 2。一塊是用於存放指令,另一塊用於存放資料。
間接定址時,至少要求有三個物理塊。 (間接定址中一些物理塊放的是其它物理塊的塊號)
為每個程序分配固定數目 n 的物理塊,在整個執行中都不改變。如出現缺頁則從該程序的頁面中置換一頁。
每個程序分配多少個物理塊難以確定.
若太少,會頻繁地出現缺頁中斷,降低了系統的吞吐量。
若太多,記憶體中駐留的程序數目減少,可能造成 cpu空閒或其它資源空閒的情況。
為每個程序分配一定數目的物理塊,但 os 自留一空閒塊佇列,若發現缺頁,則從空閒塊佇列中分配一空閒塊與該程序,並調入缺頁於其中。當空閒塊佇列用完時,os 才從記憶體中任選擇一頁置換。
為每個程序分配一定數目的物理塊,若發現缺頁,則從該程序的頁面中置換一頁,不會影響其它程序的執行。根據程序缺頁率高低,則可增加或減少分配給該程序的物理塊。
在採用固定分配策略時,可採用以下幾種演算法:
平均分配演算法:平均分配給各個程序。未考慮程序大小,小程序浪費物理塊,大程序嚴重缺頁。
按比例分配演算法:根據程序的大小按比例分配給各個程序。如果共有 n 個程序,每程序頁面數 s i ,系統可用物理塊總數為 m,則每程序分到的物理塊數 b i :
考慮優先權的分配演算法:將系統提供的物理塊一部分根據程序大小先按比例分配給各個程序,另一部分再根據各程序的優先權分配物理塊數。
預調頁:將預計在不久之後便會被訪問的頁面預先調入記憶體。
程序的頁一般存放在外存的乙個連續區域中。一次調入若干個相鄰的頁會比一次調入一頁更高效。
但如果調入的一批頁面中的大多數都未被訪問,則浪費了記憶體。
當程序在執行中發生缺頁時,就立即提出請求,由系統將缺頁調入記憶體。但這種策略每次僅調入一頁,須花費較大的系統開銷,增加了啟動磁碟 i/o 的頻率。
在請求分頁系統中,外存分成了按離散分配方式存放檔案的檔案區和按連續分配方式存放對換頁的對換區。程序發出缺頁請求時,從何處將缺頁調入記憶體呢?
檔案區:如果系統沒有足夠的對換區空間,凡是不會被修改的檔案,直接從檔案區調頁,不必回寫(換出) 。對可能會修改的檔案第一次直接從檔案區調頁,換出時換至對換區,以後從對換區調頁。
unix 方式:凡未執行過的頁面均從檔案區調頁,執行過的頁面和換出的頁面均從對換區調頁。
如果乙個程序的邏輯空間為 n 頁,分配到的物理塊為 m(m
頁面置換時還需要考慮置換代價。
沒有被修改過的頁面可以直接放棄,而修改過的頁面必須進行儲存。
如果被置換頁面被修改過的概率是 β,其缺頁中斷處理時間為 t a ,被置換頁面沒有被修改過的缺頁中斷處理時間為 t b ,顯然 t a > t b 。則缺頁中斷處理時間 t:
請求分頁儲存管理方式
請求分頁系統是建立在基本分頁的基礎上的,為了能支援虛擬儲存器功能而增加了請求調頁功能和頁面置換功能。相應地,每次調入和換出的基本單位都是長度固定的頁面,這使得請求分頁系統在實現上要比請求分段系統簡單 請求分段系統在換進和 換出時是 可變長度的段 因此,請求分頁便成為目前最常用的一種實現虛擬儲存器的方...
基本分頁 請求分頁儲存管理方式
基本分頁儲存管理方式具有如下特徵 1 一次性。要求將作業全部裝入記憶體後方能執行。許多作業在每次執行時,並非其全部程式和資料都要用到。如果一次性地裝入其全部程式,造成記憶體空間的浪費。2 駐留性。作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。儘管執行中的程序會因i o而長期等待,或有的程...
基本分頁 請求分頁儲存管理方式
基本分頁儲存管理方式具有如下特徵 1 一次性 要求將作業全部裝入記憶體後方能執行。許多作業在每次執行時,並非其全部程式和資料都要用到。如果一次性地裝入其全部程式,造成記憶體空間的浪費。2 駐留性 作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。儘管執行中的程序會因i o而長期等待,或有的程...