freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)(銀行家算法)-wenkub

2023-07-22 14:14:42 本頁(yè)面
 

【正文】 } ()。 } else{ if(i=0){ cout您輸入的數(shù)據(jù)不合法,請(qǐng)重新輸入!endl。 if(()){ cout您輸入的數(shù)據(jù)不合法,請(qǐng)重新輸入!endl。r,_Control amp。}1. vector_Process create(_Resource amp。 case 3:exit(0)。break。 } ()。 } else{ if(x=0) { cout您輸入的數(shù)據(jù)不合法,請(qǐng)重新輸入!endl。 if(()){ cout您輸入的數(shù)據(jù)不合法,請(qǐng)重新輸入!endl。 coutendl。 vector_Process p。 init方法的流程圖五、系統(tǒng)實(shí)現(xiàn)系統(tǒng)的實(shí)現(xiàn)采用C++語(yǔ)言,并使用Microsoft Visual Studio 2010作為平臺(tái)進(jìn)行實(shí)現(xiàn)。 銀行家算法流程圖3) bool safeChecked(_Resource amp。r)。c) 。c)(執(zhí)行進(jìn)程)。c)(創(chuàng)建進(jìn)程)。四、詳細(xì)設(shè)計(jì) 由于系統(tǒng)是被部署在控制臺(tái)上,所以交互層的實(shí)現(xiàn)比較簡(jiǎn)單。其中Request是需求向量。 系統(tǒng)靜態(tài)模型圖模擬系統(tǒng)共有3個(gè)類、4中新的數(shù)據(jù)類型(其中4種新的數(shù)據(jù)類型用衍形加以定義)。控制層:負(fù)責(zé)管理進(jìn)程與資源,是整個(gè)系統(tǒng)的核心部分,銀行家算法與安全性算法均在這一層中。7. 擴(kuò)展點(diǎn)無(wú)三、總體設(shè)計(jì) 系統(tǒng)分層模型圖。 顯示各數(shù)據(jù)結(jié)構(gòu)信息。數(shù)據(jù)合法性檢查不通過(guò):備選流三。 備選流四:在基本流步驟6中,規(guī)則檢查不通過(guò),提示輸入的請(qǐng)求向量有問(wèn)題,請(qǐng)進(jìn)程等待。6. 返回安全序列和各數(shù)據(jù)結(jié)構(gòu) 系統(tǒng)處理進(jìn)程的請(qǐng)求向量,并返回安全序列和數(shù)據(jù)結(jié)構(gòu)。2. 事件流 基本流1. 數(shù)據(jù)合法性檢查 用戶選擇“執(zhí)行進(jìn)程”選項(xiàng),系統(tǒng)對(duì)用戶輸入的合法性進(jìn)行檢查。 顯示各數(shù)據(jù)結(jié)構(gòu)信息。 數(shù)據(jù)合法性檢查不通過(guò):備選流二。 備選流二:在基本流步驟3中,規(guī)則檢查不通過(guò),提示輸入數(shù)據(jù)不合法,請(qǐng)重新輸入。2. 事件流 基本流1. 數(shù)據(jù)合法性檢查 用戶選擇“創(chuàng)建進(jìn)程”選項(xiàng),系統(tǒng)對(duì)用戶輸入的合法性進(jìn)行檢查。 Finish。2) 如果Request≤Avaliable,則轉(zhuǎn)向步驟3;否則表示系統(tǒng)中尚無(wú)足夠的資源,進(jìn)程必須等待。3) 分配矩陣Allocation這是一個(gè)nm的矩陣,他定義了系統(tǒng)中每一類資源當(dāng)前已分配給每一進(jìn)程的資源數(shù)。二、需求分析問(wèn)題描述:銀行家算法是避免死鎖的有效辦法,為了驗(yàn)證銀行家算法可以避免死鎖,需要編寫程序模擬銀行家算法并加以驗(yàn)證。3) 安全性算法。為了避免死鎖,使得進(jìn)程的執(zhí)行能夠順利完成,引入銀行家算法進(jìn)行解決。《操作系統(tǒng)課程設(shè)計(jì)》題目:銀行家算法的設(shè)計(jì)與實(shí)現(xiàn)院、 系: 計(jì)算機(jī)信息與技術(shù)系 學(xué)科專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào): B10060123 學(xué)生姓名: 徐飛 指導(dǎo)教師 : 姜虹 2012年06月39 / 42目錄一、緒論 1二、需求分析 2 2 3 4 4:創(chuàng)建進(jìn)程 4:執(zhí)行進(jìn)程 5三、總體設(shè)計(jì) 7 7 7 8四、詳細(xì)設(shè)計(jì) 9 9 9 11 12 12五、系統(tǒng)實(shí)現(xiàn) 14 14 15 18 21 22六、測(cè)試與分析 24 24 24 24 25 25課程設(shè)計(jì)總結(jié) 26參考文獻(xiàn) 27附錄A 28一、緒論在具有多道程序并發(fā)執(zhí)行能力的系統(tǒng)中,系統(tǒng)資源的利用率、進(jìn)程執(zhí)行的效率都大幅增加,但可能發(fā)生“死鎖”的危險(xiǎn)。銀行家算法是具有代表性的避免死鎖的算法,由于該算法能用于銀行系統(tǒng)現(xiàn)金貸款的發(fā)放而得名。其中相應(yīng)的數(shù)據(jù)結(jié)構(gòu)定義了銀行家算法中需要使用的若干數(shù)據(jù)結(jié)構(gòu),銀行家算法操作數(shù)據(jù)結(jié)構(gòu)以為安全性算法提供檢測(cè)現(xiàn)場(chǎng),安全性算法則是檢測(cè)現(xiàn)場(chǎng)是否出于安全態(tài)。銀行家算法所涉及的數(shù)據(jù)結(jié)構(gòu):1) 可利用資源向量Avaliable它是一個(gè)vector向量,可被初始化任意長(zhǎng)度,其中每一個(gè)元素代表一類可利用資源的數(shù)目。4) 需求矩陣Need它是一個(gè)nm的矩陣,用以表示每一個(gè)進(jìn)程尚需的各類資源數(shù)。3) 系統(tǒng)進(jìn)行試分配:Avaliable=AvaliableRequestAllocation=Allocation=RequestNeed=NeedRequest4) 系統(tǒng)執(zhí)行安全性檢查,若系統(tǒng)處于安全態(tài),則正式將資源分配給進(jìn)程;若處于不安全態(tài),則將此次分配作廢,回滾到分配前的狀態(tài),并通知進(jìn)程等待。他表示系統(tǒng)是否有足夠的資源分配給進(jìn)程,使之運(yùn)行完成,初始狀態(tài)為Finish[i]=false;當(dāng)有足夠資源分配給進(jìn)程時(shí),F(xiàn)inish[i]=true。2. 提示用戶輸入創(chuàng)建進(jìn)程的個(gè)數(shù) 用戶輸入進(jìn)程的個(gè)數(shù)。 備選流三:在基本流步驟5中,規(guī)則檢查不通過(guò),提示輸入數(shù)據(jù)不合法,請(qǐng)重新輸入。 數(shù)據(jù)合法性檢查不通過(guò):備選流三。 顯示輸入數(shù)據(jù)有誤,請(qǐng)重新輸入。2. 提示用戶需要執(zhí)行的進(jìn)程編號(hào) 用戶輸入進(jìn)程號(hào)。 備選流 備選流一:在基本流步驟1中,規(guī)則檢查不通過(guò),提示輸入數(shù)據(jù)不合法,請(qǐng)重新輸入。3. 用例場(chǎng)景 成功場(chǎng)景進(jìn)程成功被分配資源:基本流。數(shù)據(jù)不滿足系統(tǒng)要求:備選流四。 顯示輸入數(shù)據(jù)有誤,請(qǐng)重新輸入。交互層:主要功能是為了與用戶進(jìn)行交互,包括系統(tǒng)的初始化,創(chuàng)建多個(gè)進(jìn)程,置進(jìn)程的請(qǐng)求向量。資源層:主要負(fù)責(zé)管理各種資源向量或矩陣。1) _Resource類掌管全局的資源,各種數(shù)據(jù)結(jié)構(gòu)都在其中定義,目的是要把操作與數(shù)據(jù)分離,便于程序的設(shè)計(jì)以及維護(hù)。可用_Process來(lái)實(shí)例化任意個(gè)進(jìn)程,從而使程序的擴(kuò)展性、安全性以及結(jié)構(gòu)都得到極大的提升。 模擬系統(tǒng)選擇菜單 交互邏輯層的作用是將用戶的輸入信息與控制層進(jìn)行協(xié)作。 create函數(shù)流程圖void run(vector_Process amp。 run函數(shù)流程圖void out(vector_Process amp。 out函數(shù)流程圖_Control類的設(shè)計(jì)。 add_Process方法流程圖2) int run_Process(_Process amp。r_2)(安全性算法) 安全性算法流程圖類_Process的設(shè)計(jì)void init(_Resource amp。交互層被直接設(shè)計(jì)成main函數(shù):int main(){ _Resource r。 bool is=false。 coutendl。 ()。 ()。 ()。 case 2:if(is)run(p,r,c)。 default:cout輸入數(shù)據(jù)不合法,請(qǐng)重新輸入!endl。r,_Control amp。c){ cout請(qǐng)輸入需要?jiǎng)?chuàng)建的進(jìn)程數(shù)目:endl。 ()。 ()。 ()。 for(int j=0。 for(vector_Process::iterator iter=()。 x++。 } //初始安全態(tài)檢查 if((r)){。 } return p。c)(執(zhí)行進(jìn)程)的實(shí)現(xiàn) void run(vector_Process amp。 cout請(qǐng)輸入需要執(zhí)行的進(jìn)程號(hào):endl。 ()。 ()。 break。sz++){ cout請(qǐng)輸入請(qǐng)求向量的第sz個(gè)值:endl。 ()。 ()。 ()。}3. void out(vector_Process amp。 void out(vector_Process amp。 for(vectorint::size_type sz=0。 //輸出Max矩陣 coutMax:endl。sz[i].size()。 for(vectorAllocation_row::size_type i=0。sz++){ cout[i][sz] 。i()。 } coutendl。r)方法的實(shí)現(xiàn)。 //進(jìn)程數(shù)加1 //置最大需求矩陣 Max_row mr。 } (mr)。i++){ (0)。iter!=()。p,int n,_Resource amp。r){ //先判斷Request=Need bool temp_1=true。endl。index++){ if([index][index]) { cout系統(tǒng)中尚無(wú)足夠的資源,Pn必須等待!endl。 vectorint::iterator iter_3=[n].begin()。iter_1++){ //Available:=AvailableRequest *iter_2=*iter_2*iter_1。 iter_3++。 for(int i=0。 } } if(temp){ //置最大需求矩陣 for(int i=0。i()。 } return 0。r_2)(安全性算法)的實(shí)現(xiàn)。iter!=()。iter!=()。i++){ if(!Finish[i]){ bool temp=false。 } else{ temp=false。iter_1!=()。 Finish[i]=true。index++){ if(Finish[index])。r)方法的實(shí)現(xiàn)。i++){ int temp。 ()。 ()。 ()。void _Re
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1