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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計進程_銀行家_頁面調(diào)度(編輯修改稿)

2025-02-12 15:50 本頁面
 

【文章內(nèi)容簡介】 ].WaitTime pcbs[i].RunTime pcbs[i].TurnoverTime pcbs[i].WeighTurnTimeendl。 }cout 總周轉(zhuǎn)時間:Total1 平均周轉(zhuǎn)時間:Total1/(PCBNum1) 總帶權(quán)周轉(zhuǎn)時間:Total2 平均帶權(quán)周轉(zhuǎn)時間:Total2/(PCBNum1)endl。 coutendlendl。} //void SPF() void interface() //顯示界面信息{ coutendlendl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ endl。 cout ▓▓    ☆ ★ ▓▓ endl。 cout ▓▓ ★  歡迎進入進程調(diào)度模擬系統(tǒng)  ☆ ▓▓ endl。 cout ▓▓ ☆   ★ ▓▓ endl。 cout ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ┏━━━━━━━━━━━━━━━━━━┓ ▓▓ endl。 cout ▓▓ ┃   實驗一:進程調(diào)度算法    ┃ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 coutendlendl。 } //void interface()//主函數(shù) void main() { int Input。 bool bGoOn。 char sGoOn[1]。 interface()。 //顯示界面信息 initPCB()。 //PCB初始化函數(shù) bGoOn= true。 strcpy(sGoOn, )。 if(readData()==1) //標(biāo)志 讀進程流文件數(shù)據(jù)函數(shù) 執(zhí)行是否正確 { while (bGoOn) { coutendl 請選擇進程調(diào)度功能,輸入(1 or 2 or 3 or 4)endlendl。 cout 1 先來先服務(wù)(FCFS)算法endl 2 優(yōu)先數(shù)(privilege)調(diào)度算法endl 3 時間片輪轉(zhuǎn)(HRN)調(diào)度算法 endl 4 短進程優(yōu)先(SPF)調(diào)度算法 endl。 cinInput。 switch(Input) { case 1: FCFS()。 //先來先服務(wù)算法 break。 case 2: privilege()。 //優(yōu)先數(shù)調(diào)度算法 break。 case 3: timer()。 //時間片輪轉(zhuǎn)調(diào)度算法 break。 case 4: SPF()。 //短進程優(yōu)先調(diào)度算法 break。 default: printf(\n 輸入的算法編號錯誤!!\n)。 break。 } //switch(Input) bGoOn= false。 strcpy(sGoOn, )。 coutendl。 cout 要繼續(xù)進行進程調(diào)度算法模擬嗎?(Y/N) 。 cinsGoOn。 bGoOn=(sGoOn[0]==39。y39。||sGoOn[0]==39。Y39。)。 }//while bGoOn } //if(readData()==1)}//void main()e、運行截圖三、 銀行家算法進程死鎖狀態(tài) 在多道程序系統(tǒng)中,雖然可借助于多個進程的并發(fā)執(zhí)行來改善系統(tǒng)的資源利用率,提高系統(tǒng)的吞吐量,但可能發(fā)生一種危險——死鎖。所謂死鎖(Deadlock),是指多個進程在運行過程中因爭奪資源而造成的一種僵局(DeadlyEmbrace),當(dāng)進程處于這種僵持狀態(tài)時,若無外力作用,他們都將無法向前推進。 具有代表性的避免死鎖的算法,是Djikstra的銀行家算法,這是由于該算法能用于系統(tǒng)現(xiàn)金貸款的發(fā)放而得名的。算法原理及設(shè)計(1)銀行家算法思想:對用戶提出的請求進行合法性檢查,即檢查請求的是不大于需要的,是否不大于可利用的。若請求合法,則進行試分配。最后對試分配后的狀態(tài)調(diào)用安全性檢查算法進行安全性檢查。若安全,則分配,否則,不分配,恢復(fù)原來狀態(tài),拒絕申請。(2)銀行家算法數(shù)據(jù)結(jié)構(gòu):可利用資源向量int Available[j] j為資源的種類最大需求矩陣int Max[i][j] i為進程的數(shù)量分配矩陣int Allocation[i][j]需求矩陣int need[i][j]= Max[i][j] Allocation[i][j]申請各類資源數(shù)量int Request i[j] i進程申請j資源的數(shù)量工作向量int Work[x] int Finish[y](3)銀行家算法進程i發(fā)出請求申請k個j資源,Request i[j]=k a、檢查申請量是否不大于需求量:Request i[j]=need[i,j],若條件不符重新輸入,不允許申請大于需求量。b、檢查申請量是否小于系統(tǒng)中的可利用資源數(shù)量:Request i[j]=available[i,j],若條件不符就申請失敗,阻塞該進程,用goto語句跳轉(zhuǎn)到重新申請資源。c、若以上兩個條件都滿足,則系統(tǒng)試探著將資源分配給申請的進程,并修改下面數(shù)據(jù)結(jié)構(gòu)中的數(shù)值:Available[i,j]= Available[i,j] Request i[j];Allocation[i][j]= Allocation[i][j]+ Request i[j];need[i][j]= need[i][j] Request i[j];d、試分配后,執(zhí)行安全性檢查,調(diào)用safe()函數(shù)檢查此次資源分配后系統(tǒng)是否處于安全狀態(tài)。若安全,才正式將資源分配給進程;否則本次試探分配作廢,恢復(fù)原來的資源分配狀態(tài),讓該進程等待。e、用do{…}while 循環(huán)語句實現(xiàn)輸入字符y/n判斷是否繼續(xù)進行資源申請。(4)安全性檢查算法a、設(shè)置兩個向量:工作向量Work,它表示系統(tǒng)可提供給進程繼續(xù)運行所需的各類資源數(shù)目,在執(zhí)行安全性算法開始時,Work= Available。Finish,它表示系統(tǒng)是否有足夠的資源分配給進程,使之運行完成。開始時先做Finish[i]=0;當(dāng)有足夠的資源分配給進程時,再令Finish[i]=1。b、在進程中查找符合以下條件的進程:條件1:Finish[i]=0;條件2:need[i][j]=Work[j]若找到,則執(zhí)行步驟(3)否則,執(zhí)行步驟(4)c、當(dāng)進程獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給它的資源,故應(yīng)執(zhí)行:Work[j]= Work[j]+ Allocation[i][j];Finish[i]=1;goto step 2;d、如果所有的Finish[i]=1都滿足,則表示系統(tǒng)處于安全狀態(tài),否則,處于不安全狀態(tài)。初始化函數(shù)chushihua()開始(5)操作系統(tǒng)銀行家算法流程圖:輸入各進程當(dāng)前已分配的資源數(shù)輸入各進程對各類資源的最大需求輸出提示:輸入有誤,請重新輸入初始化函數(shù)chushihua()結(jié)束,銀行家函數(shù) Bank()提出請求REQUEST[i]Error。REQUEST[i]=NEED[i]輸出提示:你的請求被拒!REQUEST[i]=AVAILABLE[[i]Error。Safe()。AVAILABLE[i]=REQUEST[i];ALLOCATION[i]=REQUEST[i]。NEED[i]+=REQUEST[i];輸出提示:同意分配請求是否進行再次分配退出程序,銀行家算法Bank()結(jié)束。Work=AVAILABLE。FINISH=false;安全性算法Safe()開始輸出提示:系統(tǒng)是不安全的NEED[i]=Workamp。amp。FINISH[i]=false。Work+=ALLOCATION[i]。FINISH[i]=ture。安全算法safe()結(jié)束安全,輸出安全序列Return ture;代碼設(shè)計include include vector include iomanipinclude using namespace std。 define TRUE 1 //定義 TRUE =1define FALSE 0 //定義 FLASE=0void bank(vectorint,vectorvectorint ,vectorvectorint ,int ,int )。 //聲明bank(應(yīng)行家算法)int safe(vectorint Available,vectorvectorint Need,vectorvectorint Allocation,int n,int m)。//聲明safe()安全性算法void init()。/*************************************主函數(shù)main()**************************************************************/void main(){ init()。 int safe(vectorint Available,vectorvectorint Need,vectorvectorint Allocation,int n,int m)。}/**************************************初始化函數(shù)init()*********************************************************/void init(){ int m。 //m資源類數(shù) int n。 //進程數(shù) system(color 0B)。 coutendlendl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ▓▓ endl。 cout ▓▓ ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ▓▓ endl。
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1