深入理解電腦系統(虛擬儲存空間)

來源:互聯網
上載者:User

標籤:

       虛擬儲存空間是硬體異常、硬體地址翻譯、主存、磁碟檔案和核心軟體的完美互動,他為每個進程提供了一個大的、一致的和私人的地址空間。

        虛擬儲存空間提供了三個重要的能力:

         1)它將主存看成是一個儲存在磁碟上的地址空間的快取,在主存中只儲存即時區域,並根據需要在磁碟和主存之間來回傳送資料,通過這種方式,它高效的使用了主存。

         2)它為每個進程提供了一致的地址空間,從而簡化了儲存空間管理。

         3)它保護了每個進程的地址空間不被其他進程破壞。

       程式員為什麼需要理解虛擬儲存空間?

       虛擬儲存空間是中心的。虛擬儲存空間是強大的。虛擬儲存空間是危險的。

物理和虛擬定址

        電腦系統的主存被組織成一個由M個連續的位元組大小的單元組成的數組。每位元組都有一個唯一的物理地址(Physical Address,PA)。CPU訪問儲存空間的最自然的方式就是使用 物理地址。我們把這種方式稱為物理定址(physical addressing)。

        早期的PC機使用物理定址。現代處理器使用的是一種稱為虛擬定址的定址形式 。

        使用虛擬定址時,CPU通過產生一個虛擬位址來訪問主存,這個虛擬位址再被送到儲存空間之前先轉換成適當的物理地址。將一個虛擬位址轉換為物理地址的任務叫做地址翻譯。就像異常處理一樣,地址翻譯需要CPU硬體和作業系統之間的緊密合作。CPU晶片上叫做儲存空間嵌入式管理單元的專用硬體,利用存放在主存中的查詢表來動態翻譯虛擬位址,該表的內容是由 作業系統管理的。

地址空間

            地址空間是一個非負整數地址的有序集合:{0,1,2,...}如果地址空間中的整數是連續的,那麼我們說它是一個線性地址空間。為了簡化討論,我們總是假設使用的是線性地址空間。在一個帶虛擬儲存空間的系統中,CPU從一個有N=2^n個地址的地址空間中產生虛擬位址,這個地址空間稱為虛擬位址空間:{0,1,2,...,N-1},一個地址空間的大小是由表示最大地址所需要的位元來描述的。例如,一個包含N=2^n個地址的虛擬位址空間就叫做一個n位地址空間。現代系統典型的支援32位或者64位虛擬位址空間。

            一個系統還有一個物理地址空間 ,它與系統中實體儲存體器的M個位元組相對應:{0,1,2,...,M-1},M不要求是2的冪,但是為了簡化討論,我們假設M=2^m。

            地址空間的概念是很重要的,因為它清楚地區分了資料對象(位元組)和它們的屬性(地址)。一旦認識到了這種區別,那麼我們就可以將其推廣,允許每個資料對象有多個獨立的地址,其中每個地址都選自一個不同的地址空間。這就是虛擬儲存空間的基本思想。主存中的每個位元組都有一個選自虛擬位址空間的虛擬位址和一個選自物理地址空間的物理地址。

虛擬儲存空間作為緩衝的工具

            概念上而言,虛擬儲存空間被組織為一個由存放在磁碟上的N個連續的位元組帶下的單元組成的數組。每位元組都有一個唯一的虛擬位址,這個唯一的虛擬位址是作為到數組的索引的。磁碟上數組的內容被緩衝在主存中。和儲存空間階層中的其他緩衝一樣,磁碟上的資料被分割成塊,這些塊作為磁碟和主存之間的傳輸單元。VM系統通過將虛擬儲存空間分割為稱為虛擬頁的大小固定塊來處理這個問題。每個虛擬頁的大小為P=2^p位元組。類似的,實體儲存體器被分割為物理頁,大小也為P位元組(物理頁也稱為頁幀)。

DRAM緩衝的組織圖

            為了有助於清晰的理解儲存層次結構中不同的緩衝概念,我們將使用術語SRAM緩衝來表示位於CPU和主存之間的L1、L2和L3快取,並用術語DRAM緩衝來表示虛擬儲存空間系統的緩衝,它在主存中緩衝虛擬頁。

            

           

深入理解電腦系統(虛擬儲存空間)

聯繫我們

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