虛擬記憶體 讀作業系統概念第六版

來源:互聯網
上載者:User

 虛擬記憶體技術允許進程的執行不必完全在記憶體中。這種方案的一個很大的優點就是程式可以比實體記憶體大。而且,虛擬記憶體將記憶體抽象成一個巨大的、統一的儲存數組,進而將使用者看到的邏輯記憶體與實體記憶體分開。這種技術允許程式員不受記憶體儲存的限制。虛擬記憶體也允許進程很容易地共用檔案和地址空間。

 

程式通常有處理異常錯誤條件的代碼。由於這些錯誤即使有也是很少發生,所以這種代碼幾乎不執行。

數組、鏈表和表通常分配了比實際所需要更多的記憶體。聲明一個有100*100個元素的數組,可能實際使用的只是10*10個元素。雖然組譯工具系統資料表可能有2000個符號空間,但是程式平均可能用到的只有的只有不到200個符號。

程式的某些選項或特點可能很少使用。

即使在需要完整程式時,並不是同時都需要所有的程式。

 

能夠執行只有部分在記憶體中的程式會有很多好處。

程式不再受現有的實體記憶體空間限制。使用者可以為一個巨大的虛擬位址空間寫程式,簡化編程操作。

因為每個使用者程式使用了更少的實體記憶體,所以更多的程式可以同時執行,CPU使用率也相應地增加,而回應時間或周轉時間並不增加。

由於裝入或交換每個使用者程式到記憶體中所需的I/O會更少,使用者程式會啟動並執行更快。

因此,運行一個部分在記憶體中的程式不但有利於系統也有利於使用者。

 

虛擬記憶體將使用者邏輯記憶體與實體記憶體分開。這在現有實體記憶體有限的情況下,為程式員提供了巨大的虛擬記憶體。虛擬記憶體是編程更加容易,因此程式員不再需要擔心有限的實體記憶體空間或究竟那些代碼需要覆蓋;他只需要關注所要解決的問題。

 

虛擬記憶體通常採用請求頁面調度來實現。它也可以在分段系統上實現。多個系統採用了分段加分頁的方案,這裡段被進一步分頁。因此,使用者觀點是分段,而作業系統可以通過請求頁面調度實現這一觀點。請求分段調度也可用來實現虛擬記憶體。不過,由於段是不定長的,段置換演算法要比頁置換演算法複雜得多。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.