版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目: 模擬請(qǐng)求頁式管理 </p><p> 課程名稱: 計(jì)算機(jī)操作系統(tǒng) </p><p> 學(xué) 院: 信息工程學(xué)院 </p><p> 專 業(yè):
2、 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí): 14計(jì)本(1) </p><p> 學(xué)生姓名: * * * </p><p> 學(xué) 號(hào): 201403031** </p><p> 指導(dǎo)教師:
3、 * * </p><p> 成 績: </p><p> 開課時(shí)間: 2016-2017 學(xué)年 一 學(xué)期 </p><p><b> 模擬請(qǐng)求頁式管理</b></p><p><b>
4、需求分析</b></p><p><b> 1.1設(shè)計(jì)要求</b></p><p> 請(qǐng)求頁式管理是一種常用的虛擬存儲(chǔ)管理技術(shù)。本設(shè)計(jì)通過請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法模擬設(shè)計(jì),了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請(qǐng)求頁式管理的頁面置換算法。本實(shí)驗(yàn)要求用Vc++或其他高級(jí)語言編寫和調(diào)試。</p><p> 編寫程序?qū)崿F(xiàn):
5、(1)先進(jìn)先出頁面置換算法(FIFO) (2)最近最久未使用頁面置換算法(LRU) 最佳置換頁面置換算法(OPT) 設(shè)計(jì)一個(gè)虛擬存儲(chǔ)區(qū)和內(nèi)存工作區(qū),編程序演示以上三種算法的具體實(shí)現(xiàn)過程,并計(jì)算訪問命中率。</p><p><b> 1.2解決方案</b></p><p> 首先確定實(shí)現(xiàn)語言使用c#實(shí)現(xiàn)圖形化界面,后確定要實(shí)現(xiàn)哪些功能,
6、比如算法選擇,頁面添加,模擬控制。然后確定輸出結(jié)構(gòu)以便于程序的測(cè)試和驗(yàn)證。將基本框架建立后再進(jìn)行編程。編程前進(jìn)行算法結(jié)構(gòu)分析最后編程實(shí)現(xiàn)。</p><p><b> 1.3算法實(shí)現(xiàn)原理</b></p><p> 1、先進(jìn)先出置換算法(FIFO):</p><p> 發(fā)生缺頁中斷時(shí)按照頁面進(jìn)入內(nèi)存順序總是淘汰最先進(jìn)入內(nèi)存的頁面。</p
7、><p> 2、最近最久未使用置換算法(LRU):</p><p> 發(fā)生缺頁中斷時(shí)總是淘汰存在內(nèi)存中最長時(shí)間未被使用的頁面。</p><p> 3、最佳置換算法(OPT):</p><p> 發(fā)生缺頁中斷時(shí)若一個(gè)或幾個(gè)頁面將來將不會(huì)被調(diào)用則按先進(jìn)先出原則淘汰頁面,若將來都有調(diào)用則比較調(diào)用時(shí)刻選擇最遠(yuǎn)時(shí)刻頁面淘汰。</p>
8、<p> 4、缺頁率:缺頁次數(shù)占頁面調(diào)用次數(shù)的百分比。</p><p><b> 概要設(shè)計(jì)</b></p><p><b> 2.1數(shù)據(jù)設(shè)計(jì)</b></p><p> 常變量:調(diào)用頁面最大數(shù)量(MaxN),內(nèi)存最大頁面數(shù)(MaxM)</p><p> 待調(diào)用頁面數(shù)組:page_d
9、d[MaxN]存放等待調(diào)用的頁面號(hào)</p><p> 頁面數(shù)組專用指針 page_p,用于指向page_dd數(shù)組中正需調(diào)入內(nèi)存的頁號(hào)</p><p> 內(nèi)存塊數(shù)組:Memery[MaxM],存放內(nèi)存當(dāng)前存放的頁號(hào)</p><p> 缺頁計(jì)數(shù)器:count,記錄缺頁次數(shù)</p><p> 內(nèi)存塊狀態(tài)數(shù)組:M1[MaxN],M2[MaxN
10、],M3[MaxN],記錄每次頁面調(diào)用結(jié)束后內(nèi)存各塊的狀態(tài)</p><p> 缺頁記錄數(shù)組s[MaxN],用于記錄頁面調(diào)用時(shí)是否產(chǎn)生缺頁中斷,初始化為是</p><p><b> 2.2函數(shù)設(shè)計(jì)</b></p><p> 1、頁面添加函數(shù):void btnAdd_Click(object sender, EventArgs e)</
11、p><p> 用于實(shí)現(xiàn)通過點(diǎn)擊按鈕實(shí)現(xiàn)數(shù)據(jù)輸入。</p><p> 2、內(nèi)存初始化函數(shù):init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p> 參數(shù)有頁面數(shù)組、內(nèi)存數(shù)組、狀態(tài)數(shù)組,采用先進(jìn)先出算法對(duì)內(nèi)存先進(jìn)行裝滿</p><p> 服務(wù)于先進(jìn)先出頁面置換函數(shù)和最佳置換函數(shù)。<
12、/p><p> 輸出函數(shù):void display(int[]a,int[]m1,int[]m2,int[]m3,char[]c)用于輸出模擬結(jié)果,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,狀態(tài)數(shù)組,缺頁記錄數(shù)組。再模擬之后調(diào)用。</p><p> 4、模擬控制函數(shù):void btnmo_Click(object sender, EventArgs e)用于實(shí)現(xiàn)通過單擊模擬按鈕,根據(jù)用戶所選算法進(jìn)行模擬并
13、顯示結(jié)果。</p><p> 5、先進(jìn)先出算法模擬函數(shù):</p><p> void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s)用于實(shí)現(xiàn)先進(jìn)先出算法模擬,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組、內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中調(diào)用。</p><p> 最近最久未使用算法模擬函數(shù):</p&g
14、t;<p> void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于實(shí)現(xiàn)最近最久未使用算法模擬,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中被調(diào)用。</p><p> 最近最久未使用函數(shù)輔助函數(shù):void LUR_I(int[] a,int e)用于對(duì)最近最久未使用算法中所用輔助數(shù)組(記錄
15、頁面存在時(shí)長)進(jìn)行調(diào)整,參數(shù)有輔助數(shù)組及需調(diào)整的數(shù)據(jù)下標(biāo)。在最近最久未使用函數(shù)中調(diào)用。</p><p> 8、最佳置換算法模擬函數(shù):</p><p> void OPT(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于模擬最佳置換算法。參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中被調(diào)用。&l
16、t;/p><p> 最佳置換算法輔助函數(shù):void OPT_F(int[] a, int e)用于對(duì)最佳置換算法中的輔助數(shù)組進(jìn)行調(diào)整。參數(shù)有輔助數(shù)組,需調(diào)整數(shù)據(jù)下標(biāo)。在最佳置換算法中被調(diào)用。</p><p> 重置函數(shù):void btncz_Click(object sender, EventArgs e)用于重新選擇算法進(jìn)行新的模擬。</p><p><b&
17、gt; 2.3主要算法設(shè)計(jì)</b></p><p> 1、初始化函數(shù)算法:</p><p> 第一步:將第一個(gè)頁面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助數(shù)組,缺頁計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。</p><p> 第二步:調(diào)用下一個(gè)頁面并判斷內(nèi)存中是否有本頁面有轉(zhuǎn)第三步,無轉(zhuǎn)第四步。</p><p> 第三步:更改缺頁數(shù)組對(duì)應(yīng)下標(biāo)
18、值,記錄當(dāng)前內(nèi)存狀態(tài),調(diào)整最佳置換算法輔助數(shù)組,頁面指針指向下一頁。</p><p> 第四步:將頁面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助函數(shù),缺頁計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。若內(nèi)存尚不滿轉(zhuǎn)第一步。</p><p> 具體見圖1初始化算法流程圖。</p><p> 圖1 初始化算法流程圖</p><p> 先進(jìn)先出頁面置換算法:</
19、p><p> 第一步:檢查內(nèi)存中是否已有需調(diào)用頁面,有則轉(zhuǎn)第二步,無則轉(zhuǎn)第三步。</p><p> 第二步:記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)值。</p><p> 第三步:內(nèi)存中無需要調(diào)用的頁面,進(jìn)行出隊(duì)操作,然后進(jìn)行入隊(duì)操作,記錄內(nèi)存塊狀態(tài),缺頁計(jì)數(shù)器加一。</p><p> 第四步:若頁面數(shù)組未被調(diào)用結(jié)束轉(zhuǎn)第一步。</p&
20、gt;<p> 具體見圖2先進(jìn)先出算法流程圖。</p><p> 圖2 先進(jìn)先出算法流程圖</p><p> 最近最久未使用置換算法:</p><p> 第一步:將頁面調(diào)入內(nèi)存,記錄內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,調(diào)整輔助數(shù)組,頁面指針加一。</p><p> 第二步:檢查內(nèi)存中是否已有所需頁面,有轉(zhuǎn)第三步,無轉(zhuǎn)第一步。&l
21、t;/p><p> 第三步:修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)記錄,記錄內(nèi)存狀態(tài),調(diào)整輔助數(shù)組,頁面指針加一。</p><p> 第四步:內(nèi)存是否已滿,無則轉(zhuǎn)第一步,是則轉(zhuǎn)第五步。</p><p> 第五步:檢查內(nèi)存中是否有所需頁面,有則記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)值。無則轉(zhuǎn)第六步。</p><p> 第六步:檢查輔助數(shù)組找出最大值并記錄其下
22、標(biāo),置換內(nèi)存中對(duì)應(yīng)下標(biāo)的數(shù)據(jù),調(diào)整輔助數(shù)組,缺頁計(jì)數(shù)器加一。</p><p> 第七步:頁面是否調(diào)用結(jié)束未結(jié)束則轉(zhuǎn)第五步。</p><p> 具體見圖3最近最久未使用算法流程圖。</p><p> 圖3 最近最久未使用算法</p><p><b> 最佳置換算法:</b></p><p>
23、 第一步:檢查內(nèi)存中是否已有所需頁面,有則記錄內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)數(shù)值。無則轉(zhuǎn)第二步。</p><p> 第二步:判斷內(nèi)存中各頁面的未來調(diào)用情況,記錄是否還有調(diào)用,若有則記錄調(diào)用時(shí)刻。</p><p> 第三步:分析調(diào)用情況,內(nèi)存中頁面都在將來不會(huì)被調(diào)用轉(zhuǎn)第四步,有一個(gè)被調(diào)用轉(zhuǎn)第五步,有兩個(gè)被調(diào)用轉(zhuǎn)第六步,全被調(diào)用轉(zhuǎn)第七步。</p><p> 第四
24、步:查找輔助數(shù)組找到內(nèi)存中存在時(shí)間最長的頁面進(jìn)行置換,修改內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,修改輔助數(shù)組。</p><p> 第五步:查找到不會(huì)被調(diào)用的頁面,并根據(jù)輔助數(shù)組選擇最早進(jìn)入內(nèi)存的頁面將其置換。修改內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,修改輔助數(shù)組。</p><p> 第六步:查找輔助數(shù)組找到將來不需要在調(diào)用的頁面將其置換,修改輔助數(shù)組,記錄內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一。</p>&l
25、t;p> 第七步:查找輔助數(shù)組,找尋最晚被調(diào)用的頁面,將其置換。記錄內(nèi)存狀態(tài),修改輔助數(shù)組,缺頁計(jì)數(shù)器加一。</p><p> 第八步:頁面是否調(diào)用完成,否則轉(zhuǎn)第一步。</p><p> 具體見圖4最佳置換算法流程圖</p><p> 圖4 最佳置換算法流程圖</p><p><b> 2.4界面設(shè)計(jì)</b&g
26、t;</p><p> 采用c# 設(shè)計(jì)windows窗體應(yīng)用程序,使用下拉列表框選擇算法,通過按鈕添加待調(diào)用的頁面。通過文本控件顯示模擬結(jié)果。</p><p> 顯示樣式:第一行:算法名稱;</p><p> 第二行:調(diào)用頁面順序;</p><p> 第三行至第五行顯示內(nèi)存在每調(diào)用一次頁面后的狀態(tài);</p><p&
27、gt;<b> 第六行:是否缺頁;</b></p><p> 最后一行顯示缺頁率;</p><p> 第3章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 3.1函數(shù)設(shè)計(jì)</b></p><p> 1、添加按鈕功能實(shí)現(xiàn)代碼</p><p> 主要功能:實(shí)現(xiàn)單擊一次添加
28、一個(gè)調(diào)用頁面,并給出相應(yīng)的提示,如正在輸入的是第幾次調(diào)度頁面,在輸入為空時(shí)能夠彈出對(duì)話框提示用戶,在輸入完成時(shí)為避免數(shù)組越界應(yīng)在輸入完成時(shí)隱藏;輸入過程中始終保證時(shí)輸入焦點(diǎn)。</p><p> private void btnAdd_Click(object sender, EventArgs e)</p><p><b> {</b></p>&l
29、t;p> if (txtAdd.Text != "")//輸入不為空才能繼續(xù)輸入</p><p><b> {</b></p><p> page_dd[i_add] = Convert.ToInt32(txtAdd.Text);</p><p> /*將輸入值賦值給頁面數(shù)組*/</p><
30、p> txtShow.Text += txtAdd.Text + " ";</p><p> /*顯示供用戶查閱*/</p><p><b> i_add++;</b></p><p> txtAdd.Clear();</p><p><b> /*清空*/</b>
31、;</p><p> if (i_add == MaxN)//輸入結(jié)束時(shí)</p><p><b> {</b></p><p> txtAdd.ReadOnly = true;//不允許繼續(xù)輸入</p><p> btnAdd.Hide();//按鈕隱藏</p><p><b>
32、 return;</b></p><p><b> }</b></p><p> txtAdd.Focus();//設(shè)置為輸入焦點(diǎn)</p><p> label2.Text = "第" + (i_add + 1) + "次調(diào)度頁面:";</p><p> /*
33、提示用戶正在輸入的是第幾次調(diào)度頁面*/</p><p><b> }</b></p><p> /*輸入為空則彈出對(duì)話框提示用戶輸入為空*/</p><p><b> else</b></p><p><b> {</b></p><p> M
34、essageBox.Show("請(qǐng)輸入調(diào)用頁面!", "輸入為空", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p> txtAdd.Focus();</p><p><b> }</b></p><p><b> }</
35、b></p><p><b> 初始化函數(shù)</b></p><p> 主要功能:將內(nèi)存一先進(jìn)先出方式填滿,并記錄每個(gè)頁面進(jìn)入時(shí)間,服務(wù)于先進(jìn)先出頁面置換算法和最佳置換算法。</p><p> void init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p&g
36、t;<b> {</b></p><p> /*內(nèi)存未滿時(shí)循環(huán)*/</p><p> for (int i = 0; i < MaxM&&page_p <MaxN ; i++)</p><p><b> {</b></p><p> b[i] = a[page_
37、p];//調(diào)入內(nèi)存</p><p> //調(diào)整輔助數(shù)組將剛進(jìn)入內(nèi)存的頁面的對(duì)應(yīng)時(shí)間</p><p> OPT_F (O_Q ,i);</p><p> count++;//缺頁計(jì)數(shù)器加一</p><p> m1[page_p] = b[0];//保存內(nèi)存狀態(tài)</p><p> m2[page_p] = b[1
38、];</p><p> m3[page_p] = b[2];</p><p> page_p++;//調(diào)用下一頁面</p><p> //檢查內(nèi)存中是否原先就有需要的頁面;</p><p> for (int j = 0; j <= i&&page_p <MaxN ; j++)</p><
39、;p><b> {</b></p><p> if (b[j] == a[page_p])</p><p> {//找到這樣的頁面</p><p> s[page_p] = 'F';//缺頁數(shù)組對(duì)應(yīng)數(shù)據(jù)更改</p><p> m1[page_p] = b[0];//記錄內(nèi)存狀態(tài)</p
40、><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> OPT_F(O_Q, -1);//調(diào)整最佳置換算法輔助函數(shù)</p><p> page_p++;//調(diào)用下一頁</p><p> j = -1;//重新開始尋找</p><
41、;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 先進(jìn)先出頁面置換函數(shù)</p><p> 主要功能:根據(jù)
42、先進(jìn)先出算法要求在產(chǎn)生缺頁中斷時(shí)采用先進(jìn)先出方式確定淘汰頁面,并在每次頁面調(diào)用時(shí)記錄下內(nèi)存狀態(tài),缺頁次數(shù);采用循環(huán)隊(duì)列使得每次出隊(duì)的一定是最先進(jìn)入內(nèi)存的。</p><p> private void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s)</p><p><b> {</b></p>
43、;<p> int Fpage_p = page_p;</p><p> int front, rear;</p><p> //定義隊(duì)列對(duì)手和對(duì)尾指針并初始化</p><p> front = 0;</p><p> rear = MaxM - 1;</p><p><b> in
44、t sa;</b></p><p> //定義頁面處理標(biāo)志為1則表明此頁面已處理</p><p> for (; Fpage_p < MaxN; Fpage_p++)</p><p><b> {</b></p><p> //從當(dāng)前位置開始往后掃描</p><p>&l
45、t;b> sa = 0;</b></p><p> for (int i = 0; i < MaxM; i++)</p><p> //檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b> {</b></p><p> //有需要的頁面則保存內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)位值</
46、p><p> if (b[i] == a[Fpage_p])</p><p><b> {</b></p><p> m1[Fpage_p] = b[0];</p><p> m2[Fpage_p] = b[1];</p><p> m3[Fpage_p] = b[2];</p>
47、<p> s[Fpage_p] = 'F';</p><p><b> sa = 1;</b></p><p><b> break;</b></p><p> //找到就退出應(yīng)為只可能有一個(gè)符合頁面</p><p><b> }</b>
48、</p><p><b> }</b></p><p> if (sa == 0)</p><p><b> {</b></p><p> //未找到一致頁面產(chǎn)生缺頁中斷進(jìn)行出隊(duì)操作淘汰最早進(jìn)入內(nèi)存的頁面</p><p> //并記錄內(nèi)存狀態(tài),計(jì)數(shù)器加一。</
49、p><p> front = (front + 1) % MaxM;</p><p> rear = (rear + 1) % MaxM;</p><p> b[rear] = a[Fpage_p];</p><p> m1[Fpage_p] = b[0];</p><p> m2[Fpage_p] = b[1]
50、;</p><p> m3[Fpage_p] = b[2];</p><p><b> count++;</b></p><p><b> }</b></p><p> else continue;</p><p> //內(nèi)存原有一樣的頁面則結(jié)束本次循環(huán)</p
51、><p><b> }</b></p><p><b> }</b></p><p><b> 最近最久未使用函數(shù)</b></p><p> 主要功能:實(shí)現(xiàn)對(duì)最近最久頁面置換算法的模擬,記錄缺頁次數(shù)和每次頁面對(duì)應(yīng)的內(nèi)存狀態(tài)。</p><p> pr
52、ivate void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s) </p><p><b> {</b></p><p> int[] L_Q = new int[MaxM]{3,3,3};</p><p> //輔助數(shù)組記錄頁面存在時(shí)間,初始值都是3,每次對(duì)
53、應(yīng)位置有新頁面進(jìn)入就刷//新為1,比原來值小的加一大于原來值得不變</p><p><b> int sa;</b></p><p><b> //頁面已調(diào)用標(biāo)志</b></p><p> for (int i = 0; i < MaxM && page_p < MaxN; i++)<
54、;/p><p><b> {</b></p><p> //內(nèi)存不滿時(shí)執(zhí)行將內(nèi)存裝滿因其于先進(jìn)先出不符合故不能調(diào)用初始化函數(shù)</p><p> b[i] = a[page_p];//調(diào)入內(nèi)存</p><p><b> count++;</b></p><p> m1[p
55、age_p] = b[0];//保存內(nèi)存狀態(tài)</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> LUR_I(L_Q, i);</p><p><b> //調(diào)整輔助數(shù)組</b></p><p><b>
56、; page_p++;</b></p><p> for (int j = 0; j <= i && page_p < MaxN ; j++)</p><p><b> {</b></p><p> //判斷已在內(nèi)存中的頁面中是否有與將要調(diào)用頁面一致的頁面</p><p>
57、 if (b[j] == a[page_p])</p><p><b> {</b></p><p> //有則修改缺頁狀態(tài)函數(shù)并記錄當(dāng)前內(nèi)存狀態(tài)</p><p> s[page_p] = 'F';</p><p> m1[page_p] = b[0];</p><p>
58、 m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> LUR_I(L_Q, j);</p><p><b> page_p++;</b></p><p><b> j = -1;</b></p><p>&
59、lt;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for (; page_p < MaxN; page_p++)</p><p><b> {</b></p>&
60、lt;p> //內(nèi)存裝滿后從當(dāng)前位置向后調(diào)用頁面</p><p><b> sa = 0;</b></p><p> for (int i = 0; i < MaxM; i++)</p><p> //檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b> {</b><
61、;/p><p> if (b[i] == a[page_p])</p><p><b> {</b></p><p> //有則記錄內(nèi)存狀態(tài)修改缺頁數(shù)組調(diào)整輔助函數(shù)</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];</p&g
62、t;<p> m3[page_p] = b[2];</p><p> s[page_p] = 'F';</p><p> LUR_I(L_Q, i);</p><p><b> sa = 1;</b></p><p><b> break;</b></p
63、><p><b> }</b></p><p><b> }</b></p><p> if (sa == 0)</p><p><b> {</b></p><p> for (int i = 0; i < MaxM; i++)</p
64、><p><b> {</b></p><p><b> //產(chǎn)生缺頁中斷</b></p><p> if (L_Q[i] == 3)</p><p> //查找輔助數(shù)組找到值為3的位置對(duì)應(yīng)下標(biāo)并</p><p><b> {</b></p&
65、gt;<p> //替換此下標(biāo)代表的內(nèi)存塊頁面并記錄內(nèi)存狀態(tài),調(diào)整輔助函數(shù),計(jì)數(shù)器加一</p><p> b[i] = a[page_p];</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p
66、><p> LUR_I(L_Q, i);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> count++;</b></
67、p><p><b> }</b></p><p> else continue;</p><p><b> }</b></p><p><b> }</b></p><p><b> 最佳置換算法</b></p>
68、<p> 主要功能:模擬實(shí)現(xiàn)最佳頁面置換算法,淘汰內(nèi)存中永遠(yuǎn)不會(huì)調(diào)用的頁面,如果有多個(gè)則采用先進(jìn)先出原則進(jìn)行置換,若多個(gè)頁面在以后都有調(diào)用則淘汰最后被調(diào)用的頁面,記錄每次頁面調(diào)用后內(nèi)存狀態(tài),記錄缺頁中斷數(shù)</p><p> private void OPT(int[]a,int[]b,int[]m1,int[]m2,int[]m3,char[]s)</p><p><
69、b> {</b></p><p> int sa;//頁面調(diào)用處理標(biāo)志</p><p> int O_p;//頁面數(shù)組輔助指針</p><p> int Ocount;//輔助計(jì)數(shù)變量</p><p> int[] OPT_I=new int [MaxM ]{-1 ,-1 ,-1 };</p><
70、;p> //輔助數(shù)組記錄頁面將來調(diào)用與否</p><p> int[] OPT_J=new int [MaxM]{MaxN ,MaxN ,MaxN };</p><p> //輔助數(shù)組記錄頁面將來被調(diào)用時(shí)刻</p><p> for (; page_p < MaxN; page_p++)</p><p><b>
71、 {</b></p><p> for (int i = 0; i < MaxM; i++)</p><p><b> {</b></p><p> OPT_I[i] = -1;//刷新狀態(tài)數(shù)組</p><p> OPT_J[i] = MaxN;</p><p><
72、;b> }</b></p><p><b> sa = 0;</b></p><p> for (int i = 0; i < MaxM; i++)//檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b> {</b></p><p> //將要調(diào)用頁面存在于內(nèi)
73、存中</p><p> if (b[i] == a[page_p])</p><p><b> {</b></p><p> //記錄內(nèi)存狀態(tài)修改缺頁數(shù)組,調(diào)整輔助數(shù)組</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];<
74、/p><p> m3[page_p] = b[2];</p><p> OPT_F(O_Q,-1);</p><p> s[page_p] = 'F';</p><p><b> sa = 1;</b></p><p><b> break;</b>&l
75、t;/p><p><b> }</b></p><p><b> }</b></p><p> if (sa == 0)//缺頁</p><p><b> {</b></p><p> Ocount = 0;</p><p>
76、; for (int i = 0; i < MaxM; i++)</p><p><b> {</b></p><p> //向后查找頁面調(diào)用情況用輔助數(shù)組記錄</p><p> O_p = page_p + 1;</p><p> for (; O_p < MaxN; O_p++)</p&g
77、t;<p><b> {</b></p><p> if (b[i] == a[O_p])</p><p><b> {</b></p><p><b> Ocount++;</b></p><p> OPT_I[i] = 1;</p>&
78、lt;p> //表示下標(biāo)代表頁面將來會(huì)被調(diào)用</p><p> OPT_J[i] = O_p;</p><p><b> //表示其調(diào)用時(shí)刻</b></p><p><b> break;</b></p><p><b> }</b></p>&l
79、t;p><b> }</b></p><p><b> }</b></p><p> switch (Ocount)</p><p><b> {</b></p><p><b> case 0:</b></p><p&
80、gt; //全部頁面以后都不會(huì)再度調(diào)用,查找輔助函數(shù)替換最先進(jìn)入內(nèi)存數(shù)組</p><p> int temp = 0;</p><p> for (int i = 0; i < MaxM; i++)</p><p><b> {</b></p><p> if (O_Q[i] > O_Q[temp]
81、)</p><p><b> temp = i;</b></p><p><b> }</b></p><p> b[temp] = a[page_p];</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];
82、</p><p> m3[page_p] = b[2];</p><p> OPT_F (O_Q ,temp);</p><p><b> count++;</b></p><p><b> break;</b></p><p><b> case 1:&
83、lt;/b></p><p> //有一個(gè)頁面將在以后調(diào)用,比較兩個(gè)不會(huì)被調(diào)用的頁面誰先進(jìn)入內(nèi)存并置換之</p><p><b> temp = 0;</b></p><p> for (int i = 0; i < MaxM; i++)</p><p><b> {</b>&l
84、t;/p><p> if (OPT_I[i] != 1 && O_Q[i] > O_Q[temp])</p><p><b> temp = i;</b></p><p><b> }</b></p><p> b[temp] = a[page_p];</p>
85、<p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> OPT_F (O_Q ,temp);</p><p><b> count++;</b></p><p
86、><b> break;</b></p><p><b> case 2: </b></p><p> //有兩個(gè)頁面將在以后被調(diào)用,直接淘汰將來不會(huì)調(diào)用的那個(gè)</p><p> for (int i = 0; i < MaxM; i++)</p><p><b>
87、{</b></p><p> if (OPT_I[i] == -1)</p><p><b> {</b></p><p> b[i] = a[page_p];</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];&l
88、t;/p><p> m3[page_p] = b[2];</p><p> OPT_F(O_Q, i);</p><p><b> count++;</b></p><p><b> }</b></p><p><b> }</b></p&g
89、t;<p><b> break;</b></p><p><b> case 3: </b></p><p> //所有頁面都將被調(diào)用,查找輔助函數(shù),得到最晚被調(diào)用的頁面并淘汰之</p><p> int p = 0;</p><p> for (int i = 0; i
90、< MaxM; i++)</p><p><b> {</b></p><p> if (OPT_J[i] >OPT_J[p])</p><p><b> p = i;</b></p><p><b> }</b></p><p>
91、 b[p] = a[page_p];</p><p> m1[page_p] = b[0];</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> OPT_F(O_Q, p);</p><p><b> count++;&l
92、t;/b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
93、t;/b></p><p><b> 輸出函數(shù)</b></p><p> 主要功能:按既定形式輸出模擬結(jié)果,并計(jì)算缺頁率并輸出 </p><p> private void display(int[]a,int[]m1,int[]m2,int[]m3,char[]c)</p><p><b> {
94、</b></p><p> lblshow.Text = "";</p><p> lblshow.Text =comboBox1.Text + ":\n";</p><p><b> //輸出算法名稱</b></p><p> for (int i = 0;
95、i < MaxN; i++)</p><p><b> {</b></p><p> //輸出頁面調(diào)用輸出順序</p><p> lblshow.Text += a[i].ToString()+" ";</p><p><b> }</b></p>&
96、lt;p> lblshow.Text += "\n";</p><p> for (int i = 0; i < MaxN; i++)</p><p><b> {</b></p><p> //輸出1號(hào)內(nèi)存塊變換情況</p><p> if (m1[i] == -1)</
97、p><p> lblshow.Text += " ";</p><p><b> else</b></p><p> lblshow.Text += m1[i].ToString() + " ";</p><p><b> }</b></p>
98、<p> lblshow.Text += "\n";</p><p> for (int i = 0; i < MaxN; i++)</p><p><b> {</b></p><p> //輸出2號(hào)內(nèi)存塊變換情況</p><p> if (m2[i] == -1)&l
99、t;/p><p> lblshow.Text += " ";</p><p><b> else</b></p><p> lblshow.Text += m2[i].ToString() + " ";</p><p><b> }</b></p&
100、gt;<p> lblshow.Text += "\n";</p><p> for (int i = 0; i < MaxN; i++)</p><p><b> {</b></p><p> //輸出3號(hào)內(nèi)存塊變換情況</p><p> if (m3[i] == -1
101、)</p><p> lblshow.Text += " ";</p><p><b> else</b></p><p> lblshow.Text += m3[i].ToString() + " ";</p><p><b> }</b><
102、/p><p> lblshow.Text += "\n";</p><p> for (int i = 0; i < MaxN; i++)</p><p><b> {</b></p><p><b> //輸出缺頁情況</b></p><p>
103、 lblshow.Text += c [i] + " ";</p><p><b> }</b></p><p> //計(jì)算并輸出缺頁率</p><p> lblshow.Text += "\n缺頁率:"+ count*100/MaxN +'%';</p><p
104、><b> }</b></p><p><b> 3.2界面設(shè)計(jì)</b></p><p> 程序執(zhí)行開始顯示本程序具體模擬內(nèi)容如圖5進(jìn)入模擬界面所示</p><p><b> 圖5 進(jìn)入模擬界面</b></p><p> 點(diǎn)擊開始模擬按鈕進(jìn)入主界面,如圖6所示主
105、界面包含提示文本如“算法選擇”,“第1次調(diào)度頁面”、“頁面調(diào)度順序”。包含三個(gè)按鈕分別為添加按鈕用于添加調(diào)用頁面,重置按鈕清除當(dāng)前操作,以便重新模擬。模擬按鈕,單擊即可開始模擬。</p><p><b> 圖6 模擬主界面</b></p><p><b> 第4章 調(diào)試分析</b></p><p> 4.1實(shí)驗(yàn)步驟及
106、結(jié)果</p><p> 第一步:運(yùn)行程序顯示模擬入口如圖7模擬入口所示 </p><p><b> 圖7 模擬入口</b></p><p> 第二步:單擊開始模擬進(jìn)入主界面,可以看出程序默認(rèn)是選擇先進(jìn)先出頁面置換算法,顯示頁面調(diào)用順序處不可隨意修改。如圖8主界面所示</p><p><b> 圖8 主界
107、面</b></p><p> 第三步:選擇先進(jìn)先出算法進(jìn)行模擬,添加頁面調(diào)度序列如圖9所示。期間若輸入空字符則彈出對(duì)話框如圖10所示,點(diǎn)擊確定繼續(xù)輸入,輸入完成則禁止輸入如圖11所示;</p><p><b> 圖9 頁面添加</b></p><p> 圖10 輸入為空警告對(duì)話框</p><p><
108、;b> 圖11 輸入結(jié)束</b></p><p> 第四步:單擊模擬按鈕可以看見模擬結(jié)果如圖12所示。按照算法原理頁面置換過程應(yīng)為:</p><p> 其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是3號(hào)頁面最先進(jìn)入內(nèi)存故將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,此時(shí)5號(hào)在內(nèi)存中時(shí)間最長故將5號(hào)頁面置換出去1
109、號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)1號(hào)頁面存留時(shí)間最長故置換出去。1號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,此時(shí)2號(hào)頁面存留時(shí)間最長故置換出去。2號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換處5號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出1號(hào)頁面。1號(hào)頁面調(diào)用產(chǎn)生中斷置換出2號(hào)。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出3號(hào)。缺頁次數(shù)為12次缺頁率為80%。程序運(yùn)行結(jié)果正確。<
110、/p><p> 圖12 先進(jìn)先出算法模擬結(jié)果</p><p> 第五步:單擊重置按鈕,將算法改為最近最久未使用算法并單擊模擬按鈕,顯示結(jié)果如圖13所示。按照算法原理頁面置換過程應(yīng)為:</p><p> 其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是3號(hào)頁面最先進(jìn)入內(nèi)存且未被使用故將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用
111、時(shí)產(chǎn)生缺頁中斷,此時(shí)5號(hào)在內(nèi)存中時(shí)間最長且近期未調(diào)用故將5號(hào)頁面置換出去。1號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)2號(hào)頁面存留時(shí)間最長并未使用故置換出去。1號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換處5號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出1號(hào)頁面。1號(hào)頁面調(diào)用產(chǎn)生中斷置換出2號(hào)。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出4號(hào)。缺頁次數(shù)
112、為11次缺頁率為73%。程序運(yùn)行結(jié)果正確。</p><p> 圖13 最近最久未使用算法模擬</p><p> 第六步:單擊重置按鈕,將算法改為最佳置換算法并單擊模擬按鈕,顯示結(jié)果如圖14所示。</p><p> 按照算法原理頁面置換過程應(yīng)為:</p><p> 其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)
113、頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是5號(hào)頁面最晚被再次調(diào)用故將5號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)不產(chǎn)生缺頁中斷。1號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)3號(hào)頁面最晚被再次調(diào)用故置換出去。1號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。2號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出2號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出5號(hào)頁面。1號(hào)頁面調(diào)用不產(chǎn)生中斷。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出1號(hào)。缺頁次數(shù)為8
114、次缺頁率為53%。程序運(yùn)行結(jié)果正確。</p><p> 圖14 最佳置換算法</p><p><b> 總結(jié)</b></p><p><b> ****</b></p><p><b> 參考資料</b></p><p> [1].王萬森,孫衛(wèi)
115、真,溫紹潔,霍其潤,汪國安.計(jì)算機(jī)操作系統(tǒng)原理.北京:高等教育出版社,2007</p><p> [2].羅福強(qiáng),白忠建,楊劍.VisualC#.NET程序設(shè)計(jì).北京:人民郵電出版社,2012</p><p><b> 附錄</b></p><p> using System;</p><p> using Sy
116、stem.Collections.Generic;</p><p> using System.Linq;</p><p> using System.Windows.Forms;</p><p> namespace yeshi</p><p><b> {</b></p><p>
117、static class Program</p><p><b> {</b></p><p> /// <summary></p><p> /// 應(yīng)用程序的主入口點(diǎn)。</p><p> /// </summary></p><p> [STAThread]&
118、lt;/p><p> static void Main()</p><p><b> {</b></p><p> Application.EnableVisualStyles();</p><p> Application.SetCompatibleTextRenderingDefault(false);</
119、p><p> Application.Run(new Form1());</p><p> Application.Run(new Form2());</p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
120、t;/b></p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p><p> using
121、 System.Drawing;</p><p> using System.Linq;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> namespace yeshi</p><p><b> {&
122、lt;/b></p><p> public partial class Form2 : Form</p><p><b> {</b></p><p> const int MaxM = 3;//內(nèi)存塊數(shù)</p><p> const int MaxN = 15;//頁面調(diào)用個(gè)數(shù)</p>&
123、lt;p> public Form2()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p><p> int[] page_dd = new int[MaxN]{0,0,0,0,0,0,
124、0,0,0,0,0,0,0,0,0};//待調(diào)用頁面號(hào)數(shù)組</p><p> private int page_p = 0;//頁面調(diào)用數(shù)組專用指針</p><p> int[] Memery = new int[MaxM ]{-1,-1,-1};//內(nèi)存塊數(shù)組</p><p> int[] M1 = new int[MaxN];//內(nèi)存1號(hào)塊狀態(tài)數(shù)組<
125、/p><p> int[] M2 = new int[MaxN];//內(nèi)存2號(hào)塊數(shù)組</p><p> int[] M3 = new int[MaxN];//內(nèi)存3號(hào)塊數(shù)組</p><p> char[] s = new char[MaxN] { 'T', 'T', 'T', 'T', 'T&
126、#39;, 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' };</p><p> int[] O_Q = new int[MaxM] { 0, 0, 0 };//最佳置換算法輔助數(shù)組</p>
127、<p> private int count = 0;//缺頁次數(shù)計(jì)數(shù)器</p><p> private int i_add=0;//初始化頁面調(diào)用數(shù)組指針變量</p><p> private void btnAdd_Click(object sender, EventArgs e)</p><p><b> {</b&g
128、t;</p><p> if (txtAdd.Text != "")</p><p><b> {</b></p><p> page_dd[i_add] = Convert.ToInt32(txtAdd.Text);</p><p> txtShow.Text += txtAdd.Text
129、+ " ";</p><p><b> i_add++;</b></p><p> txtAdd.Clear();</p><p> if (i_add == MaxN)</p><p><b> {</b></p><p> txtAdd.Re
130、adOnly = true;</p><p> btnAdd.Hide();</p><p><b> return;</b></p><p><b> }</b></p><p> txtAdd.Focus();</p><p> label2.Text = &q
131、uot;第" + (i_add + 1) + "次調(diào)度頁面:";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show(&q
132、uot;請(qǐng)輸入調(diào)用頁面!", "輸入為空", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p> txtAdd.Focus();</p><p><b> }</b></p><p><b> }</b></p>
133、<p> /*函數(shù)用于初始化頁面調(diào)用數(shù)組遵循先進(jìn)先出原則*/</p><p> void init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p><b> {</b></p><p> for (int i = 0; i < MaxM&&page_p
134、 <MaxN ; i++)</p><p><b> {</b></p><p> b[i] = a[page_p];//調(diào)入內(nèi)存</p><p> OPT_F (O_Q ,i);</p><p><b> count++;</b></p><p> m1[p
135、age_p] = b[0];//保存內(nèi)存狀態(tài)</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p><b> page_p++;</b></p><p> for (int j = 0; j <= i&&page_p
136、<MaxN ; j++)</p><p><b> {</b></p><p> if (b[j] == a[page_p])</p><p><b> {</b></p><p> s[page_p] = 'F';</p><p> m1[p
137、age_p] = b[0];</p><p> m2[page_p] = b[1];</p><p> m3[page_p] = b[2];</p><p> OPT_F(O_Q, -1);</p><p><b> page_p++;</b></p><p><b> j =
138、 -1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*輸出內(nèi)存狀態(tài)和缺頁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計(jì)--模擬請(qǐng)求頁式存儲(chǔ)管理
- 操作系統(tǒng)課程設(shè)計(jì)--請(qǐng)求頁式存儲(chǔ)管理
- 操作系統(tǒng)課程設(shè)計(jì)--請(qǐng)求頁式存儲(chǔ)管理
- 操作系統(tǒng)課程設(shè)計(jì)--請(qǐng)求頁式存儲(chǔ)管理
- 操作系統(tǒng)課程設(shè)計(jì)--請(qǐng)求調(diào)頁
- 操作系統(tǒng)課程設(shè)計(jì)--- 請(qǐng)求調(diào)頁存儲(chǔ)管理
- 模擬頁式存儲(chǔ)管理-操作系統(tǒng)課程設(shè)計(jì)
- 模擬頁式存儲(chǔ)管理 操作系統(tǒng)課程設(shè)計(jì)
- 模擬頁式存儲(chǔ)管理-操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)---請(qǐng)求頁式存儲(chǔ)管理的頁面置換算法
- 操作系統(tǒng)課程設(shè)計(jì)——操作系統(tǒng)課程設(shè)計(jì)模擬操作系統(tǒng)
- 操作系統(tǒng)-請(qǐng)求頁式存儲(chǔ)管理實(shí)驗(yàn)報(bào)告
- 模擬操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)--模擬操作系統(tǒng)的實(shí)現(xiàn)
- 內(nèi)存管理(操作系統(tǒng))操作系統(tǒng)課程設(shè)計(jì)
- 《操作系統(tǒng)》課程設(shè)計(jì)-- 模擬文件管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)--頁式存儲(chǔ)管理中頁面置換(淘汰)的模擬程序
- 《操作系統(tǒng)》課程設(shè)計(jì)--模擬文件管理系統(tǒng)
- 操作系統(tǒng)模擬進(jìn)程課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)-- 操作系統(tǒng)
評(píng)論
0/150
提交評(píng)論