




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學號P71514032 專業(yè)計算機科學與技術(shù) 姓名 實驗日期2017/11/30 教師簽字 成績實驗報告【實驗名稱】 虛擬存儲管理 【實驗?zāi)康摹磕M請求分頁虛擬存儲管理技術(shù)中的硬件地址變換、缺頁中斷以及頁式淘汰算法,處理缺頁中斷。清楚認識請求分頁管理。采用最佳置換算法實現(xiàn)分頁管理的缺頁調(diào)度。采用先進先出算法實現(xiàn)分頁管理的缺頁調(diào)度。采用LRU算法實現(xiàn)分頁管理的缺頁調(diào)度?!緦嶒炘怼緾語言程序設(shè)計數(shù)據(jù)結(jié)構(gòu)最佳置換算法:其所選擇的淘汰頁面將是以后永不使用的,或許是在最長(未來)時間內(nèi)不再被訪問的頁面。采用最佳置換算法通??杀WC獲得最低的缺頁率。先入先出置換算法:該算法總是淘汰最先進入內(nèi)存的頁面。最近
2、最久未被訪問算法:選取過去中最久未被訪問的頁面進行替換?!緦嶒瀮?nèi)容】數(shù)據(jù)結(jié)構(gòu)和符號說明a) 數(shù)據(jù)結(jié)構(gòu) struct PAGE_LIST int id;/ 塊號 int flag;/ 自適應(yīng)標志 page_listMAX; int N = 0;/ 頁面表大小 int orderMAX;/ 調(diào)用串 / 調(diào)用長度 int M = 0;/ 定義輸出內(nèi)容 int GMAXMAX;/ 輸出置換圖 int I, J;/ 置換圖掃描指針 int LLMAX;/ 缺頁序列 int LI;/ 缺頁序列掃描指針 int RLMAX;/ 置換序列 / 置換序列掃描指針 int RI;函數(shù)說明:void init();
3、/ 初始化函數(shù)void print();/ 輸出函數(shù)void Optimal();/ 最佳置換算法void FIFO()/ 先進先出算法void LRU();/ 最近最久未使用算法流程圖最佳置換算法:先進先出置換算法:最近最久未被訪問算法:代碼:#include <stdio.h>#define MAX 100struct PAGE_LISTint id;/ 塊號int flag;/ 自適應(yīng)標志 page_listMAX;int N = 0;/ 頁面表大小int orderMAX;/ 調(diào)用串 / 調(diào)用長度int M = 0;/ 定義輸出內(nèi)容int GMAXMAX;/ 輸出置換圖in
4、t I, J;/ 置換圖掃描指針int LLMAX;/ 缺頁序列int LI;/ 缺頁序列掃描指針int RLMAX;/ 置換序列/ 置換序列掃描指針int RI;/ 初始化函數(shù)void init()int i;I = 0;J = 0;LI = 0;RI = 0;for (i = 0; i<100; i+)page_listi.id = -1;page_listi.flag = 999;printf("請輸入頁表的大?。?quot;);scanf("%d", &N);printf("請輸入調(diào)用長度:");scanf("%
5、d", &M);printf("請輸入調(diào)用串:n");for (i = 0; i<M; i+)scanf("%d", &orderi);/ 輸出函數(shù)void display()int i, j;float x;printf("置換圖為:n");for (i = 0; i<N; i+)printf("n");for (j = 0; j<J; j+)printf("= ");printf("n");for (j = 0; j<J;
6、 j+)printf("%3d ", Gij);printf("n");printf("n缺頁序列為:n");for (i = 0; i<LI; i+)printf("%3d ", LLi);printf("n置換序列為:n");for (i = 0; i<RI; i+)printf("%3d ", RLi);x = (float)J / (float)M;x *= 100;printf("n缺頁率為:n%3.2f%n", x);/ 判斷頁是否
7、在頁表內(nèi)int IsExist(int x)int i;for (i = 0; i<N; i+)if (page_listi.id = x)return 1;return 0;/ 最佳置換算法/ 此算法中自適應(yīng)標志代表后面序列中是否訪問到了此位置void Optimal()int i, j, k;int cou;init();for (i = 0; i<N; i+)page_listi.id = orderi;for (j = 0; j<N; j+)GIJ = page_listj.id;I+;I = 0;J+;LLLI = orderi;LI+;for (; i<M;
8、 i+)if (!IsExist(orderi)cou = 0;for (j = i + 1; j<M; j+)if (cou = N - 1)break;for (k = 0; k<N; k+)if (page_listk.id = orderj && page_listk.flag != 0)page_listk.flag = 0;cou+;for (j = 0; j<N; j+)if (page_listj.flag != 0)page_listj.id = orderi;break;for (j = 0; j<N; j+)GIJ = page_l
9、istj.id;I+;I = 0;J+;LLLI = orderi;LI+;RLRI = orderi;RI+;for (j = 0; j<N; j+)page_listj.flag = 999;/ 先進先出算法/ 此算法中自適應(yīng)標志不需要使用void FIFO()int i, j;int pos = 0;init();for (i = 0; i<M; i+)if (!IsExist(orderi)page_listpos.id = orderi;pos = (pos + 1) % N;for (j = 0; j<N; j+)GIJ = page_listj.id;I+;I
10、= 0;J+;LLLI = orderi;LI+;if (i >= N)RLRI = orderi;RI+;/ 最近最久未使用算法/ 此算法中自適應(yīng)標志為起未被使用的次數(shù)void LRU()int i, j;int pos, max;init();for (i = 0; i<M; i+)if (!IsExist(orderi)pos = 0;max = 0;for (j = 0; j<N; j+)if (page_listj.flag > max)pos = j;max = page_listj.flag;page_listpos.id = orderi;page_li
11、stpos.flag = 0;for (j = 0; j<N; j+)GIJ = page_listj.id;I+;I = 0;J+;LLLI = orderi;LI+;if (i >= N)RLRI = orderi;RI+;elsefor (j = 0; j<N; j+)if (page_listj.id = orderi)page_listj.flag = 0;break;for (j = 0; j<N; j+)if (page_listj.id = orderi)continue;elsepage_listj.flag+;int main()int select
12、;doprintf(" 頁面置換算法n");printf(" 1.最佳置換算法(Optimal)n 2.先進先出算法(FIFO) n");printf(" 3.最近最久未使用算法(LRU)n 4.退出程序 n");printf("請輸入您想要執(zhí)行的操作:");scanf("%d", &select);switch (select)case 1:Optimal();display();break;case 2:FIFO();display();break;case 3:LRU();disp
13、lay();break;case 4:return 0;default:printf("輸入有誤,請重新輸入!n"); while (1);return 0;結(jié)果截圖最佳置換算法先進先出算法:最近最久未使用算法:【小結(jié)或討論】三種算法的主要區(qū)別是確定替換物理塊的方式不同:1、對于先進先出置換算法,設(shè)置一個指針,循環(huán)從block的首元素指到block的尾元素,就是物理塊置換順序2、對于LRU置換算法,遍歷頁表中的頁號,根據(jù)這些頁號最近被引用的順序,找到最久未被引用的頁號,即在輸入序列中向前查找離當前頁最遠的頁號,將其所在的物理塊置換掉。3、對于LRU置換算法,遍歷輸入序列中的頁號,根據(jù)這些頁號將來被引用的順序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國白色家電行業(yè)市場運行分析及競爭格局與投資方向報告
- 2025至2030中國男士商務(wù)正裝行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國用于食品和飲料的金屬罐行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國玻璃門行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國玫瑰花露行業(yè)供需分析及發(fā)展前景報告
- 2025至2030中國物理治療軟件行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 商業(yè)培訓(xùn)中激勵措施的心理機制研究
- 商業(yè)環(huán)境中殘疾人餐具使用的培訓(xùn)與指導(dǎo)
- 招聘技巧培訓(xùn)課件
- 智能教育設(shè)備應(yīng)用中的隱私保護問題研究
- 2025至2030中國銅冶煉行業(yè)發(fā)展現(xiàn)狀及應(yīng)用需求現(xiàn)狀分析報告
- 打架傷人和解協(xié)議書范本
- 茶園租賃合同(含茶葉加工銷售)
- 2025至2030全球及中國浮式液化天然氣行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 20250617國金證券機器人行業(yè)研究垂直領(lǐng)域具身智能機器人的野望416mb
- 物理●湖北卷丨2024年湖北省普通高中學業(yè)水平選擇性考試物理試卷及答案
- 專利基礎(chǔ)知識教學課件
- YS/T 921-2013冰銅
- 多旋翼無人機專業(yè)培訓(xùn)教材ppt課件
- 蒙牛乳業(yè)公司購銷合同范本
- conceptquantum與atv71的modbus串行通信(modbus通信給定速度、數(shù)字量輸出
評論
0/150
提交評論