主存和聯機工作的輔存共同構成了虛擬儲存器,二者在硬體和系統軟體的共同管理下工作,對應用程式設計師來說,虛擬儲存器是透明的。
虛擬儲存器將主存或輔存的位址空間同一編址,形成乙個龐大的位址空間,不必在乎實際的主存容量和程式在主存中實際的位置
使用者程式設計允許涉及的位址稱為虛位址或邏輯位址,虛位址對應的儲存空間稱為虛擬空間或程式空間。實際的主存單元位址稱為實位址或實體地址,實位址對應的是主存位址空間,也稱實位址空間。虛位址比實位址大的多。
cpu使用虛位址時,由輔助硬體找出虛位址和實位址之間的對應關係,並判斷這個虛位址對應的儲存單元內容是否已裝入主存。
實位址=主存頁號+頁內字位址
虛位址=虛存頁號+頁內字位址
頁式虛擬儲存器
以頁為基本單位的虛擬儲存器稱為頁式虛擬儲存器。虛擬空間與主存空間都被劃分成同樣大小的頁,主存的頁被稱為實頁,虛存的頁被稱為虛頁。虛擬位址分為兩個字段:虛頁號和頁內位址。虛位址到實位址的變化由頁表來實現。頁表一般長久保留在記憶體中。
頁表基址暫存器存放當前執行程式的頁表的起始位址,它和虛頁號拼接成頁表項位址,每個頁表項紀錄與某個1虛頁對應的虛頁號,實頁號和裝入位等資訊。裝入位為「1」,則表示該頁面已在主存中,將對應的實頁號和虛位址中的頁內位址拼接,得到完整的實位址;裝入位為「0」,表示該頁面不在主存中,此時要啟動i/o系統,把該頁從輔存調入主存後再供cpu使用。
段式虛擬儲存器
段頁式虛擬儲存器
每乙個程式對應乙個段表,每段對應乙個頁表,段的長度必須是頁長的整數倍,段的起點必須是某一頁的起點。以頁為基本的傳送單位。
快表(tlb)
根據程式執行的區域性性原理,將經常訪問的某些頁對應的頁項放入高速緩衝器組成快表,相應的把存放在主存中的頁表稱為慢表(page)
虛擬儲存器
1 虛擬儲存器只是乙個容量非常大的儲存器的邏輯模型,不是任何實際的物理儲存器 2 它借助於磁碟等輔存來擴大主存的容量,使之為更大或更多的程式使用 3 程式的邏輯位址稱為虛擬位址 虛位址 程式的邏輯位址空間稱為虛擬位址空間 4 實體地址 實位址 由cpu位址引腳送出,是用於訪問主存的位址 5 設cpu...
虛擬儲存器
在系統中程序是與其它的程序共享cpu和主存資源的,程序太多就需要太多的儲存器,而且儲存器很容易受到破壞,如果某個程序不小心寫了另乙個程序使用的儲存器,它就會以 完全和程式邏輯無關的令人迷惑的方式失敗。位址空間。特點 1.主存看成是虛擬在磁碟上的位址空間 的快取記憶體,在主存裡只儲存活動區域。2.為每...
虛擬儲存器
1 常規儲存器管理方式的特徵 一次性 即作業在執行前需一次性地全部裝入記憶體。這會導致兩種情況的發生 當作業很大,所要求的記憶體空間超過了記憶體總容量,作業不能全部被裝入記憶體,致使該作業無法執行。在多道程式中,有多個作業要求執行,但由於記憶體容量不足以容納所有這些作業,只能將少數作業裝入記憶體讓它...