轉寄: windows如何管理記憶體

來源:互聯網
上載者:User

標籤:物理地址   相同   計算   主板   編程   代碼   不用   str   虛擬   

(1)有三種方法:虛擬記憶體,記憶體對應檔,記憶體堆棧。

虛擬記憶體是將頁檔案載入到記憶體,適用於比較大的對象或結構;

記憶體對應檔是將磁碟上檔案載入到記憶體,適用於大檔案和單機的進程間記憶體共用;

堆棧就是動態分配記憶體,適用於小對象的建立。

這些在windows核心編程中都描述得很詳細的。

(2)當進程要讀自己的虛擬位址空間中的資料時:

if(資料在實體記憶體中)
{
虛擬位址轉換成物理地址
讀資料
}
else
{
if(資料在磁碟中)
{
if(實體記憶體還有空閑)
{
把資料從磁碟中讀到實體記憶體
虛擬位址轉換成物理地址
讀資料
}
else
{
把實體記憶體中某頁的資料存入磁碟
把要讀的資料從磁碟讀到該頁的實體記憶體中
虛擬位址轉換成物理地址
讀資料
}
}
else
{
報錯
}
}

(3)當程式運行時需要從記憶體中讀出這段程式的代碼。

代碼的位置必須在實體記憶體中才能被運行,由於現在的作業系統中有非常多的程式運行著,記憶體中不能夠完全放下,所以引出了虛擬記憶體的概念。把哪些不常用的程式片斷就放入虛擬記憶體,當需要用到它的時候在load入主存(實體記憶體)中。這個就是記憶體管理所要做的事。記憶體管理還有另外一件事需要做:計算程式片段在主存中的物理位置,以便CPU調度。

記憶體管理有塊式管理,頁式管理,鍛式和鍛頁式管理。現在常用事鍛頁式管理 塊式管理:把主存分為一大塊、一大塊的,當所需的程式片斷不在主存時就分配一塊主存空間,把程 序片斷load入主存,就算所需的程式片度只有幾個位元組也只能把這一塊分配給它。這樣會造成很大的浪費,平均浪費了50%的記憶體空間,但時易於管理。

頁式管理:把主存分為一頁一頁的,每一頁的空間要比一塊一塊的空間小很多,顯然這種方法的空間利用率要比塊式管理高很多。

段式管理:把主存分為一段一段的,每一段的空間又要比一頁一頁的空間小很多,這種方法在空間利用率上又比頁式管理高很多,但是也有另外一個缺點。一個程式片斷可能會被分為幾十段,這樣很多時間就會被浪費在計算每一段的物理地址上(電腦最耗時間的大家都知道是I/O吧)。

鍛頁式管理:結合了段式管理和頁式管理的優點。把主存分為若干頁,每一頁又分為若干段。好處就很明顯,不用我多說了吧。

各種記憶體管理都有它自己的方法來計算出程式片斷在主存中的物理地址,其實都很相似。

虛擬記憶體:

1)對電腦而言,實體記憶體的大小即主板上插著的記憶體條的大小;對CPU而言,的實體記憶體的大小即CPU上地址線可定址的大小。

2)虛擬記憶體即某個程式運行時所建立的資料區,它的大小可能大於實體記憶體,它是一種記憶體管理上的抽象。

3)由於虛擬記憶體很可能大於實體記憶體,所以作業系統使用一種記憶體分頁機制,將虛擬記憶體分成多個頁(page),將實體記憶體分成多個頁幀(page frame),頁和頁幀的大小相同。現使用的虛擬記憶體頁將會通過頁表(page table)映射到實體記憶體頁幀上,顯然即時映射的範圍最大隻能是實體記憶體的大小範圍。如果現需使用的某個虛擬記憶體頁沒有處於這個映射當中,則作業系統使某個使用較少的頁幀失效,並將該頁幀的內容存入其他媒介當中(比如磁碟),然後在該頁幀的實體記憶體和需要空間的虛擬記憶體頁映射起來。

4)虛擬記憶體地址由頁號(與頁表中的頁號關聯)和位移量組成。

轉寄: windows如何管理記憶體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.