作業系統為了讓使用者使用,進行分段,但是效率不行,所以引出了分頁,後來應該分段也應該分頁,所以使用了虛擬記憶體,分段分頁的核心就是虛擬記憶體,而要實現虛擬記憶體,就需要進行記憶體的換入和換出
在使用者眼中0-4g就是特別大的記憶體,相當於乙個倉庫,在倉庫裡有各種貨,而物理記憶體相當於店面,店面小只能擺一些貨,當有人需要貨a,就從倉庫裡取(虛擬記憶體)放到櫃檯上(物理記憶體),有人需要貨b,貨a放回倉庫,在從倉庫裡取貨b放到櫃檯上,只要速度足夠的快,櫃檯上就一直都有你想要的貨
當程式訪問位址,看頁表發現缺頁,說明一段**沒有在頁表中,不能取指執行,所以一缺頁程式就不能執行下去,需要調頁,此時進行中斷,先執行其他的程序
產生了中斷,就要執行中斷處理程式,也就是頁錯誤處理程式
頁錯誤處理程式需要到磁碟中找到這一頁程式,使用某個演算法
找到之後需要在物理記憶體中找乙個空閒頁,需要把這一頁從磁碟上讀進來,這就是請求調頁,換入,已經從磁碟上換入了
接下來把這個對映做好,對應的頁表中,此時中斷處理結束,
繼續執行中斷那個時候發生的指令,從使用者的角度來看,好像什麼事都沒有發生過
例題
作業系統記憶體管理
作業系統記憶體管理 一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於32位程序來說,這個位址空間為4g,因此程序中的位址可以為0x00000000至0xffffffff之間的任何乙個值。其中4g空間中的低區的2g空間留給程序使用,而高區的2g空間則留給系統使用。在windows200...
作業系統記憶體管理
作業系統記憶體管理一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於 32位程序來說,這個位址空間為 4g,因此程序中的位址可以為 0x00000000 至0xffffffff 之間的任何乙個值。其中 4g空間中的低區的 2g空間留給程序使用,而高區的 2g空間則留給系統使用。在win...
作業系統記憶體管理
記憶體,毫無疑問是最重要的資源,顯然,作業系統對記憶體的管理我必須清楚。這裡主要介紹了分頁管理和分段管理。1.頁式管理 a.頁式管理的基本思想 打破儲存分配的連續性 將邏輯上連續的使用者程式對映到離散的記憶體塊 使用者程式與記憶體空間被劃分為若干等長的區域 邏輯頁 與 物理頁 使用者程式的劃分由系統...