作業系統 物理記憶體和虛擬記憶體

2021-09-22 20:27:19 字數 613 閱讀 3997

正在執行的乙個程序,他所需的記憶體是有可能大於記憶體條容量之和的,比如你的記憶體條是256m,你的程式卻要建立乙個2g的資料區,那麼不是所有資料都能一起載入到記憶體(物理記憶體)中,勢必有一部分資料要放到其他介質中(比如硬碟),待程序需要訪問那部分資料時,在通過排程進入物理記憶體。所以,虛擬記憶體是程序執行時所有記憶體空間的總和,並且可能有一部分不在物理記憶體中,而物理記憶體就是我們平時所了解的記憶體條。有的地方呢,也叫這個虛擬記憶體為記憶體交換區。

linux下虛擬記憶體的結構圖:

以32位機為例,我們上圖看到的程序虛擬儲存器占用3g虛擬記憶體空間,核心虛擬儲存器占用1g的虛擬記憶體空間

下面我們來解答這個問題:

假設你的計算機是32位,那麼它的位址匯流排是32位的,也就是它可以定址0~0xffffffff(4g)的位址空間,但如果你的計算機只有256m的物理記憶體0x~0x0fffffff(256m),同時你的程序產生了乙個不在這256m位址空間中的位址,那麼計算機該如何處理呢?

作業系統的分頁機制完成,頁表,頁幀,偏移位址

虛擬位址        mmu**化成)     實體地址

作業系統 物理記憶體與虛擬記憶體

概念解析 物理記憶體,在應用中,自然是顧名思義,物理上,真實的插在板子上的記憶體是多大就是多大了。而在cpu中的概念,物理記憶體就是cpu的位址線可以直接進行定址的記憶體空間大小。比如8086只有20根位址線,那麼它的定址空間就是1mb,我們就說8086能支援1mb的物理記憶體,及時我們安裝了128...

作業系統 虛擬記憶體

1.虛擬記憶體術語 虛擬記憶體 程式引用記憶體使用位址與記憶體系統用於識別物理儲存站點的位址是不同的,程式生成的位址會自動轉換成機器指令。虛擬記憶體的大小收到定址機制和可用的備用記憶體量的限制,而不受記憶體儲存位置實際數量的限制。虛擬位址 在虛擬記憶體中分配給某一位置的位址使該位置可以被訪問,彷彿它...

作業系統虛擬記憶體

虛擬記憶體是計算機作業系統提供的一種記憶體管理技術,它使得應用程式認為它擁有連續可用的記憶體 乙個連續完整的位址空間 而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。與沒有使用虛擬記憶體技術的系統相比,使用這種技術的系統使得大型程式的編寫變得更...