版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)設(shè)計(jì)目的1、 增強(qiáng)學(xué)生對(duì)計(jì)算機(jī)操作系統(tǒng)基本原理、基本理論、基本算法的理解2、 提高和培養(yǎng)學(xué)生的動(dòng)手能力設(shè)計(jì)要求1、 每人至少選作1題,多做不限。2、 每人單獨(dú)完成,可以討論,但每人的設(shè)計(jì)內(nèi)容不得完全相同,抄襲或有2人/多人設(shè)計(jì)完全一樣者,不能通過。3、 設(shè)計(jì)完成后,應(yīng)上交課程設(shè)計(jì)文檔,文檔格式應(yīng)是學(xué)校課程設(shè)計(jì)的標(biāo)準(zhǔn)格式,所有學(xué)生的封面大小、格式也必須一樣4、 同時(shí)上交設(shè)計(jì)的軟盤(或以班刻錄光盤)設(shè)計(jì)題目設(shè)計(jì)類 在i386下寫一個(gè)程序,從實(shí)地址模式進(jìn)入保護(hù)虛地址模式,進(jìn)而啟動(dòng)分頁(yè)機(jī)制平臺(tái):語(yǔ)言:匯編、C DOS下中斷程序設(shè)計(jì)設(shè)計(jì)熱鍵、中斷接管程序等平臺(tái):DOS語(yǔ)言:ASM、
2、Turbo C、Pascal等 DOS下的菜單、圖形界面程序設(shè)計(jì)同1 DOS、下的I/O設(shè)備處理程序,如打印機(jī)驅(qū)動(dòng)程序、字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備驅(qū)動(dòng)程序平臺(tái):DOS 語(yǔ)言:ASM TC 多進(jìn)程處理程序,進(jìn)程創(chuàng)建、通信(管道、信號(hào)量、共享內(nèi)存、消息隊(duì)列等、mmap)、互斥平臺(tái):Windows、Linux語(yǔ)言:同上 多線程程序 線程創(chuàng)建、同步、互斥平臺(tái):Windows、Linux語(yǔ)言:VC LINUX-GCC JAVA Windows下設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)(塊設(shè)備、字符設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備) Linux下設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)(塊設(shè)備、字符設(shè)備、網(wǎng)絡(luò)設(shè)備、USB設(shè)備) Linux調(diào)度實(shí)驗(yàn)
3、與參數(shù)調(diào)整如改變時(shí)間片、優(yōu)先級(jí)等 Linux操作系統(tǒng)內(nèi)存管理機(jī)制實(shí)驗(yàn) Linux文件管理實(shí)驗(yàn),并增加一個(gè)系統(tǒng)調(diào)用 Linux系統(tǒng)調(diào)用過程實(shí)驗(yàn),并增加一個(gè)系統(tǒng)調(diào)用如跟綜一個(gè)系統(tǒng)調(diào)用算法模擬類 調(diào)度算法的模擬 模擬各種調(diào)度算法,并進(jìn)行調(diào)度性能分析 銀行家算法模擬 內(nèi)存管理算法模擬 頁(yè)面置換算法模擬 模擬分段、分頁(yè)情況下的地址變換#include#include#include#define False 0#define True 1int Max100100=0;/各進(jìn)程所需各類資源的最大需求int Avaliable100=0;/系統(tǒng)可用資源char name100=0;/資源的名稱int Al
4、location100100=0;/系統(tǒng)已分配資源int Need100100=0;/還需要資源int Request100=0;/請(qǐng)求資源向量int temp100=0;/存放安全序列int Work100=0;/存放系統(tǒng)可提供資源int M=100;/作業(yè)的最大數(shù)為100int N=100;/資源的最大數(shù)為100void showdata()/顯示資源矩陣int i,j;cout系統(tǒng)目前可用的資源Avaliable:endl;for(i=0;iN;i+)coutnamei ;coutendl;for (j=0;jN;j+)coutAvaliablej ;/輸出分配資源coutendl;co
5、ut Max Allocation Needendl;cout進(jìn)程名 ;for(j=0;j3;j+)for(i=0;iN;i+)coutnamei ;cout ;coutendl;for(i=0;iM;i+)cout i ;for(j=0;jN;j+)coutMaxij ;cout ;for(j=0;jN;j+)coutAllocationij ;cout ;for(j=0;jN;j+)coutNeedij ;coutendl;int changdata(int i)/進(jìn)行資源分配int j;for (j=0;jM;j+) Avaliablej=Avaliablej-Requestj;Allo
6、cationij=Allocationij+Requestj;Needij=Needij-Requestj;return 1;int safe()/安全性算法int i,k=0,m,apply,Finish100=0;int j;int flag=0;Work0=Avaliable0;Work1=Avaliable1;Work2=Avaliable2;for(i=0;iM;i+)apply=0;for(j=0;jN;j+)if (Finishi=False&Needij=Workj)apply+;if(apply=N)for(m=0;mN;m+)Workm=Workm+Allocationim
7、;/變分配數(shù)Finishi=True;tempk=i;i=-1;k+;flag+;for(i=0;iM;i+)if(Finishi=False)cout系統(tǒng)不安全endl;/不成功系統(tǒng)不安全return -1;cout系統(tǒng)是安全的!endl;/如果安全,輸出成功cout分配的序列:;for(i=0;iM;i+)/輸出運(yùn)行進(jìn)程數(shù)組couttempi;if(iM-1) cout;coutendl;return 0;void share()/利用銀行家算法對(duì)申請(qǐng)資源對(duì)進(jìn)行判定char ch;int i=0,j=0;ch=y;cout請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-M-1i;/輸入須申請(qǐng)的資源號(hào)cou
8、t請(qǐng)輸入進(jìn)程 i 申請(qǐng)的資源:endl;for(j=0;jN;j+)coutnamejRequestj;/輸入需要申請(qǐng)的資源for (j=0;jNeedij)/判斷申請(qǐng)是否大于需求,若大于則出錯(cuò)cout進(jìn)程 i申請(qǐng)的資源大于它需要的資源;cout 分配不合理,不予分配!Avaliablej)/判斷申請(qǐng)是否大于當(dāng)前資源,若大于則 /出錯(cuò)cout進(jìn)程i申請(qǐng)的資源大于系統(tǒng)現(xiàn)在可利用的資源;cout 分配出錯(cuò),不予分配!endl;ch=n;break;if(ch=y) changdata(i);/根據(jù)進(jìn)程需求量變換資源showdata();/根據(jù)進(jìn)程需求量顯示變換后的資源safe();/根據(jù)進(jìn)程需求量
9、進(jìn)行銀行家算法判斷void addresources()/添加資源int n,flag;coutn;flag=N;N=N+n;for(int i=0;in;i+)coutnameflag;coutAvaliableflag+;showdata();safe();void delresources()/刪除資源char ming;int i,flag=1;coutming;for(i=0;iN;i+)if(ming=namei)flag=0;break;if(i=N)cout該資源名稱不存在,請(qǐng)重新輸入:;while(flag);for(int j=i;jN-1;j+)namej=namej+1
10、;Avaliablej=Avaliablej+1;N=N-1;showdata();safe();void changeresources()/修改資源函數(shù)cout系統(tǒng)目前可用的資源Avaliable:endl;for(int i=0;iN;i+)coutnamei:Avaliableiendl;cout輸入系統(tǒng)可用資源Avaliable:Avaliable0Avaliable1Avaliable2;cout經(jīng)修改后的系統(tǒng)可用資源為endl;for (int k=0;kN;k+)coutnamek:Avaliablekendl;showdata();safe();void addprocess
11、()/添加作業(yè)int flag=M;M=M+1;cout請(qǐng)輸入該作業(yè)的最打需求量Maxendl;for(int i=0;iN;i+)coutnameiMaxflagi;Needflagi=Maxflagi-Allocationflagi;showdata();safe();int main()/主函數(shù)int i,j,number,choice,m,n,flag;char ming;cout*資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*endl;coutn;N=n;for(i=0;in;i+)cout資源i+1ming;namei=ming;coutnumber;Avaliablei=number;coutend
12、l;coutm;M=m;cout請(qǐng)輸入各進(jìn)程的最大需求量(m*n矩陣)Max:endl;for(i=0;im;i+)for(j=0;jMaxij;doflag=0;cout請(qǐng)輸入各進(jìn)程已經(jīng)申請(qǐng)的資源量(m*n矩陣)Allocation:endl;for(i=0;im;i+)for(j=0;jAllocationij;if(AllocationijMaxij)flag=1;Needij=Maxij-Allocationij;if(flag)cout申請(qǐng)的資源大于最大需求量,請(qǐng)重新輸入!n;while(flag);showdata();/顯示各種資源safe();/用銀行家算法判定系統(tǒng)是否安全wh
13、ile(choice)cout*銀行家算法演示*endl;cout 1:增加資源 endl;cout 2:刪除資源 endl;cout 3:修改資源 endl;cout 4:分配資源 endl;cout 5:增加作業(yè) endl;cout 0:離開 endl;cout*endl;coutchoice;switch(choice)case 1: addresources();break;case 2: delresources();break;case 3: changeresources();break;case 4: share();break;case 5: addprocess();bre
14、ak;case 0: choice=0;break;default: cout請(qǐng)正確選擇功能號(hào)(0-5)!endl;break;return 1;邏輯地址-線性地址-物理地址#include#include#include#define False 0#define True 1int Max100100=0;/各進(jìn)程所需各類資源的最大需求int Avaliable100=0;/系統(tǒng)可用資源char name100=0;/資源的名稱int Allocation100100=0;/系統(tǒng)已分配資源int Need100100=0;/還需要資源int Request100=0;/請(qǐng)求資源向量int
15、temp100=0;/存放安全序列int Work100=0;/存放系統(tǒng)可提供資源int M=100;/作業(yè)的最大數(shù)為100int N=100;/資源的最大數(shù)為100void showdata()/顯示資源矩陣int i,j;cout系統(tǒng)目前可用的資源Avaliable:endl;for(i=0;iN;i+)coutnamei ;coutendl;for (j=0;jN;j+)coutAvaliablej ;/輸出分配資源coutendl;cout Max Allocation Needendl;cout進(jìn)程名 ;for(j=0;j3;j+)for(i=0;iN;i+)coutnamei ;c
16、out ;coutendl;for(i=0;iM;i+)cout i ;for(j=0;jN;j+)coutMaxij ;cout ;for(j=0;jN;j+)coutAllocationij ;cout ;for(j=0;jN;j+)coutNeedij ;coutendl;int changdata(int i)/進(jìn)行資源分配int j;for (j=0;jM;j+) Avaliablej=Avaliablej-Requestj;Allocationij=Allocationij+Requestj;Needij=Needij-Requestj;return 1;int safe()/安全
17、性算法int i,k=0,m,apply,Finish100=0;int j;int flag=0;Work0=Avaliable0;Work1=Avaliable1;Work2=Avaliable2;for(i=0;iM;i+)apply=0;for(j=0;jN;j+)if (Finishi=False&Needij=Workj)apply+;if(apply=N)for(m=0;mN;m+)Workm=Workm+Allocationim;/變分配數(shù)Finishi=True;tempk=i;i=-1;k+;flag+;for(i=0;iM;i+)if(Finishi=False)cout
18、系統(tǒng)不安全endl;/不成功系統(tǒng)不安全return -1;cout系統(tǒng)是安全的!endl;/如果安全,輸出成功cout分配的序列:;for(i=0;iM;i+)/輸出運(yùn)行進(jìn)程數(shù)組couttempi;if(iM-1) cout;coutendl;return 0;void share()/利用銀行家算法對(duì)申請(qǐng)資源對(duì)進(jìn)行判定char ch;int i=0,j=0;ch=y;cout請(qǐng)輸入要求分配的資源進(jìn)程號(hào)(0-M-1i;/輸入須申請(qǐng)的資源號(hào)cout請(qǐng)輸入進(jìn)程 i 申請(qǐng)的資源:endl;for(j=0;jN;j+)coutnamejRequestj;/輸入需要申請(qǐng)的資源for (j=0;jNeed
19、ij)/判斷申請(qǐng)是否大于需求,若大于則出錯(cuò)cout進(jìn)程 i申請(qǐng)的資源大于它需要的資源;cout 分配不合理,不予分配!Avaliablej)/判斷申請(qǐng)是否大于當(dāng)前資源,若大于則 /出錯(cuò)cout進(jìn)程i申請(qǐng)的資源大于系統(tǒng)現(xiàn)在可利用的資源;cout 分配出錯(cuò),不予分配!endl;ch=n;break;if(ch=y) changdata(i);/根據(jù)進(jìn)程需求量變換資源showdata();/根據(jù)進(jìn)程需求量顯示變換后的資源safe();/根據(jù)進(jìn)程需求量進(jìn)行銀行家算法判斷void addresources()/添加資源int n,flag;coutn;flag=N;N=N+n;for(int i=0;i
20、n;i+)coutnameflag;coutAvaliableflag+;showdata();safe();void delresources()/刪除資源char ming;int i,flag=1;coutming;for(i=0;iN;i+)if(ming=namei)flag=0;break;if(i=N)cout該資源名稱不存在,請(qǐng)重新輸入:;while(flag);for(int j=i;jN-1;j+)namej=namej+1;Avaliablej=Avaliablej+1;N=N-1;showdata();safe();void changeresources()/修改資源
21、函數(shù)cout系統(tǒng)目前可用的資源Avaliable:endl;for(int i=0;iN;i+)coutnamei:Avaliableiendl;cout輸入系統(tǒng)可用資源Avaliable:Avaliable0Avaliable1Avaliable2;cout經(jīng)修改后的系統(tǒng)可用資源為endl;for (int k=0;kN;k+)coutnamek:Avaliablekendl;showdata();safe();void addprocess()/添加作業(yè)int flag=M;M=M+1;cout請(qǐng)輸入該作業(yè)的最打需求量Maxendl;for(int i=0;iN;i+)coutnameiMaxflagi;Needflagi=Maxflagi-Allocationflagi;showdata();safe();int main()/主函數(shù)int i,j,number,choice,m,n,flag;char ming;cout*資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)*endl;coutn;N=n;for(i=0;in;i+)cout資源i+1ming;n
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高職院校專業(yè)技能培訓(xùn)課程大全
- 2026年度醫(yī)保制度培訓(xùn)考試真題試卷+答案
- 看零件圖題目及答案
- 養(yǎng)老院入住資格審查制度
- 養(yǎng)老院老人休閑娛樂設(shè)施維護(hù)制度
- 養(yǎng)老院老人入住手續(xù)辦理制度
- 養(yǎng)老院老人健康飲食營(yíng)養(yǎng)師表彰制度
- 護(hù)士筆試考試題目及答案
- 辦公室員工培訓(xùn)效果反饋制度
- 銀行結(jié)算制度
- 施工合作協(xié)議書范文范本電子版下載
- 建筑施工企業(yè)主要負(fù)責(zé)人項(xiàng)目負(fù)責(zé)人專職安全生產(chǎn)管理人員安全生產(chǎn)培訓(xùn)考核教材
- 煙草物理檢驗(yàn)競(jìng)賽考試題庫(kù)及答案
- 人才技術(shù)入股公司股權(quán)分配協(xié)議書
- 招聘會(huì)會(huì)展服務(wù)投標(biāo)方案(技術(shù)標(biāo) )
- 馬超-水田省力化劑型的開發(fā)及應(yīng)用研究-
- 頭面部的神經(jīng)阻滯課件
- 友達(dá)光電(昆山)有限公司第一階段建設(shè)項(xiàng)目環(huán)?!叭瑫r(shí)”執(zhí)行情況報(bào)告
- 光學(xué)下擺拋光技術(shù)培訓(xùn)教材
- LY/T 2456-2015桉樹豐產(chǎn)林經(jīng)營(yíng)技術(shù)規(guī)程
- GB/T 9414.9-2017維修性第9部分:維修和維修保障
評(píng)論
0/150
提交評(píng)論