頁面置換演算法(關於調入記憶體和寫回磁碟)

2021-10-23 07:20:49 字數 1001 閱讀 4227

頁面在何時會被寫進磁碟

頁面調入策略

為使程序能夠正常執行,必須事先將要執行的那部分程式和資料所在的頁面調入記憶體。現在的問題是:

1) 預調頁策略。 

2) 請求調頁策略。

1) 系統擁有足夠的對換區空間,這時可以全部從對換區調入所需頁面,以提高調頁速度。

2) 系統缺少足夠的對換區空間,這時凡是不會被修改的檔案,都直接從檔案區調入;而當換出這些頁面時,由於它們未被修改,則不必再將它們重寫到磁碟(換出),

以後再調入時,仍從檔案區直接調入。但對於那些可能被修改的部分,在將它們換出時便須調到對換區,以後需要時再從對換區調入。

3)  unix方式。

每當程式所要訪問的頁面未在記憶體時,便向cpu發出一缺頁中斷,中斷處理程式首先保留cpu環境,分析中斷原因後, 轉入缺頁中斷處理程式。

該程式通過查詢頁表,得到該頁在外存的位址後, 如果此時記憶體能容納新頁,則啟動磁碟i/o將所缺之頁調入記憶體,然後修改頁表。如果記憶體已滿,

則須先按照某種置換演算法從記憶體中選出一頁準備換出;如果該頁未被修改過,可不必將該頁寫回磁碟;但如果此頁已被修改, 則必須將它寫回磁碟,然後再把所缺的頁調入記憶體, 並修改頁表中的相應表項,置其存在位為「1」,並將此頁表項寫入快表中。

在缺頁調入記憶體後,利用修改後的頁表, 形成所要訪問資料的實體地址,再去訪問記憶體資料。

當產生缺頁中斷時,先檢查要淘汰頁面的修改位,若被修改,先將該頁面寫回磁碟,再將下乙個頁面置換掉該頁面

1)狀態位p:判斷該頁是否被調入記憶體,程式訪問時參考

2)訪問欄位a:記錄本頁在一段時間內的訪問次數,選擇換出頁面

3)修改位m:判斷該頁是否被修改過,換出頁面時判斷該頁是否需要寫回磁碟

記憶體頁面置換演算法

一丶 1.部分概念 記憶體抖動 每次頁面置換都要耗費很多時間 置換演算法呼叫選擇被置換的頁面 髒頁判定,寫會被置換的頁面 io中斷,寫入記憶體,磁碟尋道,讀寫速度相比cpu速度,其效率極低 多次頻繁的頁面置換,會使等待時間增長,cpu使用率降低,且多次讀寫,占用匯流排,也不利於其他程式執行,緩解記憶...

虛擬記憶體之頁面置換演算法

四種頁面置換演算法 一 最佳置換演算法 opt 策略選擇置換下次訪問距當前時間最長的那些頁,可以看出該演算法能導致最少的缺頁中斷,但是由於它要求作業系統必須知道將來的事件,顯然這是不可能實現的。但它仍然能作為一種標準來衡量其他演算法的效能。二 最近最少使用演算法 lru 策略置換記憶體中上次使用距當...

作業系統 記憶體頁面置換演算法

用頁面置換演算法決定應該換出哪個頁面 五種頁面置換演算法 1 最佳置換演算法 opt 2 先進先出演算法 fifo 3 最近最少使用演算法 lru 4 時鐘置換演算法 clock 5 改進型的時鐘置換演算法 最佳置換演算法 opt 每次選擇淘汰的頁面將是以後永不使用,最長時間內不再被訪問的頁面,無法...