Windows下虛擬記憶體

來源:互聯網
上載者:User

一、實體儲存體器和地址空間

實體儲存體器和儲存地址空間是兩個不同的概念。但是由於這兩者有十分密切的關係,而且兩者都用B、KB、MB、GB來度量其容量大小,因此容易產生認識上的混淆。初學者弄清這兩個不同的概念,有助於進一步認識主儲存空間和用好主儲存空間。

實體儲存體器是指實際存在的具體儲存空間晶片。如主板上裝插的主存條和裝載有系統的BIOS的ROM晶片,顯示卡上的顯示RAM晶片和裝載顯示BIOS的ROM晶片,以及各種適配卡上的RAM晶片和ROM晶片都是實體儲存體器。

儲存地址空間是指對儲存空間編碼(編碼地址)的範圍。所謂編碼就是對每一個實體儲存體單元(一個位元組)分配一個號碼,通常叫作“編址”。分配一個號碼給一個儲存單元的目的是為了便於找到它,完成資料的讀寫,這就是所謂的“定址”(所以,有人也把地址空間稱為定址空間)。

地址空間的大小和實體儲存體器的大小並不一定相等。舉個例子來說明這個問題:某層樓共有17個房間,其編號為801~817。這17個房間是物理的,而其地址空間採用了三位編碼,其範圍是800~899共100個地址,可見地址空間是大於實際房間數量的。

對於386以上檔次的微機,其地址匯流排為32位,因此地址空間可達2的23次方,即4GB。但實際上我們所配置的實體儲存體器通常只有1MB、2MB、4MB、8MB、16MB、32MB等,遠小於地址空間所允許的範圍。

二、儲存空間映射、儲存空間重新對應、記憶體映射、地址映射、地址轉換等電腦專業名詞詳解

電腦技術源於西方,而西方乃至當今世界最通用的語言是英語,所以很多專業名詞也都是英語詞彙,而中國人想要跟上時代學習電腦、使用電腦就勢必要向西方人學習、學習英語、學習英語技術資料、翻譯英語技術資料,可是經過學習、翻譯後的結果就是很多英文專業名詞被翻譯成不同的中文意思在不同的資料、教材上出現(如Memory
Map,被翻譯成儲存空間映射、記憶體映射、地址映射等等),造成大家在看這些資料、教材的時候不知所措,一片茫然,到底是什麼意思?所以今天我就根據自己的見解把上面這幾個容易產生混淆的專業詞彙集中介紹一下。

一、儲存空間映射、記憶體映射、地址映射

在開始之前首先大家要明白映射的意思,映射就是一一對應的意思,重新對應就是重新分配這種一一對應的關係。

Memory Map(可以被翻譯為儲存空間映射、記憶體映射有時也叫地址映射(Address Map))

電腦最重要的功能單元之一是Memory,memory是眾多儲存單元的集合,為了使CPU準確地找到儲存有某個資訊的儲存單元,必須為這些單元分配一個相互區別的編號,這個編號就是地址編碼。在嵌入式處理器內,整合了多種類型的Memory,通常我們稱同一類型的Memory為一個Memory Block,一般情況下,處理器設計者會為每一個memory block分配一個數值連續、數目與其儲存單元數相等、以16進位表示的自然數集合作為該memory
block的地址編碼。這種自然數集合與memory block的對應關係就是Memory Map(儲存空間映射、記憶體映射),有時也叫地址映射(Address Map)。在這裡需要強調的是memory Map是一個邏輯概念,是在電腦系統在(上電)複位後才建立起來的。Memory Map相當於這樣一個函數:函數的輸入量是地址編碼,輸出量是被定址單元中的資料。當電腦系統掉電後或複位時,這個函數就不複存在,只剩下實現這個函數的物理基礎——電路串連。也可以這樣認為:Memory Map是電腦系統上電(複位)時的預備動作,是一個將CPU所擁有的地址編碼資源向系統內各個實體儲存體器塊分配的自動過程。

二、儲存空間重新對應、記憶體重新對應、地址重新對應

Memory Remap(儲存空間重新對應、記憶體重新對應、地址重新對應)

Memory Remap是與電腦異常(中斷)處理機制機緊密相關的。完整的電腦系統必須具備異常(中斷)處理能力。當異常(中斷)產生時,CPU在硬體驅動機制下跳轉到預先設定的儲存空間單元中,取出相應的例外處理常式的入口地址,並根據這個地址進入例外處理常式。這個儲存有異常程式入口地址的儲存空間單元就是通常所說的“異常入口”。CPU設計人員為了簡化晶片設計,一般將所有的異常入口集中起來置於非易失性儲存空間中,並在系統上電時映射到一個固定的連續的地址空間上。位於這個地址空間上的異常入口集合就是“異常向量表”。

 Memory Remap是對此前已確立的Memory Map的再次修改,從本質上講,兩者是一樣的,都是將地址編碼資源分派給儲存空間塊,只不過二者產生的時間不同。

Remap技術的引入是為了提高系統對異常的即時響應能力,也就是解決低速非易失性儲存空間與高速CPU之間通訊的問題。

完整的Memory Remap過程通常始於bootload過程,具體的執行過程為:bootload將非易失性儲存空間中的異常向量複製到高速易失性儲存空間塊的一端,然後執行Memory Remap命令,將位於高速易失性儲存空間中的異常向量區塊對應到異常向量表地址空間上,此後,系統若產生異常,CPU將從已映射到異常向量表地址空間的高速易失性儲存空間中讀取向量。典型的boot、Memory Map、Memory Remap時間順序應該是:Memory
Map——boot——Memory Remap。

三、作業系統中的地址轉換(有些地方也稱地址映射、記憶體映射)

1、物理地址

記憶體中的每個單元都有一個唯一的編號,這種編號成為記憶體位址(也就是物理地址、絕對位址),記憶體位址的集合稱為記憶體空間(或物理地址空間)。

2、邏輯地址

來源程式經過彙編或編譯後形成目標程式,目標程式中的地址稱為邏輯地址(相對位址),並且每個目標程式都是從0地址開始編址的。

3、地址轉換

將使用者程式中的指令或資料的邏輯地址轉換為儲存空間中物理地址的工作稱為地址轉換或重定位(有些地方稱做地址映射、記憶體映射)。這個過程一般由記憶體管理單元(MMU)來完成。地址轉換有兩種方法:靜態重定位、動態重定位。

     小結:由於不同的翻譯造成意思混淆或者不同的地方使用相同的專業詞彙,使讀者不能明白一些專業詞彙到底什麼意思,增加了學習的難度,所以在這裡寫下這篇文章,表達自己的拙見,希望大家多多指點,另外也希望能夠統一專業詞彙的意思,使大家學習起來不再這麼迷惑。

參考自:http://blog.csdn.net/songjinshi/article/details/6760708

  http://www.cnblogs.com/mydomain/archive/2011/01/07/1930404.html

 

相關文章

聯繫我們

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