虛擬位址和實體地址之間的對映關係

2021-10-23 15:35:05 字數 665 閱讀 5644

1、虛擬位址和實體地址之間的對映是以頁(4kb)為單位進行對映的;

2、每乙個程序中都有乙個程序控制塊(pcb),裡面包含了一些程序的資訊(頁目錄,狀態,控制代碼表,id,pid……);

3、對映過程(32位系統下):

首先pcb中有乙個指向一級分頁表的指標,每乙個頁表的大小均為4096b(4kb),可以儲存1024個位址。其中一級頁表中每乙個位址對應著乙個二級頁表的首位址,二級頁表中也儲存著1024個位址,其中每個位址分別對應著物理記憶體上面的每乙個頁的首位址。這樣一來,虛擬位址空間所能夠訪問的位址有1024 * 1024 * 4096b = 2^32b = 4gb;正好是4g。perfect!!!!

我們知道程序的虛擬位址稱為線性位址,每乙個線性位址都由第一級頁表、第二級頁表以及該位址相對於該頁首位址的偏移量三部分組成,即10-10-12的形式:如圖2

虛擬位址和實體地址及其對映

原文 前一段時間在面試總監的時候,總監問了我這樣的乙個問題 你個我說說物理記憶體和虛擬記憶體到底是怎麼一回事?其實之前我看過這個問題,據我理解的,當時是這麼回答的 程序在執行的時候,作業系統都為其分配乙個4gb的位址空間,即所謂的虛擬位址空間,一般情況下,當我們的程式很大的時候,實際的物理記憶體根本...

虛擬位址和實體地址及其對映

其實之前我看過這個問題,據我理解的,當時是這麼回答的 程序在執行的時候,作業系統都為其分配乙個4gb的位址空間,即所謂的虛擬位址空間,一般情況下,當我們的程式很大的時候,實際的物理記憶體根本不能滿足我們的需求的時候,這個時候作業系統就會借助磁碟空間來做虛擬的記憶體空間,把當前程序不需要的資料放在磁碟...

虛擬位址與實體地址的對映

對於dsp的每個cpu而言,當由cpu發起的對corepac內部記憶體 l1,l2記憶體,片上暫存器位址 的訪問 通過store或load指令 時,所訪問記憶體的位址就是實體地址 但當cpu訪問corepac外部的記憶體 如msm,即多核共享記憶體或ddr 時,cpu所訪問的32位位址就是虛擬位址了...