linux實體地址和虛擬位址定義

2021-07-31 14:54:16 字數 480 閱讀 5867

線性位址(linear address)

是邏輯位址到物理位址變換之間的中間層

如果啟用了分頁機制,那麼線性位址可以再經過變換以產生乙個實體地址;如果沒有啟用分頁機制,那麼線性位址直接就是實體地址

分頁管理

cpu的頁式記憶體管理單元,負責把乙個線性位址,最終翻譯為乙個實體地址

例如乙個32位的機器,線性位址最大可為4g,可以用4kb為乙個頁來劃分

實體地址(physical address)

在儲存器裡以位元組為單位儲存資訊,為正確地存放或取得資訊,每乙個位元組單元給以乙個唯一的儲存器位址

虛擬記憶體

應用程式擁有的記憶體

linux 0.11核心中,給每個程式都劃分了總容量64mb的虛擬記憶體

因此程式的邏輯位址範圍是0x0000000到0x4000000

實體地址和邏輯位址(虛擬位址)

1.實體地址 實體地址是載入到記憶體位址暫存器中的位址,是指記憶體中各物理儲存單元的位址從統一的基位址進行的順序編址。又稱絕對位址,它是資料在記憶體單元的真正位址。在前端匯流排上傳輸的記憶體位址都是物理記憶體位址,編號從0開始一直到可用物理記憶體的最高端。這些數字被北橋 nortbridge chi...

虛擬位址與實體地址

乙個程式編譯連線後形成的位址空間是乙個虛擬位址空間,但是程式最終還是要執行在物理記憶體中。因此,應用程式所給出的任何虛位址最終必須被轉化為實體地址,所以,虛擬位址空間必須被對映到物理記憶體空間中,這個對映關係需要通過硬體體系結構所規定的資料結構來建立。這就是我們所說的段描述符表和頁表,linux主要...

邏輯位址 實體地址 虛擬位址

用於記憶體晶元級的單元定址,與處理器和cpu連線的位址匯流排相對應。雖然可以直接把實體地址理解成插在機器上那根記憶體本身,把記憶體看成乙個從0位元組一直到最大空量逐字節的編號的大陣列,然後把這個陣列叫做實體地址,但是事實上,這只是乙個硬體提供給軟體的抽像,記憶體的定址方式並不是這樣。所以,說它是 與...