1. 程式人生 > >虛擬記憶體,虛擬記憶體地址,實體記憶體,實體記憶體地址

虛擬記憶體,虛擬記憶體地址,實體記憶體,實體記憶體地址

計算機會對虛擬記憶體地址空間(32位為4G)分頁產生頁(page),對實體記憶體地址空間(假設256M)分頁產生頁幀(page frame),這個頁和頁幀的大小是一樣大的,所以呢,在這裡,虛擬記憶體頁的個數勢必要大於實體記憶體頁幀的個數。在計算機上有一個頁表(page table),就是對映虛擬記憶體頁到實體記憶體頁的,更確切的說是頁號到頁幀號的對映,而且是一對一的對映。但是問題來了,虛擬記憶體頁的個數 > 實體記憶體頁幀的個數,豈不是有些虛擬記憶體頁的地址永遠沒有對應的實體記憶體地址空間?不是的,作業系統是這樣處理的。作業系統有個頁面失效(page fault)功能。作業系統找到一個最少使用的頁幀,讓他失效,並把它寫入磁碟,隨後把需要訪問的頁放到頁幀中,並修改頁表中的對映,這樣就保證所有的頁都有被排程的可能了。這就是處理虛擬記憶體地址到實體記憶體的步驟。