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

來源:互聯網
上載者:User

2)頁命中

3)缺頁

DRAM緩衝不命中稱為缺頁(page fault)。

VM page fault (before). The reference to a word in VP 3 is a miss and triggers a

page fault.

VM page fault (after). The page fault handler selects VP 4 as the victim and

replaces it with a copy of VP 3 from disk. After the page fault handler restarts the

faulting instruction, it will read the word from memory normally, without generating

an exception.

在虛擬儲存空間的習慣用法中,塊被稱為頁。在磁碟和儲存空間之間傳送頁面的活動收做交換(swapping)或者頁面調度(paging)。一直等待,直到最後時刻,也就是當有不命中發生時,才換入頁面的這種策略被稱為換需頁面調度(demand paging)。

4)分配頁面

Allocating a new virtual page. The kernel allocates VP 5 on disk and points PTE

5 to this new location.

6)利用unix的getrusage函數監測缺頁的數量。

6、虛擬儲存空間作為儲存空間管理的工具

OS為每個進程提供一個獨立的頁表,因而也就是一個獨立的虛擬位址空間。

How VM provides processes with separate address spaces. The operating maintains a

separate page table for each process in the system.

1)簡化連結

每個linux進程都使用示格式。

    使用者棧總是從虛擬位址0xbfffffff向下伸展。程式總是從虛擬位址0x08048000處開始,共用對象總是載入在從虛擬位址0x4000000處開始的地區。

2)簡化共用

一般,每個進程都有自己私人的代碼,資料,堆,棧地區,是不和其他進程共用頁面的。

然而,在一些情況下,還是需要進程來共用代碼,資料,如核心代碼,C的庫函數。OS通過將不同進程中適當的虛擬頁面映射到相同的物理頁面,從而安排多個進程共用這部分代碼的一個拷貝。

3)簡化儲存空間分配

當一個運行在使用者進程中的程式要額外堆空間時,OS分配一個適當數字,如k個連續的虛擬位址空間,並且將它們映射到實體儲存體器中任意位置的k個任意的物理頁面(不必要連續,可以是分散地分配)。

4)簡化載入

映射一個連續虛擬頁面的集合到任意一個檔案中的任意一個位置的概念叫做儲存空間映射(memory mapping)。

7、虛擬儲存空間作為儲存空間保護的工具

相關文章

聯繫我們

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