虛擬儲存器

2021-08-21 17:26:26 字數 1145 閱讀 9712

虛擬儲存器

位址空間

- ==頁命中==: 當cpu讀包含在vp2中的虛擬儲存器的乙個字時,位址翻譯硬體將虛擬位址作為乙個索引定位pte2,並從儲存器中讀取它.==因為有效位為1==,所以位址翻譯硬體就知道vp2是快取在物理儲存器中的了。所以,它可以直接使用pte中的物理儲存器位址,構造出這個字的實體地址。

- ==缺頁==:dram快取不命中稱為缺頁。當cpu引用虛擬儲存器中的乙個字,位址翻譯硬體從儲存器讀取對應pte發現其有效位為0時,觸發缺頁異常。

- 該程式會選擇乙個犧牲頁,如果該犧牲頁被修改,則先將其拷貝回磁碟。接下來,核心從磁碟==拷貝所缺頁到物理儲存器==,更新對應pte,隨後返回。當異常處理程式返回時,它會重新啟動導致缺頁的指令。因為之前所缺頁已經被快取進物理儲存器,所以==這次會頁命中==。

個人理解:

物理儲存器dram作為磁碟的快取記憶體。

物理儲存器的大小是有限的,被劃分成乙個乙個塊通常叫做頁。

每乙個頁在物理儲存器當中有唯一的標號(實體地址)標識。

虛擬儲存器是乙個概念上的連續位元組的陣列每個位元組都有乙個唯一的虛擬位址。

虛擬儲存器分割成虛擬頁的大小固定的塊進行管理。

物理儲存器的頁和虛擬頁大小一致一一對應。

通過頁表將虛擬儲存器的頁和物理儲存器的頁對應翻譯。

如果虛擬位址對應的頁在頁表當中有實體地址的對映說明已經被載入到物理儲存器直接就可以翻譯--

-稱為頁命中。

如果虛擬位址對應的頁在頁表當中沒有被標識在物理儲存器內存在,說明物理儲存器沒有載入這乙個頁。

就需要從物理儲存器選擇乙個犧牲頁。

先看犧牲頁的內容有沒有被修改如果被修改了就需要先將這個頁的內容重新寫入磁碟。

再將需要的那頁載入到這個犧牲頁的位置,這樣在物理儲存器內就有我們需要的頁。

這樣就可以進行虛擬位址到實體地址的轉換。

下回再需要剛才被換出的犧牲頁就進行類似的換出換入操作。

所以不命中的開銷大,因為不命中導致換入換出的操作效率很低。

虛擬儲存器簡化了鏈結,載入,**和資料共享。

位址翻譯

虛擬儲存器

1 虛擬儲存器只是乙個容量非常大的儲存器的邏輯模型,不是任何實際的物理儲存器 2 它借助於磁碟等輔存來擴大主存的容量,使之為更大或更多的程式使用 3 程式的邏輯位址稱為虛擬位址 虛位址 程式的邏輯位址空間稱為虛擬位址空間 4 實體地址 實位址 由cpu位址引腳送出,是用於訪問主存的位址 5 設cpu...

虛擬儲存器

在系統中程序是與其它的程序共享cpu和主存資源的,程序太多就需要太多的儲存器,而且儲存器很容易受到破壞,如果某個程序不小心寫了另乙個程序使用的儲存器,它就會以 完全和程式邏輯無關的令人迷惑的方式失敗。位址空間。特點 1.主存看成是虛擬在磁碟上的位址空間 的快取記憶體,在主存裡只儲存活動區域。2.為每...

虛擬儲存器

1 常規儲存器管理方式的特徵 一次性 即作業在執行前需一次性地全部裝入記憶體。這會導致兩種情況的發生 當作業很大,所要求的記憶體空間超過了記憶體總容量,作業不能全部被裝入記憶體,致使該作業無法執行。在多道程式中,有多個作業要求執行,但由於記憶體容量不足以容納所有這些作業,只能將少數作業裝入記憶體讓它...