




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
OS實(shí)驗(yàn)五(軟件0967020050)2010.11.27OS實(shí)驗(yàn)五(軟件)今日DATE\@"M/d/yyyy"1/18/2011頁面置換算法的實(shí)現(xiàn)實(shí)驗(yàn)要求請用LRU和FIFO模擬教材P150頁面序列,并打印出置換頁面。作業(yè)序列能夠動(dòng)態(tài)輸入內(nèi)存物理塊數(shù)可以動(dòng)態(tài)的修改,且初始狀態(tài)均為空總結(jié)收獲體會(huì)及對該題解的改進(jìn)意見和見解 (一)分析題意得模型(一)分析題意得模型利用數(shù)組相關(guān)知識LRU:(最近最久未使用置換算法)數(shù)組A[]數(shù)組A[],記錄頁面順序70120304230321201701內(nèi)存塊7772
2
4440
1
1
1
000
0
0033
3
0
0
11
3
3222
2
2
7
缺頁否√√√√
√
√√√√
√
√
√
M=3時(shí):123423453數(shù)組C[],記錄頁面最近出現(xiàn)的位置數(shù)組C[],記錄頁面最近出現(xiàn)的位置701201201數(shù)組數(shù)組B[],記錄內(nèi)存塊的頁面每次找C[]值最小的頁面置換FIFO(先進(jìn)先出頁面置換算法)與LRU相似,不過,不必設(shè)數(shù)組C來記錄經(jīng)歷的時(shí)間,只需循環(huán)地置換第1個(gè)到第m個(gè)頁面(二)寫主要算法(二)寫主要算法思路(三)調(diào)試運(yùn)行(多種情況都要運(yùn)行)(三)調(diào)試運(yùn)行(多種情況都要運(yùn)行)詳見源程序及注釋分類(四(四)體會(huì)及不足1.先找到問題思路,然后運(yùn)用所學(xué)知識,用數(shù)組實(shí)現(xiàn)就1.先找到問題思路,然后運(yùn)用所學(xué)知識,用數(shù)組實(shí)現(xiàn)就較為簡單,問題不大。2.但同時(shí)也要注意如何使運(yùn)行結(jié)果的界面更為美觀。我也不知為什么,老是前兩個(gè)”是否缺頁”的Y與后面的Y對不齊(四)體會(huì)及不足LUR源代碼:#include<stdio.h>voidmain(){ intm,i=0,j=0,j0,min,n=0,s,page,k=0,A[100],B[100],C[100],count=0; printf("請輸入頁框(物理塊)數(shù):"); scanf("%d",&m); printf("請輸入頁面順序(以-999結(jié)束):\n"); scanf("%d",&page); while(page!=-999) { A[i]=page; i++;n++; scanf("%d",&page); } printf("\n最近最久未被使用(LRU)頁面置換算法\n"); printf("\t頁面順序\t內(nèi)存塊\t\t是否缺頁(Y/N)\n"); i=0; while(i<n) { printf("\t%d\t\t",A[i]); /*一.若內(nèi)存塊B[]未滿,直接將頁面A[]裝入,C[]為所對應(yīng)B[]的出現(xiàn)位置*/ if(i<m) { B[j]=A[i];i++; C[j]=i; j++; for(j0=0;j0<j;j0++) printf("%3d",B[j0]); printf("\t\tY\n"); count++; } /*二.若內(nèi)存塊B已滿,分兩種情況*/ else { for(j=0;j<m;j++) { if(A[i]!=B[j])k++; else break; } //1.原內(nèi)存塊B無此頁面,找C值最小(即最近最久未使用),換出頁面A// if(k==m) { min=C[0]; s=0; for(j0=0;j0<m;j0++) { if(C[j0]<min) { min=C[j0]; s=j0; } } B[s]=A[i];i++; C[s]=i; j++; for(j0=0;j0<m;j0++) printf("%3d",B[j0]); printf("\t\tY\n"); count++; } //2.原內(nèi)存塊B有此頁面,改變B所對應(yīng)的C所出現(xiàn)的位置,再讀下一頁面// else { i++;C[k]=i; printf("\n"); } k=0; } } printf("\n缺頁中斷數(shù)為%d總頁數(shù)為%d缺頁率為%.2f\n\n",count,i,(float)count/i);}FIFO源代碼:#include<stdio.h>voidmain(){ intm,i=0,j=0,page,n=0,k=0,j0,j1=0,A[100],B[100],count=0; printf("請輸入頁框(物理塊)數(shù):"); scanf("%d",&m); printf("請輸入頁面順序(以-999結(jié)束):\n"); scanf("%d",&page); while(page!=-999) { A[i]=page; i++;n++; scanf("%d",&page); } printf("\n先進(jìn)先出(FIFO)頁面置換算法\n"); printf("\t頁面順序\t內(nèi)存塊\t\t是否缺頁(Y/N)\n"); i=0; while(i<n) { printf("\t%d\t\t",A[i]); /*一.若內(nèi)存塊B[]未滿,直接將頁面A[]裝入*/ if(i<m) { B[j]=A[i];j++; for(j0=0;j0<j;j0++) printf("%3d",B[j0]); printf("\t\tY\n"); count++;i++; } /*二.若內(nèi)存塊B已滿,分兩種情況*/ else { for(j=0;j<m;j++) { if(A[i]!=B[j])k++; } //1.原內(nèi)存塊B無此頁面,依次置換出頁面A// if(k==m) { B[j1]=A[i];i++;j1++; for(j0=0;j0<m;j0++) printf("%3d",B[j0]); printf("\t\tY\n"); count++; if(j1==m)j1=0; }
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源管理師備考經(jīng)驗(yàn)分享試題及答案
- 2024年注會(huì)職業(yè)生涯規(guī)劃試題及答案
- 2024年陪診師考試的學(xué)習(xí)資源試題及答案
- 注冊會(huì)計(jì)師基礎(chǔ)知識清單試題及答案
- 2024年陪診師考試流程解析試題及答案
- 當(dāng)代技術(shù)趨勢試題及答案回顧
- 人力資源管理操作
- 2024基金從業(yè)資格考試專家建議及試題答案
- 2024年計(jì)算機(jī)二級最終備考試題及答案
- 黑龍江省哈爾濱市呼蘭區(qū)重點(diǎn)中學(xué)2025屆初三第二次診斷性測試化學(xué)試題含解析
- 《現(xiàn)代漢語》語音教學(xué)上課用課件
- 齊齊哈爾課件
- 信息化建設(shè)情況調(diào)查表
- 2019電網(wǎng)配電運(yùn)維班組標(biāo)準(zhǔn)化管理手冊
- 《小學(xué)語文略讀課文教學(xué)策略》講座 全國獲獎(jiǎng)
- 第二章 民事權(quán)益保護(hù)追求幸福的基石
- 風(fēng)電場工程可行性研究報(bào)告
- 某醫(yī)學(xué)院醫(yī)學(xué)生腎病科疾病教案-腎病綜合征
- “水溶液中的多重平衡體系”單元教學(xué)設(shè)計(jì)
- 《種子學(xué)》考試復(fù)習(xí)題庫(附答案)
- 中學(xué)生社會(huì)實(shí)踐活動(dòng)(社區(qū)服務(wù))登記表
評論
0/150
提交評論