資源簡(jiǎn)介
仿真操作系統(tǒng)實(shí)現(xiàn)LRU虛擬內(nèi)存替換算法,已通過測(cè)試。
為了熟悉作業(yè)管理和虛頁(yè)內(nèi)存管理,了解作業(yè)及進(jìn)程并發(fā)操作和虛頁(yè)調(diào)度算法,并能夠通過完成硬件結(jié)構(gòu)的設(shè)計(jì)來實(shí)現(xiàn)進(jìn)程并發(fā)、虛頁(yè)調(diào)度、死鎖檢測(cè)等幾大基本功能,我們選擇了可視化仿真實(shí)現(xiàn)作業(yè)管理與虛頁(yè)內(nèi)存管理這一課題。在學(xué)習(xí)相關(guān)知識(shí)之后,我們實(shí)現(xiàn)了裸機(jī)硬件的仿真、作業(yè)及進(jìn)程調(diào)度的仿真、內(nèi)存管理的仿真等功能,并通過可視化方式呈現(xiàn)。
裸機(jī)硬件的仿真包括CPU、內(nèi)存Memory、硬盤Disk、時(shí)鐘、中斷和MMU地址變換部件等設(shè)計(jì)與實(shí)現(xiàn)。其中CPU包含PC寄存器、PSW 寄存器、IR 寄存器等。內(nèi)存Memory大小為32KB,每個(gè)物理塊大小512B,共64個(gè)物理塊。硬盤Disk大小為1MB,1 個(gè)柱面中有32個(gè)磁道,1個(gè)磁道中有64個(gè)扇區(qū),1個(gè)扇區(qū)為1個(gè)物理塊,每個(gè)物理塊的大小為512B。MMU 地址變換部件負(fù)責(zé)將邏輯地址轉(zhuǎn)換為物理地址。
內(nèi)存管理包括虛頁(yè)內(nèi)存的設(shè)計(jì)與實(shí)現(xiàn)、頁(yè)表與快表的設(shè)計(jì)、內(nèi)存替換算法等。快表和頁(yè)表的表項(xiàng)Page類,包含了頁(yè)號(hào)、對(duì)應(yīng)的塊號(hào)和訪問次數(shù)等信息。快表FastTable和頁(yè)表PageTable,實(shí)現(xiàn)了插入表項(xiàng)、判斷是否命中、返回物理塊號(hào)等功能。LRU頁(yè)面替換算法是在MMU 地址變換部件中實(shí)現(xiàn)的,淘汰最近最長(zhǎng)時(shí)間沒有訪問到的頁(yè)面。

代碼片段和文件信息
package?VirtualMem;
public?class?Block?
{
int?BlockId;????????//物理塊?ID
int?BlockState;?????//物理塊分配狀態(tài)(0?表示空閑,1?表示占有)
int?OwnerPro;???????//分配給的進(jìn)程?ID
Block(int?BlockIdint?BlockStateint?OwnerPro)
{
this.BlockId=BlockId;//物理塊?ID
this.BlockState=BlockState;//物理塊分配狀態(tài)(0?表示空閑,1?表示占有)
this.OwnerPro=OwnerPro;//分配給的進(jìn)程?ID
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-01?14:01??源代碼\
?????文件?????????232??2019-02-13?11:15??源代碼\.classpath
?????文件?????????382??2019-02-13?11:15??源代碼\.project
?????目錄???????????0??2019-04-01?14:01??源代碼\.settings\
?????文件??????????81??2019-03-28?21:18??源代碼\.settings\org.eclipse.core.resources.prefs
?????文件?????????110??2019-03-15?10:24??源代碼\0號(hào)進(jìn)程信息輸入.txt
?????文件????????5250??2019-03-29?11:27??源代碼\0號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????4594??2019-03-29?11:27??源代碼\0號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件????????6024??2019-03-29?11:27??源代碼\0號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????152??2019-03-15?10:27??源代碼\1號(hào)進(jìn)程信息輸入.txt
?????文件???????11388??2019-03-29?11:27??源代碼\1號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????6192??2019-03-29?11:27??源代碼\1號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件???????13580??2019-03-29?11:27??源代碼\1號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????120??2019-03-15?10:28??源代碼\2號(hào)進(jìn)程信息輸入.txt
?????文件????????6870??2019-03-29?11:27??源代碼\2號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????4748??2019-03-29?11:27??源代碼\2號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件????????7596??2019-03-29?11:27??源代碼\2號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????121??2019-03-15?10:48??源代碼\3號(hào)進(jìn)程信息輸入.txt
?????文件????????9006??2019-03-29?11:27??源代碼\3號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????4486??2019-03-29?11:27??源代碼\3號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件???????10100??2019-03-29?11:27??源代碼\3號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????121??2019-03-15?10:27??源代碼\4號(hào)進(jìn)程信息輸入.txt
?????文件????????7786??2019-03-29?11:27??源代碼\4號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????5544??2019-03-29?11:27??源代碼\4號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件????????8524??2019-03-29?11:27??源代碼\4號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????138??2019-03-15?10:41??源代碼\5號(hào)進(jìn)程信息輸入.txt
?????文件????????6962??2019-03-29?11:27??源代碼\5號(hào)進(jìn)程外頁(yè)表.txt
?????文件????????6036??2019-03-29?11:27??源代碼\5號(hào)進(jìn)程運(yùn)行結(jié)果.txt
?????文件????????6894??2019-03-29?11:27??源代碼\5號(hào)進(jìn)程頁(yè)表.txt
?????文件?????????187??2019-03-28?16:58??源代碼\6號(hào)進(jìn)程信息輸入.txt
?????文件?????????494??2019-03-29?11:27??源代碼\6號(hào)進(jìn)程外頁(yè)表.txt
............此處省略47個(gè)文件信息
評(píng)論
共有 條評(píng)論