對虛擬位址的理解

2021-10-13 02:57:55 字數 811 閱讀 6963

產生原因

現狀位址翻譯

計算機中cpu和主存、記憶體和外部儲存之間存在巨大的鴻溝,而drm與磁碟之間與存在著大概1萬倍的差距,因此產生了高速緩衝儲存區和虛擬位址。

虛擬位址的產生是為了彌補drm與磁碟的差距。現在虛擬記憶體已經是計算機系統最重要的概念之一,它遍及計算機系統的所有層面,在硬體異常、彙編器、聯結器、載入器、共享物件、檔案和程序的設計中扮演著重要角色。它成功的乙個主要原因就是因為它是沉默的、自動工作,不需要應用程式設計師的任何干涉。

開始時,mmu從虛擬位址中抽出vpn,並且檢查tlb,看它是否因為前面的某個記憶體引用快取了pte的乙個副本。tlb從vpn中抽出相應的tlb索引和tlb標記,如果命中,將快取的ppn返回給mmu;如果不命中,那麼mmu就需要從主存中取出相應的pte。然後,mmu有了形成實體地址所需要的東西,它通過來自ppn和來自虛擬位址的vpo連線起來,這就形成了實體地址。

接下來,mmu傳送實體地址給快取,快取從實體地址中 抽出快取偏移co、快取組索引ci以及快取標記ct。

如果組標記和ct相匹配,會快取檢測到乙個命中,讀出在偏移量co處的資料位元組,並將它返回給mmu,隨後mmu將它傳遞歸cpu。

翻譯過程中其它路徑也是可能的。例如,如果tlb不命中,那麼mmu必須從頁表中的pte中取出ppn。如果得到的pte是無效的,那麼就產生乙個缺頁,核心必須調入合適的頁面,重新執行這條載入指令。

虛擬位址的理解

原文 http blog.csdn.net do2jiang article details 4690967 在進入正題前先來談談作業系統記憶體管理機制的發展歷程,了解這些有利於我們更好的理解目前作業系統的記憶體管理機制。一 早期的記憶體分配機制 在 早期的計算機中,要執行乙個程式,會把這些程式全都...

對虛擬位址空間對應實際實體地址的理解

在進入正題前先來談談作業系統記憶體管理機制的發展歷程,了解這些有利於我們更好的理解目前作業系統的記憶體管理機制。一 早期的記憶體分配機制 在 早期的計算機中,要執行乙個程式,會把這些程式全都裝入記憶體,程式都是直接執行在記憶體上的,也就是說程式中訪問的記憶體位址都是實際的物理記憶體位址。當計算機同時...

Tomcat虛擬位址

當不想把jsp程式 網頁等編寫的程式檔案部署在tomcat的根目錄下時,虛擬目錄是最好的選擇。虛擬目錄實際上是在伺服器上做乙個對映,把某個名稱命名的目錄指向另外乙個事實上存在的目錄,這樣可以增強安全性,訪問者並不清楚伺服器是否確實有無目錄,當伺服器某個盤中的空間不夠時,可以把程式部署到另乙個盤中做虛...