版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上一 目的與要求(1)請(qǐng)求頁式虛存管理是常用的虛擬存儲(chǔ)管理方案之一。(2)通過請(qǐng)求頁式虛存管理中對(duì)頁面置換算法的模擬,加深理解虛擬存儲(chǔ)技術(shù)的特點(diǎn)。(3)加深對(duì)請(qǐng)求頁式虛存管理的頁面調(diào)度算法的理解。二 實(shí)驗(yàn)內(nèi)容或題目(1) 本實(shí)驗(yàn)要求使用C語言編程模擬一個(gè)擁有若干個(gè)虛頁的進(jìn)程在給定的若干個(gè)實(shí)頁中運(yùn)行、并在缺頁中斷發(fā)生時(shí)分別使用FIFO和LRU算法進(jìn)行頁面置換的情形。(2) 虛頁的個(gè)數(shù)可以事先給定(例如10個(gè)),對(duì)這些虛頁訪問的頁地址流(其長度可以事先給定,例如20次虛頁訪問)可以由程序隨機(jī)產(chǎn)生,也可以事先保存在文件中。(3) 要求程序運(yùn)行時(shí)屏幕能顯示出置換過程中的狀態(tài)信息
2、并輸出訪問結(jié)束時(shí)的頁面命中率。(4) 程序應(yīng)允許通過為該進(jìn)程分配不同的實(shí)頁數(shù),來比較兩種置換算法的穩(wěn)定性。三 實(shí)驗(yàn)步驟與源程序(1)實(shí)驗(yàn)步驟1、理解好相關(guān)實(shí)驗(yàn)說明。2、根據(jù)實(shí)驗(yàn)說明,畫出相應(yīng)的程序流程圖。3、按照程序流程圖,用C語言編程并實(shí)現(xiàn)。(2)流程圖如下: 虛頁和實(shí)頁結(jié)構(gòu)pnpfntimepnpfnnext 虛頁結(jié)構(gòu) 實(shí)頁結(jié)構(gòu)在虛頁結(jié)構(gòu)中,pn代表虛頁號(hào),因?yàn)楣?0個(gè)虛頁,所以pn的取值范圍是09。pfn代表實(shí)頁號(hào),當(dāng)一虛頁未裝入實(shí)頁時(shí),此項(xiàng)值為-1;當(dāng)該虛頁已裝入某一實(shí)頁時(shí),此項(xiàng)值為所裝入的實(shí)頁的實(shí)頁號(hào)pfn。time項(xiàng)在FIFO算法中不使用,在LRU中用來存放對(duì)該虛頁的最近訪問時(shí)間。
3、在實(shí)頁結(jié)構(gòu)中中,pn代表虛頁號(hào),表示pn所代表的虛頁目前正放在此實(shí)頁中。pfn代表實(shí)頁號(hào),取值范圍(0n-1)由動(dòng)態(tài)指派的實(shí)頁數(shù)n所決定。next是一個(gè)指向?qū)嶍摻Y(jié)構(gòu)體的指針,用于多個(gè)實(shí)頁以鏈表形式組織起來,關(guān)于實(shí)頁鏈表的組織詳見下面第4點(diǎn)。 程序流程圖如下:create a producerun FIFO or LRUlook menuend(3)源程序如下:#include<iostream.h>#define M 40int N;struct Pro int num,time;int Input(int m,Pro pM) cout<<"請(qǐng)輸入實(shí)際頁數(shù):&
4、quot; do cin>>m; if(m>M)cout<<"數(shù)目太多,請(qǐng)重試"<<endl; else break; while(1); /cout<<"請(qǐng)輸入各頁面號(hào):" for(int i=0;i<m;i+) cout<<"第"<<i<<"個(gè)頁面號(hào)為:" cin>>pi.num; pi.time=0; return m;void print(Pro *page1)/打印當(dāng)前的頁面 Pro *page=n
5、ew ProN; page=page1; for(int i=0;i<N;i+)cout<<pagei.num<<" " cout<<endl;int Search(int e,Pro *page1 ) Pro *page=new ProN; page=page1; for(int i=0;i<N;i+)if(e=pagei.num)return i; return -1;int Max(Pro *page1) Pro *page=new ProN; page=page1; int e=page0.time,i=0; whil
6、e(i<N)/找出離現(xiàn)在時(shí)間最長的頁面 if(e<pagei.time)e=pagei.time; i+; for( i=0;i<N;i+)if(e=pagei.time)return i; return -1;int Compfu(Pro *page1,int i,int t,Pro pM) Pro *page=new ProN; page=page1; int count=0; for(int j=i;j<M;j+) if(paget.num=pj.num )break; else count+; return count; int main() cout<&
7、lt;"可用內(nèi)存頁面數(shù):" cin>>N; Pro pM; Pro *page=new ProN; char c; int m=0,t=0; float n=0; m=Input(m,p); do for(int i=0;i<N;i+)/初試化頁面基本情況 pagei.num=0; pagei.time=2-i; i=0; cout<<"*"<<endl;cout<<"*f:FIFO頁面置換*"<<endl; cout<<"*l:LRU頁面置換*&
8、quot;<<endl; cout<<"*o:OPT頁面置換*"<<endl; cout<<"*按其它鍵結(jié)束*"<<endl;cout<<"*"<<endl; cout<<"請(qǐng)選擇操作類型(f,l,o):" cin>>c; if(c='f')/FIFO頁面置換 n=0; cout<<"頁面置換情況: "<<endl; while(i<m) if
9、(Search(pi.num,page)>=0)i+;/找到相同的頁面 else if(t=N)t=0; else n+;/ paget.num=pi.num; print(page); t+; cout<<"缺頁次數(shù):"<<n<<" 缺頁率:"<<n/m<<endl; if(c='l')/LRU頁面置換 n=0; cout<<"頁面置換情況: "<<endl; while(i<m) int k; k=t=Search(pi
10、.num,page); if(t>=0) paget.time=0; else n+; t=Max(page); paget.num=pi.num; paget.time=0; if(t=0)paget+1.time+;paget+2.time+; if(t=1)page2.time+;page0.time+; if(t=2)page1.time+;page0.time+; if(k=-1) print(page); i+; cout<<"缺頁次數(shù):"<<n<<" 缺頁率:"<<n/m<<
11、endl; if(c='o')/OPT頁面置換 n=0; while(i<m) if(Search(pi.num,page)>=0)i+; else int temp=0,cn; for(t=0;t<N;t+) if(temp<Compfu(page,i,t,p) temp=Compfu(page,i,t,p); cn=t; pagecn=pi; n+; print(page); i+; cout<<"缺頁次數(shù):"<<n<<" 缺頁率:"<<n/m<<en
12、dl; while(c='f'|c='l'|c='o'); return 0;); 四 測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果五 結(jié)果分析與實(shí)驗(yàn)體會(huì)通過上機(jī),我了解了許多關(guān)于操作系統(tǒng)的專業(yè)知識(shí)。無論是在批處理系統(tǒng)還是分時(shí)系統(tǒng)中,用戶進(jìn)程數(shù)一般都多于處理機(jī)數(shù)、這將導(dǎo)致它們互相爭(zhēng)奪處理機(jī)。另外,系統(tǒng)進(jìn)程也同樣需要使用處理機(jī)。這就要求進(jìn)程調(diào)度程序按一定的策略,動(dòng)態(tài)地把處理機(jī)分配給處于就緒隊(duì)列中的某一個(gè)進(jìn)程,以使之執(zhí)行。進(jìn)程調(diào)度的具體功能可總結(jié)為如下幾點(diǎn):(1)記錄系統(tǒng)中所有進(jìn)程的執(zhí)行情況;(2)選擇占有處理機(jī)的進(jìn)程;3)進(jìn)行進(jìn)程上下文切換。進(jìn)程調(diào)度有以下兩種基本方式:非剝奪方式:分派程序一旦把處理機(jī)分配給某進(jìn)程后便讓它一直運(yùn)行下去,直到進(jìn)程完成或發(fā)生某事件而阻塞時(shí),才把處理機(jī)分配給另一個(gè)進(jìn)程。剝奪方式:當(dāng)一個(gè)進(jìn)程正在運(yùn)行時(shí),系統(tǒng)可以基于某種原則,剝奪已分配給它的處理機(jī),將之分配給其它進(jìn)程。剝奪原則有:優(yōu)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國超微細(xì)電子線材行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國景區(qū)旅游行業(yè)開拓第二增長曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國化學(xué)機(jī)械拋光行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國汽車經(jīng)銷行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國招商服務(wù)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實(shí)施研究報(bào)告
- 路燈桿項(xiàng)目評(píng)估報(bào)告模板
- 摩托硬件知識(shí)培訓(xùn)課件
- 制造業(yè)繪圖知識(shí)培訓(xùn)課件
- 2025年度VIP客戶專屬藝術(shù)品收藏服務(wù)協(xié)議2篇
- 產(chǎn)品部部門年終總結(jié)
- 四人合伙投資協(xié)議書范本
- 反射療法師3級(jí)考試題庫(含答案)
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 通用電子嘉賓禮薄
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
- 施工機(jī)械施工方案
- 哈爾濱市城市規(guī)劃管理技術(shù)規(guī)定
- 加拿大——文化ppt
- 100以內(nèi)不進(jìn)位不退位加減法200道
- 開展創(chuàng)新型課題QC小組活動(dòng)實(shí)施指導(dǎo)意見
- 皮具工藝生產(chǎn)流程(共6頁)
評(píng)論
0/150
提交評(píng)論