


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統(tǒng)課程實驗報告實驗地點實驗時間實驗課表 現(xiàn)出勤和個人表現(xiàn)Q1(15+15(組長評分)=30分)得分:實驗 總分(Q1+Q2+C3+Q4)實驗完成情況Q2(45分(組 長與教師評分的加權平均)得分:實驗編號與實驗名稱:第7次實驗常用頁面置換算法模擬實驗實驗目的:1.實驗目的通過模擬實現(xiàn)請求頁式存儲管理的幾種基本頁面置換算法,了解虛擬存儲技術的特點, 掌握虛擬存儲請求頁式存儲管理中幾種基本頁面置換算法的基本思想和實現(xiàn)過程,并比較它 們的效率。實驗內容及要求(詳見實驗講義與實驗指導書):2. 實驗要求:1) 要求用你熟悉的程序設計語言編寫和調試一個頁面置換模擬程序;要求在主函數(shù)中測 試。2)
2、實驗報告中必須包括:設計思想、數(shù)據(jù)定義(包括詳細說明)、處理流程(詳細算法描述和算法流程圖)、源代碼、運行結果、體會等部分。3) 必須模擬本實驗內容中提到的算法 中的至少2種頁面置換算法。4)比較不冋頁面置換算法的效率3. 實驗內容編寫一個程序,使用以下頁面置換算法中的某2種分別模擬一個分頁系統(tǒng),并統(tǒng)計冋一個頁面訪冋序列情況下不冋頁面置換算法引發(fā)的缺頁中斷次數(shù)。1、第二次機會算法(Seco nd Cha nee)2、 最近最少使用算法(Least Recently Used, LRU )3、最不常用算法(Not Frequently Used , NFL)4、 最近未使用算法(Not Rece
3、ntly Used, NRU5、時鐘頁面置換算法6、老化算法(aging )頁框的數(shù)量固定為 4,虛擬頁面數(shù)為 &實驗輸入為訪冋頁面序列,比如0, 1 , 3 , 2,7, 1實驗用到的軟件(:)C-Free 5實驗內容及關鍵步驟(代碼)Q3( 15分)得分:代碼:#i nclude <stdio.h>#i nclude <stdlib.h>#include <string.h>#defi ne page_frame_ nu mber 4 /頁框數(shù)#defi ne virtual_page_ nu mber 8 / 虛擬頁面數(shù) int page_id
4、, counter = 0;/ 輸入 id 和計數(shù)器 char algorithm20;算法選擇int page_i nterrupt_ nu mber = 0;struct Page_tableint page_id; / 頁號int load_time; /裝入時間int last_visit_time; /最后訪問時間page_tablepage_frame_ nu mber;(*(structint cmp(c onst void *p,c onst void *q)int c = (*(struct Page_table*)p).load_time Page table*)q).lo
5、ad time;if(c > 0)return 1;elsereturn -1;(*(structint cmp1(c onst void *p,c onst void *q)int c = (*(struct Page_table*)p).last_visit_time Page_table*)q).last_visit_time;if(c > 0)return 1;elsereturn -1;void in it()/ 初始化 int i;for(i = 0; i < page_frame_number; i+)page_tablei.page_id = -1; page
6、_tablei.load_time = -1; page_tablei.last_visit_time = -1; void prin t(i nt x)/ int i,j;打印信息switch(x) case 0:for(i = 0; i < 80; i+)prin tf("-"); prin tf("tt試驗七常用頁面置換算法模擬頭驗n");for(i = 0; i < 80; i+)prin tf("-");prin tf("n");printf("選擇算法:F/L (FIFO算法/LR
7、U 算法)n");break;case 1:printf("請輸入訪問頁面的順序,以“-1 ”結束:n");break;case 2:printf("頁表信息:n頁號頁框號裝入時間最近訪問時間n");for(j = 0; j < page_frame_ nu mber; j+)prin tf("%4d%8d%7d%7dn",page_tablej.page_id,j,page_tablej.load_ time,page_tablej.last_visit_time);break;case 3:for(i = 0; i
8、 < 80; i+)prin tf("-");printf("ttFIFO 算法模擬過程 n");for(i = 0; i < 80; i+)prin tf("-");prin tf("n");break;case 4:for(i = 0; i < 80; i+)prin tf("-");printf("ttLRU算法模擬過程 n");for(i = 0; i < 80; i+)prin tf("-");prin tf("
9、n");int judge()int i;for(i = 0; i < page_frame_ nu mber; i+) if(page_tablei.page_id = -1|page_tablei.page_id return i;return -1;void fifo()int j;prin t(3);prin t(1);while(1)scan f("%d",&page_id);if(page_id = -1)break;j = judge();if(j = -1)qsort(page_table,page_frame_ nu mber,Pa
10、ge_table), cmp);/按照最后訪問時間從小到大排序page_tableO.page_id = page_id; page_table0.load_time = coun ter; page_tableO.last_visit_time = coun ter;page_i nterrupt_ nu mber+;elseif(page_tablej.page_id = -1) page_tablej.page_id = page_id; page_tablej.load_time = coun ter; page_tablej.last_visit_time = coun ter; p
11、age_i nterrupt_ nu mber+; 一 一elsepage_tablej.last_visit_time = coun ter;=page_id)sizeof(structkcoun ter+;prin t(2);prin tf("缺頁中斷次數(shù):dn",page_i nterrupt_number); 一 一void lru()int j;prin t(4);prin t(1);while(1)scan f("%d",&page_id);if(page_id = -1)break;j = judge();sizeof(struct
12、if(j = -1)qsort(page_table,page_frame_ nu mber,Page_table), cmp1);按照裝入時間從小到大排序page_tableO.page_id = page_id; page_table0.load_time = coun ter; page_tableO.last_visit_time = coun ter;page_i nterrupt_ nu mber+; 一 一elseif(page_tablej.page_id = -1) page_tablej.page_id = page_id; page_tablej.load_time =
13、coun ter; page_tablej.last_visit_time = coun ter; page_i nterrupt_ nu mber+; 一 一elsepage_tablej.last_visit_time = coun ter; 一一coun ter+;prin t(2);prin tf("缺頁中斷次數(shù):%dn",page_i nterrupt_number); 一 一 int mai n()prin t(0);in it();while(1)scan f("%s",algorithm);if(strcmp(algorithm,"F") = 0|strcmp(algorithm,"L") = 0) break;elseprintf("輸入出錯,請重新輸入n");if(strcmp(algorithm,"F") = 0) fifo();elselru();system("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能停車場管理系統(tǒng)如何安裝
- 食品包裝機械物流樣本
- 光伏 太陽能光伏發(fā)電
- 電商行業(yè)智能營銷策略及用戶體驗提升方案
- 市場分析報告子項分類表格
- 關于辦公資源采購的申請說明及審批報告書
- 新媒體內容創(chuàng)意與運營手冊
- 風險管理與合規(guī)手冊
- 高爾夫運動與球場管理作業(yè)指導書
- 食品加工設備行業(yè)智能化食品加工設備開發(fā)方案
- 術后肺部感染的預防及護理
- 2024年寧夏回族自治區(qū)消防救援總隊招聘機關消防文員考試真題
- 2025年02月云南省婦聯(lián)網絡信息傳播中心公開招聘1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 湖北云學名校聯(lián)盟2024-2025學年高二上學期期末考試英語試題 含解析
- 第五周《春風吹過正‘植’有我》主題班會
- 2025年度養(yǎng)老產業(yè)服務合同協(xié)議
- 2025年包頭鐵道職業(yè)技術學院高職單招數(shù)學歷年(2016-2024)頻考點試題含答案解析
- 2024年長沙電力職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 2024年山西工程職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2025年計算機二級考試題庫350題含答案(WPS)
- 三年級 下冊《紙的發(fā)明》課件
評論
0/150
提交評論