頁面抖動(顛簸)
在頁面置換過程中的一種最糟糕的情形是,剛剛換出的頁面馬上又要換入主存,剛剛換入的頁面馬上就要換出主存,這種頻繁的頁面調度行為稱為抖動,或顛簸。如果一個進程在換頁上用的時間多於執行時間,那么這個進程就在顛簸。
頻繁的發生缺頁中斷(抖動),其主要原因是某個進程頻繁訪問的頁面數目高於可用的物理頁幀數目。虛擬內存技術可以在內存中保留更多的進程以提髙系統效率。在穩定狀態,幾乎主存的所有空間都被進程塊占據,處理機和操作系統可以直接訪問到盡可能多的進程。但如果管理不當,處理機的大部分時間都將用於交換塊,即請求調入頁面的操作,而不是執行進程的指令,這就會大大降低系統效率。
工作集(駐留集)
工作集(或駐留集)是指在某段時間間隔內,進程要訪問的頁面集合。經常被使用的頁面需要在工作集中,而長期不被使用的頁面要從工作集中被丟棄。為了防止系統出現抖動現象,需要選擇合適的工作集大小。
工作集模型的原理是:讓操作系統跟蹤每個進程的工作集,並為進程分配大於其工作集的物理塊。如果還有空閑物理塊,則可以再調一個進程到內存以增加多道程序數。如果所有工作集之和增加以至於超過了可用物理塊的總數,那么操作系統會暫停一個進程,將其頁面調出並且將其物理塊分配給其他進程,防止出現抖動現象。
正確選擇工作集的大小,對存儲器的利用率和系統吞吐量的提嵩,都將產生重要影響。
程序工作集,就是程序駐留集。
保持更新,一個關於操作系統的小知識點,之前本科學習的時候,竟然沒注意,重新復習的時候,才感覺錯過好多知識。