由於虛擬儲存器系統能從邏輯上擴大記憶體,人們希望在系統中能執行更多的程序,即增加多道程式度,以提高處理機的利用率。
如果多道程度過高,頁面在記憶體與外存之間頻繁排程,以至於排程頁面所需時間比程序實際執行的時間還多,此時系統效率急劇下降,甚至導致系統崩潰。這種現象稱為顛簸或抖動(thrashing) 。
抖動的後果:缺頁率急劇增加,記憶體有效訪問時間加長,系統吞吐量驟減(趨近於零) ;系統已基本不能完成什麼任務。
抖動產生原因:同時執行的程序數過多,程序頻繁訪問的頁面數高於可用的物理塊數,造成程序執行時頻繁缺頁。cpu 利用率太低時,排程程式就會增加多道程式度,將新程序引入系統中,反而進一步導致處理機利用率的下降。
作業系統需要一種降低缺頁率、防止抖動的記憶體管理方法:工作集策略
駐留集:指請求分頁儲存管理中給程序分配的物理頁面(塊)的集合。
駐留集大小即是這個集合中元素的個數。
每個程序的駐留集越小,則同時駐留記憶體的程序就越多,cpu 利用率越高。
程序的駐留集太小的話,則缺頁率高,請求調頁的開銷增大。
抖動的原因:多道程式度過高,導致平均駐留集過小。
缺頁率與系統為程序分配物理塊的多少(駐留集的大小)有關。缺頁率隨著分配物理塊的增加而減少。
當物理塊數達到某個數值時,物理塊數的增加對缺頁率沒有明顯影響。當物理塊數小於某個數值時,減少一塊都會對缺頁率有較大影響。
1968 年 denning 提出了工作集(working set) 理論。
工作集是指在某段時間間隔 ∆ 裡,程序實際要訪問的頁面的集合。
把程序在某段時間間隔 ∆ 裡,在時間 t 的工作集記為w(t,∆),變數 ∆ 稱為工作集「視窗尺寸」 。
對於給定的頁面走向,如果 ∆ = 10 次儲存訪問,在 t1時刻的工作集是 w(t1,10)=(1,2,5,6,7),在 t2 時刻,工作集是 w(t2,10)=(3,4)
工作集精確度與視窗尺寸 ∆ 的選擇有關。如果 ∆ 太小,那麼它不能表示程序的區域性特徵;如果 ∆ 為無窮大,那麼工作集合是程序執行需要的所有頁面的集合。
如果頁面正在使用,它就落在工作集中;如果不再使用,它將不出現在相應的工作集中。
工作集是區域性性原理的近似表示。
如果能找出乙個作業的各個工作集,並求出其頁面數最大者,就可估計出該程序所需的物理塊數。
利用工作集模型可以進行頁面置換。工作集頁面置換法的基本思想:找出乙個不在工作集中的頁面,把它淘汰。
類似於 lru 演算法,工作集用程序過去某段時間內的行為作為未來某段時間內行為的近似。
利用工作集進行駐留集調整的策略
工作集策略存在的問題
僅允許程序在自身範圍內進行置換。即使發生抖動,也可以把影響限制在較小範圍內。
」抖動「與工作集 分段儲存管理
四 抖動 與工作集 1.系統抖動 大部分處理器時間都用在來回的頁面排程上,這種局面稱為系統抖動或顛簸 thrashing 2.抖動的後果 1 缺頁率急劇增加 2 記憶體有效訪問時間加長,3 系統吞吐量驟減 系統已基本不能完成什麼任務,而是忙於頁面對換操作,cpu雖然忙,但效率急劇下降。3.根本原因 ...
作業系統 作業系統的設計與實現
系統設計的首要問題是定義目標和規範。從高層來說,系統設計取決於所選硬體和系統型別 批處理 分時 單使用者 多使用者 分布式 實時或通用。除了最高設計層外,需求可能很難說清,但需求可以分為兩類 使用者目標和系統目標。使用者要求系統具有一定的優良效能 系統應該易於學習和使用 可靠 安全和快速。研發人員為...
實時作業系統與分時作業系統
實時作業系統 real time operating system 是指當外界事件或資料產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統做出快速響應,排程一切可利用的資源完成實時任務,並控制所有實時任務協調一致執行的作業系統。提供及時響應和高可靠性...