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

正文內(nèi)容

銀行家算法實(shí)驗(yàn)報(bào)告(編輯修改稿)

2024-09-10 23:53 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 出調(diào)試(1) 能正確無誤的輸入進(jìn)程名向量processnema[N],輸入系統(tǒng)現(xiàn)有各類資源數(shù)量Available[M]向量,輸入每個(gè)進(jìn)程對(duì)各類資源的最大需求數(shù)Max[N][M]矩陣,輸入系統(tǒng)給每個(gè)進(jìn)程已分配的各類資源數(shù)Allocation[N][M]矩陣。輸出程序過程如下圖所示:(2) 在進(jìn)程信息輸入中沒有出現(xiàn)多大問題,在進(jìn)程信息輸出時(shí),按設(shè)計(jì)要求輸出的話應(yīng)該是一個(gè)表格形式,在輸出函數(shù)設(shè)計(jì)最初,由于有些部分分割或空格沒有填充好,導(dǎo)致輸出表格比較亂,沒有達(dá)到設(shè)計(jì)要求,經(jīng)過修改后輸出形式才符合了設(shè)計(jì)要求,進(jìn)程信息輸入完成后,初始狀態(tài)各進(jìn)程信息輸出如下:進(jìn)程請(qǐng)求資源輸入出錯(cuò)提示信息處理在系統(tǒng)詢問是否有進(jìn)程申請(qǐng)資源時(shí),如果有輸入信息出錯(cuò),系統(tǒng)會(huì)給與出錯(cuò)提示,如果輸入信息正確則系統(tǒng)將繼續(xù)執(zhí)行下面操作,執(zhí)行如下: 判斷是否可以試分配函數(shù)int check_distribution(int* p,int k)在這個(gè)函數(shù)中主要是對(duì)申請(qǐng)資源的進(jìn)程申請(qǐng)的資源數(shù)量是否滿足約束條件Request []=need[]或Request []=available[],如果不滿足將打出提示信息,如果滿足,則返回1繼續(xù)執(zhí)行下面程序,執(zhí)行結(jié)果如下:求安全序列函數(shù)int check_safe()如果申請(qǐng)資源的進(jìn)程申請(qǐng)的資源數(shù)目滿足試分配條件,則再用這個(gè)函數(shù)來求試分配后的安全序列,如果可以求出安全序列,則說明這次分配不會(huì)使系統(tǒng)進(jìn)入不安全狀態(tài),正式將資源分配給該進(jìn)程,修改系統(tǒng)資源信息。如果求不出安全序列,說明這次分配后系統(tǒng)會(huì)進(jìn)入不安全狀態(tài),不能給該進(jìn)程分配資源,系統(tǒng)恢復(fù)初始狀態(tài),打印出提示信息,執(zhí)行結(jié)果如下:六、總結(jié)經(jīng)過幾天的操作系統(tǒng)課程設(shè)計(jì),我學(xué)習(xí)到了很多東西。首先,這次課程設(shè)計(jì)的內(nèi)容是銀行家算法,我用的編程工具是VC++,語言使用的是C語言,目的是模擬實(shí)現(xiàn)處理機(jī)避免死鎖;其次,通過模擬實(shí)現(xiàn)算法,我更進(jìn)一步地學(xué)習(xí)了C語言,這使我的編程能力得到了提高。當(dāng)然最重要的是我更深地理解了對(duì)于死鎖的避免,死鎖是會(huì)影響并發(fā)執(zhí)行的,是操作系統(tǒng)最需要解決得問題。解決死鎖,我們要檢測(cè)一個(gè)安全狀態(tài),雖然并非所有的不安全狀態(tài)都會(huì)產(chǎn)生死鎖狀態(tài),但系統(tǒng)進(jìn)入不安全狀態(tài)時(shí),便可能進(jìn)而進(jìn)入死鎖狀態(tài)后,當(dāng)系統(tǒng)在進(jìn)行資源管理時(shí),如果對(duì)進(jìn)城申請(qǐng)的資源分配不當(dāng),可能會(huì)使系統(tǒng)進(jìn)入死鎖狀態(tài),因而后面到來的進(jìn)程也無法順利執(zhí)行。銀行家算法中,要對(duì)當(dāng)前申請(qǐng)資源的進(jìn)程申請(qǐng)資源的數(shù)目進(jìn)行判斷,如果可以試分配,則試求出一個(gè)安全序列,如果可以求出,則說明給這個(gè)進(jìn)程分配資源后系統(tǒng)不會(huì)進(jìn)入不安全狀態(tài),將該進(jìn)程申請(qǐng)的資源分配給他,若求不出安全序列,則說明將資源分配給該進(jìn)程后系統(tǒng)會(huì)進(jìn)入不安全狀態(tài),所以就使該進(jìn)程進(jìn)入阻塞狀態(tài),等待以后可以分配資源時(shí)再執(zhí)行該進(jìn)程,然后系統(tǒng)繼續(xù)服務(wù)其它進(jìn)程。通過這樣一個(gè)過程,可以有效避免系統(tǒng)進(jìn)入死鎖狀態(tài)。反之,只要系統(tǒng)處于安全狀態(tài),系統(tǒng)便可避免進(jìn)入死鎖狀態(tài)。因此,避免死鎖的實(shí)質(zhì)在于——如何使系統(tǒng)不進(jìn)入不安全狀態(tài)。很明顯這些概念在操作系統(tǒng)上是非常重要的東西,我相信這對(duì)我以后的學(xué)習(xí)也有很大的幫助;最后,這次在課程設(shè)計(jì)的過程中遇到很多困難,但是這些困難我在同學(xué)們以及老師的幫助下解決了,在此我要感謝郭偉同學(xué)和指導(dǎo)老師惠老師,謝謝他們幫助我,指導(dǎo)我。 參考文獻(xiàn)[1] 《計(jì)算機(jī)操作系統(tǒng)》 湯子瀛,西安電子科技大學(xué)出版社;[2] 《C語言程序設(shè)計(jì)》 譚浩強(qiáng), 清華大學(xué)出版社; 附錄(源代碼)includedefine N 5 //進(jìn)程個(gè)數(shù)define M 3 //資源種類數(shù)void print()。int check_safe()。int check_distribution(int* p,int k)。char processnema[N]。 //進(jìn)程名int Request[M]。 //請(qǐng)求向量int Finish[N]。 //標(biāo)記某一個(gè)進(jìn)程是否可以執(zhí)行int Work[N][M]。 //初始為Available[][],隨尋找安全序列而變化,防止安全序列未找到而丟了初始狀態(tài)的值int Available[M]。 //資源清單——系統(tǒng)中現(xiàn)有各資源空閑個(gè)數(shù)int Work_Allocation[N][M]。int Max[N][M]。 //最大需求矩陣——每個(gè)進(jìn)程對(duì)各類資源的最大需求數(shù)int Allocation[N][M]。//分配矩陣——系統(tǒng)給每個(gè)進(jìn)程已分配的各類資源數(shù)int Need[N][M]。 //需求矩陣——每個(gè)進(jìn)程還需要每種資源的個(gè)數(shù)int sequence[N]={0}。//存放安全序列號(hào)void main(){ int i=0,j=0,k=0。//記錄申請(qǐng)資源的進(jìn)程的序列號(hào) int flag=0。 //標(biāo)記輸入的進(jìn)程名是否存在 int safe=0。 //標(biāo)志系統(tǒng)是否出于安全狀態(tài),0表示不安全,1表示安全 int distribution=0。 //標(biāo)志是否可以進(jìn)行試分配0表示可以,1表示不可以 char flag1。 //標(biāo)記是否有進(jìn)程申請(qǐng)資源 //Need[N][M]=Max[N][M]Allocation[N][M]。 char name。 //要請(qǐng)求資源的進(jìn)程名 printf(~~~~~~~~~~~銀行家算法~~~~~~~~~~~~~\n)。 printf( 請(qǐng)分別初始化各矩陣信息 \n)。 printf(*請(qǐng)輸入各進(jìn)程的進(jìn)程名\n)。 //進(jìn)程名連續(xù)輸入for(i=0。 iN。 i++) { scanf(%c,amp。processne
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1