下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4頁共4頁操作系統(tǒng)課程設(shè)計(jì)銀行家算法報(bào)告《操作系統(tǒng)--銀行家算法》課程設(shè)計(jì)報(bào)告姓名:學(xué)號:班級:計(jì)科班專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)老師:時(shí)間:2022__大學(xué)計(jì)算機(jī)科學(xué)與信息學(xué)院目錄1課程設(shè)計(jì)目的……………………12課程設(shè)計(jì)的要求…………………13課程設(shè)計(jì)題目描繪………………24課程設(shè)計(jì)之銀行家算法原理……25程序構(gòu)造分析^p及代碼實(shí)現(xiàn)……46課程設(shè)計(jì)總結(jié)……………………25一、課程設(shè)計(jì)的目的操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心系統(tǒng)軟件,它負(fù)責(zé)控制和管理整個(gè)系統(tǒng)的資并組織用戶協(xié)調(diào)使用這些資,使計(jì)算機(jī)高效的工作。《操作系統(tǒng)課程設(shè)計(jì)》是《操作系統(tǒng)》理論課的必要補(bǔ)充,是復(fù)習(xí)和檢驗(yàn)所學(xué)課程的重要手段,本課程設(shè)計(jì)的目的是綜合應(yīng)用學(xué)生所學(xué)知識,通過實(shí)驗(yàn)環(huán)節(jié),加深學(xué)生對操作系統(tǒng)根本原理和工作過程的理解,進(jìn)步學(xué)生獨(dú)立分析^p問題、解決問題的才能,增強(qiáng)學(xué)生的動手才能。二、課程設(shè)計(jì)的要求1.分析^p設(shè)計(jì)內(nèi)容,給出解決方案〔要說明設(shè)計(jì)實(shí)現(xiàn)的原理,采用的數(shù)據(jù)構(gòu)造〕。2.畫出程序的根本構(gòu)造框圖和流程圖。3.對程序的每一局部要有詳細(xì)的設(shè)計(jì)分析^p說明。4.代碼格式要標(biāo)準(zhǔn)。5.設(shè)計(jì)適宜的測試用例,對得到的運(yùn)行結(jié)果要有分析^p。6.設(shè)計(jì)中遇到的問題,設(shè)計(jì)的心得體會。7.按期提交完好的程序代碼、可執(zhí)行程序和課程設(shè)計(jì)報(bào)告。三、課程設(shè)計(jì)題目描繪銀行家算法是一種最有代表性的防止死鎖的算法。要解釋銀行家算法,必須先解釋操作系統(tǒng)平安狀態(tài)和不平安狀態(tài)。平安狀態(tài):假如存在一個(gè)由系統(tǒng)中所有進(jìn)程構(gòu)成的平安序列P1,…,Pn,那么系統(tǒng)處于平安狀態(tài)。平安狀態(tài)一定是沒有死鎖發(fā)生。不平安狀態(tài):不存在一個(gè)平安序列。不平安狀態(tài)不一定導(dǎo)致死鎖。那么什么是平安序列呢?平安序列:一個(gè)進(jìn)程序列{P1,…,Pn}是平安的,假如對于每一個(gè)進(jìn)程Pi(1≤i≤n〕,它以后尚需要的資量不超過系統(tǒng)當(dāng)前剩余資量與所有進(jìn)程Pj(j>“#include#include#include//定義全局變量constint_=10,y=10;//常量,便于修改intAvailable[_];//各資可利用的數(shù)量intAllocation[y][y];//各進(jìn)程當(dāng)前已分配的資數(shù)量intMa_[y][y];//各進(jìn)程對各類資的最大需求數(shù)intNeed[y][y];//尚需多少資intRequest[_];//申請多少資intWork[_];//工作向量,表示系統(tǒng)可提供應(yīng)進(jìn)程繼續(xù)運(yùn)行所需的各類資數(shù)量intFinish[y];//表示系統(tǒng)是否有足夠的資分配給進(jìn)程,1為是intp[y];//存儲平安序列inti,j;//i表示進(jìn)程,j表示資intn,m;//n為進(jìn)程i的數(shù)量,m為資j種類數(shù)intl=0;//l用來記錄有幾個(gè)進(jìn)程是Finish[i]=1的,當(dāng)l=n是說明系統(tǒng)狀態(tài)是平安的intcounter=0;//函數(shù)聲明voidchushihua;//初始化函數(shù)voidsafe;//平安性算法voidshow;//函數(shù)show,輸出當(dāng)前狀態(tài)voidbank;//銀行家算法voidjieshu;//完畢函數(shù)voidchushihua{cout>n;cout>m;cout>Available[j];//輸入數(shù)字的過程Work[j]=Available[j];//初始化Work[j],它的初始值就是當(dāng)前可用的資數(shù)}cout>Allocation[i][j];}cout>Ma_[i][j];if(Ma_[i][j]>=Allocation[i][j])//假設(shè)最大需求大于已分配,那么計(jì)算需求量Need[i][j]=Ma_[i][j]-Allocation[i][j];elseNeed[i][j]=0;//Ma_小于已分配的時(shí)候,此類資已足夠不需再申請}cout=Need[i][j])counter=counter+1;//可用大于需求,記數(shù)}if(counter==m)//i進(jìn)程的每類資都符合Work[j]>=Need[i][j]條件二{p[l]=i;//存儲平安序列Finish[i]=1;//i進(jìn)程標(biāo)志為可分配for(j=0;j>k;coutn-1)//輸入錯(cuò)誤處理{cout>k;cout>Request[j];coutNeed[k][j]){//申請大于需求量時(shí)出錯(cuò),提示重新輸入〔貸款數(shù)目不允許超過需求數(shù)目〕coutAvailable[j]){//申請大于可利用量,應(yīng)該阻塞等待?……???coutNeed[k][j]);//Request[j]>Available[j]||}//改變Avilable、Allocation、Need的值for(j=0;j>“>b;cout>“<<“進(jìn)程“<<“(“<<p[i]<<“)“;for(i=0;i<n;i++)Finish[i]=0;//所有進(jìn)程置為未分配狀態(tài)cout<<endl;}bank;//調(diào)用銀行家算法函數(shù)cout<<“\t\t演示計(jì)算完畢“<<endl;return0;}運(yùn)行結(jié)果:1.初始化結(jié)果2.檢測系統(tǒng)資分配是否平安結(jié)果:六、課程設(shè)計(jì)的總結(jié)操作系統(tǒng)的根本特征是并發(fā)與共享。系統(tǒng)允許多個(gè)進(jìn)程并發(fā)執(zhí)行,并且共享系統(tǒng)的軟、硬件資。為了最大限度的利用計(jì)算機(jī)系統(tǒng)的資,操作系統(tǒng)應(yīng)采用動態(tài)分配的策略,但是這樣就容易因資缺乏,分配不當(dāng)而引起“死鎖”。而我本次課程設(shè)計(jì)就是得用銀行家算法來防止“死鎖”。銀行家算法就是一個(gè)分配資的過程,使分配的序列不會產(chǎn)生死鎖。此算法的中心思想是:按該法分配資時(shí),每次分配后總存在著一個(gè)進(jìn)程,假如讓它單獨(dú)運(yùn)行下去,必然可以獲得它所需要的全部資,也就是說,它能完畢,而它完畢后可以歸還這類資以滿足其他申請者的需要。本次程序就是按照上面的思路展開的。但是因?yàn)闀r(shí)間上的倉促,本課程設(shè)計(jì)的存在著以下缺乏:一、不能實(shí)現(xiàn)并發(fā)操作,即當(dāng)總資同時(shí)滿足幾個(gè)進(jìn)程所需要的資數(shù)時(shí),這些進(jìn)程不能同時(shí)進(jìn)展,只能一一按進(jìn)程順序執(zhí)行。二、掃描進(jìn)程順序單一,只能按進(jìn)程到來的順序〔即編號〕來掃描,從而產(chǎn)生的平安順序只能是在這個(gè)順序的根底上產(chǎn)生的,而其實(shí)平安順序是有多個(gè)的。三、對進(jìn)程數(shù)和資數(shù)進(jìn)展的數(shù)量進(jìn)展了限制,都只能最多有十個(gè)。四、運(yùn)行程序后,界面較差,進(jìn)程數(shù),所需要資數(shù),已分配資數(shù),能用資數(shù),不能一目了然。這次課程設(shè)計(jì)時(shí)間上雖說倉促點(diǎn),但是我仍然學(xué)到了很多的實(shí)用性知識。除了更深的理解這個(gè)算法,而且對C語言進(jìn)展了復(fù)習(xí),而且
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 王牌主持活動策劃方案(3篇)
- 2026湖南師大附中植基中學(xué)公開招聘4人備考考試試題及答案解析
- 巴中市公安局2026年度公開招聘警務(wù)輔助人員 (47人)備考考試試題及答案解析
- 打靶射擊活動方案策劃(3篇)
- 2026廣西河池市南丹縣芒場鎮(zhèn)巴平衛(wèi)生所招聘2人備考考試題庫及答案解析
- 2026年度菏澤鄄城縣事業(yè)單位公開招聘初級綜合類崗位人員備考考試題庫及答案解析
- 2026廣東陽江市陽西縣市場化選聘縣管國有企業(yè)領(lǐng)導(dǎo)人員1人備考考試試題及答案解析
- 2026年遼寧省文物考古研究院面向社會公開招聘工作人員招聘參考考試題庫及答案解析
- 工業(yè)機(jī)器人離線編程 第2版-課件第1章 工業(yè)機(jī)器人認(rèn)知
- 《連加、連減、加減混合》教案數(shù)學(xué)課件
- 2025年土地代持租賃協(xié)議
- 影視項(xiàng)目策劃與后期制作流程
- 相信我支持我作文3篇
- (完整版)韓國商法
- 《既有工業(yè)區(qū)改造環(huán)境提升技術(shù)導(dǎo)則》
- 湖北省荊州市八縣市2023-2024學(xué)年高二上學(xué)期期末考試物理試卷
- 五年級上冊道德與法治期末測試卷推薦
- 重點(diǎn)傳染病診斷標(biāo)準(zhǔn)培訓(xùn)診斷標(biāo)準(zhǔn)
- 蘭渝鐵路指導(dǎo)性施工組織設(shè)計(jì)
- CJJ82-2019-園林綠化工程施工及驗(yàn)收規(guī)范
- 小學(xué)三年級閱讀練習(xí)題《鴨兒餃子鋪》原文及答案
評論
0/150
提交評論