虛擬存儲器是由硬件和操作系統(tǒng)自動實現(xiàn)存儲信息調(diào)度和管理的。它的工作過程包括6個步驟:
、僦醒胩幚砥髟L問主存的邏輯地址分解成組號a和組內(nèi)地址b,并對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內(nèi)。
、谌缭摻M號已在主存內(nèi),則轉(zhuǎn)而執(zhí)行④;如果該組號不在主存內(nèi),則檢查主存中是否有空閑區(qū),如果沒有,便將某個暫時不用的組調(diào)出送往輔存,以便將這組信息調(diào)入主存。
、蹚妮o存讀出所要的組,并送到主存空閑區(qū),然后將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
、軓牡刂纷儞Q表讀出與邏輯組號a對應(yīng)的物理組號a。
、輳奈锢斫M號a和組內(nèi)字節(jié)地址b得到物理地址。
、薷鶕(jù)物理地址從主存中存取必要的信息。
調(diào)度方式有分頁式、段式、段頁式3種。
1、頁式調(diào)度
頁式調(diào)度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調(diào)度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,并可據(jù)表一一對應(yīng)檢索。頁式調(diào)度的優(yōu)點是頁內(nèi)零頭小,頁表對程序員來說是透明的,地址變換快,調(diào)入操作簡單;缺點是各頁不是程序的獨立模塊,不便于實現(xiàn)程序和數(shù)據(jù)的保護。
2、段式調(diào)度
段式調(diào)度是按程序的邏輯結(jié)構(gòu)劃分地址空間,段的長度是隨意的,并且允許伸長,它的優(yōu)點是消除了內(nèi)存零頭,易于實現(xiàn)存儲保護,便于程序動態(tài)裝配;缺點是調(diào)入操作復(fù)雜。
3、段頁式調(diào)度