虛擬記憶體是對物理記憶體的一種擴充,使得程式可用的記憶體看起來比實際的記憶體要大。虛擬記憶體為每個程序提供了乙個一致的、私有的位址空間,它讓每個程序產生了一種自己在獨享主存的錯覺,而實際上它通常是被分割成多個物理記憶體碎片的,甚至有些部分暫時儲存在外部磁碟儲存器上,在需要時再進行資料交換。
區域性性原理主要表現在時間區域性性和空間區域性性兩個方面。
請求分頁儲存管理:建立在分頁管理之上,為了支援虛擬儲存器功能而增加了請求調頁功能和頁面置換功能。在作業執行過程中發現要訪問的頁面不在記憶體中時,則由處理器通知作業系統按照對應的頁面置換演算法將相應的頁面調入到主存,同時作業系統也可以將暫時不用的頁面置換到外存中。(頁面置換演算法下面有介紹)
請求分段儲存管理:建立在分段儲存管理之上,增加了請求調段功能、分段置換功能。請求分段儲存管理方式就如同請求分頁儲存管理方式一樣,在作業開始執行之前,僅裝入當前要執行的部分段即可執行;在執行過程中,可使用請求調入中斷動態裝入要訪問但又不在記憶體的程式段;當記憶體空間已滿,而又需要裝入新的段時,根據置換功能適當調出某個段,以便騰出空間而裝入新的段。
首先看一下缺頁中斷的概念,缺頁中斷就是要訪問的頁不在主存,需要作業系統將其調入主存後再進行訪問。當發生缺頁中斷時,如果當前記憶體中並沒有空閒的頁面,作業系統就必須在記憶體選擇乙個頁面將其移出記憶體,以便為即將調入的頁面讓出空間。用來選擇淘汰哪一頁的規則叫做頁面置換演算法,我們可以把頁面置換演算法看成是淘汰頁面的規則。
作業系統之虛擬記憶體
文章開頭,我們先來介紹一下幾種常見的記憶體管理機制 簡單分為連續分配管理方式和非連續分配管理方式這兩種。塊式管理 遠古時代的計算機操系統的記憶體管理方式。將記憶體分為幾個固定大小的塊,每個塊中只包含乙個程序。如果程式執行需要記憶體的話,作業系統就分配給它一塊,如果程式執行只需要很小的空間的話,分配的...
作業系統 虛擬記憶體
1.虛擬記憶體術語 虛擬記憶體 程式引用記憶體使用位址與記憶體系統用於識別物理儲存站點的位址是不同的,程式生成的位址會自動轉換成機器指令。虛擬記憶體的大小收到定址機制和可用的備用記憶體量的限制,而不受記憶體儲存位置實際數量的限制。虛擬位址 在虛擬記憶體中分配給某一位置的位址使該位置可以被訪問,彷彿它...
作業系統虛擬記憶體
虛擬記憶體是計算機作業系統提供的一種記憶體管理技術,它使得應用程式認為它擁有連續可用的記憶體 乙個連續完整的位址空間 而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。與沒有使用虛擬記憶體技術的系統相比,使用這種技術的系統使得大型程式的編寫變得更...