【操作系统】实验 模拟操作系统的存储系统
生活随笔
收集整理的這篇文章主要介紹了
【操作系统】实验 模拟操作系统的存储系统
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
模擬分頁式存儲管理中硬件的地址轉(zhuǎn)換和產(chǎn)生缺頁中斷
(1)分頁式虛擬存儲系統(tǒng)是把作業(yè)信息的副本存放在磁盤上,當(dāng)作業(yè)被選中時,可把作業(yè)的開始幾頁先裝入主存且啟動執(zhí)行。為此,在為作業(yè)建立頁表時,應(yīng)說明哪些頁已在主存,哪些頁尚未裝入主存,頁表的格式為:
- 標(biāo)志——用來表示對應(yīng)頁是否已經(jīng)裝入主存,標(biāo)志位=1,則表示該頁已經(jīng)在主存,標(biāo)志位=0,則表示該頁尚未裝入主存。
- 主存塊號——用來表示已經(jīng)裝入主存的頁所占的塊號。
- 在磁盤上的位置——用來指出作業(yè)副本的每一頁被存放在磁盤上的位置。
(2)作業(yè)執(zhí)行時,指令中的邏輯地址指出了參加運算的操作數(shù)存放的頁號和單元號,硬件的地址轉(zhuǎn)換機構(gòu)按頁號查頁表,若該頁對應(yīng)標(biāo)志為“1”,則表示該頁已在主存,這時根據(jù)關(guān)系式:
絕對地址=塊號×塊長+單元號
計算出欲訪問的主存單元地址。如果塊長為2的冪次,則可把塊號作為高地址部分,把單元號作為低地址部分,兩者拼接而成絕對地址。按計算出的絕對地址可以取到操作數(shù),完成一條指令的執(zhí)行。若訪問的頁對應(yīng)標(biāo)志為“0”,則表示該頁不在主存,這時硬件發(fā)“缺頁中斷”信號,由操作系統(tǒng)按該頁在磁盤上的位置,把該頁信息從磁盤讀出裝入主存后再重新執(zhí)行這條指令。
(3)設(shè)計一個“地址轉(zhuǎn)換”程序來模擬硬件的地址轉(zhuǎn)換工作。當(dāng)訪問的頁在主存時,則形成絕對地址,但不去模擬指令的執(zhí)
總結(jié)
以上是生活随笔為你收集整理的【操作系统】实验 模拟操作系统的存储系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MySQL】基于MySQL的SQL核心
- 下一篇: 【Java】存储单元的设计与模拟