19、深入理解電腦系統筆記,虛擬儲存空間,基本原理(1)

來源:互聯網
上載者:User

1、一個系統中的進程是與其他進程共用CPU和主存資源的。

2、虛擬儲存空間(Virtual Memory),是硬體異常,硬體地址翻譯,主存,磁碟檔案和核心軟體的完善互動,它為每個進程提供一個大的,一致的,私人地址空間。通過一個清晰的機制,虛擬儲存空間提供了三個要重的能力:它將主存看成是一個儲存在磁碟上的地址空間的快取,在主存中只儲存即時區域,並根據需要在磁碟和主存之間來回傳送資料,通過這種方式,它高效的利用了主存;它為每個進程提供了一致的地址空間,從而簡化了儲存空間管理;它保護每個進程的地址空間不被其他進程破壞。

3、物理和虛擬定址

電腦系統的主存被組織成一個由M個連續的位元組大小的單元組成的數組。每位元組都有一個惟一的物理地址(physical address,PA)。第一個位元組地址是0,接下來的位元組地址為1,...

早期的PC使用物理定址,而且諸如數位訊號處理器,嵌入式微控制器以及Cray超級電腦這樣的系統仍然繼續使用這種定址方式。而為通用電腦設計師的現代處理器使用的是虛擬定址(virtual addressing)。

    MMU(memory management unit,儲存空間嵌入式管理單元),利用存放在主存中的查詢表來動態翻譯虛擬位址,該表的內容由OS管理。

4、地址空間

地址空間為非負整數地址的有序集合:{0,1,2,...}

如果地址是連續的,則稱為線性地址空間。如果電腦有n位地址匯流排,在一個帶有虛擬儲存空間的系統中,CPU從一個有N = 2n個地址的地址空間中產生虛擬位址,這個地址稱為虛擬位址空間:{0,1,2,...,N-1}

物理地址空間,與實體儲存體器的M個位元組相對應:{0,1,2,...M-1}

M不要求是2的冪。

允許每個資料對象(位元組)有多個獨立的地址(屬性),其中每個地址都選自一個不同的地址空間,就是虛擬位址的基本思想。主存中的每位元組都有一個選自虛擬位址空間的虛擬位址,和一個選自物理地址空間的物理地址。

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

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

在任意時刻,虛擬頁面的集合都分為三個不相交的子集:

未分配的:VM系統還未分配或建立的頁。未分配的塊沒有任何資料與它們相關聯,因此也就不佔用任何磁碟空間。

緩衝存:當前緩衝在實體儲存體器中的已指派頁。

未緩衝的:沒有緩衝在實體儲存體器中的已指派頁。

因為大的不命中處罰和訪問第一位元組的開銷,虛擬開銷趨向於很大,典型地是4~8KB。由於大的不命中處罰,DRAM緩衝是全相聯的。也就是說,任何虛擬儲存頁都可以放置在任何的物理頁中。DRAM緩衝總是使用寫回(write back)。

1)頁表

    存放在實體儲存體器一個資料結構,叫做頁表(page table)。頁表將虛擬頁映射到物理頁。

頁表就是一個PTE(page table entry,頁表條目)的數組。虛擬位址空間中的每個頁在頁表中的一個固定位移量處都有一個PTE。

NULL:未分配。

VP3,VP5:已指派,但是還未被緩衝。

VP1:已指派,已緩衝。

相關文章

聯繫我們

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