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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(銀行家算法)-展示頁

2025-07-16 14:14本頁面
  

【正文】 run函數(shù)流程圖void out(vector_Process amp。r,_Control amp。 create函數(shù)流程圖void run(vector_Process amp。r,_Control amp。 模擬系統(tǒng)選擇菜單 交互邏輯層的作用是將用戶的輸入信息與控制層進行協(xié)作。其中add_Process方法負責(zé)將進程添加到控制類中,run_Process方法就是銀行家算法,而safeChecked方法就是系統(tǒng)安全性算法??捎胈Process來實例化任意個進程,從而使程序的擴展性、安全性以及結(jié)構(gòu)都得到極大的提升。2) _Process類是進程類,用來實例化進程。1) _Resource類掌管全局的資源,各種數(shù)據(jù)結(jié)構(gòu)都在其中定義,目的是要把操作與數(shù)據(jù)分離,便于程序的設(shè)計以及維護。之所以選擇控制臺是因為可以讓我們開發(fā)模擬系統(tǒng)的時候更加專注于業(yè)務(wù),而不是花太多精力在非業(yè)務(wù)功能上。資源層:主要負責(zé)管理各種資源向量或矩陣。進程層:主要功能是為了創(chuàng)建進程,并交給控制層進行管理。交互層:主要功能是為了與用戶進行交互,包括系統(tǒng)的初始化,創(chuàng)建多個進程,置進程的請求向量。 顯示系統(tǒng)處于不安全態(tài),進程需要等待。 顯示輸入數(shù)據(jù)有誤,請重新輸入。6. 后置條件 顯示安全序列。數(shù)據(jù)不滿足系統(tǒng)要求:備選流四。數(shù)據(jù)合法性檢查不通過:備選流二。3. 用例場景 成功場景進程成功被分配資源:基本流。 備選流三:在基本流步驟5中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。 備選流 備選流一:在基本流步驟1中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。5. 數(shù)據(jù)合法性檢查 檢查用戶輸入數(shù)據(jù)的合法性。2. 提示用戶需要執(zhí)行的進程編號 用戶輸入進程號。7. 擴展點無:執(zhí)行進程1. 簡要說明 該用況描述管理員如何使用執(zhí)行進程功能測試銀行家算法。 顯示輸入數(shù)據(jù)有誤,請重新輸入。6. 后置條件 顯示安全序列。 數(shù)據(jù)合法性檢查不通過:備選流三。 失敗場景 數(shù)據(jù)合法性檢查不通過:備選流一。 備選流三:在基本流步驟5中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。5. 數(shù)據(jù)合法性檢查 對用戶輸入的數(shù)據(jù)進行合法性檢查 備選流 備選流一:在基本流步驟1中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。2. 提示用戶輸入創(chuàng)建進程的個數(shù) 用戶輸入進程的個數(shù)。圖 系統(tǒng)流程圖圖 模擬系統(tǒng)用況圖:創(chuàng)建進程1. 簡要說明 該用況描述用戶如何通過使用模擬系統(tǒng)進行創(chuàng)建進程的工作。他表示系統(tǒng)是否有足夠的資源分配給進程,使之運行完成,初始狀態(tài)為Finish[i]=false;當(dāng)有足夠資源分配給進程時,F(xiàn)inish[i]=true。他表示系統(tǒng)可提供給進程繼續(xù)運行所需要的各類資源數(shù)目,他含有m個元素,執(zhí)行安全性算法開始時,Work=Avaliable。3) 系統(tǒng)進行試分配:Avaliable=AvaliableRequestAllocation=Allocation=RequestNeed=NeedRequest4) 系統(tǒng)執(zhí)行安全性檢查,若系統(tǒng)處于安全態(tài),則正式將資源分配給進程;若處于不安全態(tài),則將此次分配作廢,回滾到分配前的狀態(tài),并通知進程等待。當(dāng)進程發(fā)出請求后,系統(tǒng)按下列步驟進行檢查:1) 如果Request≤Need,則轉(zhuǎn)向步驟2;否則認為出錯,因為他所需要的資源數(shù)已超過他所宣布的最大值。4) 需求矩陣Need它是一個nm的矩陣,用以表示每一個進程尚需的各類資源數(shù)。2) 最大需求矩陣Max這是一個nm的矩陣,他定義了系統(tǒng)中n個進程中的每一個進程對m類資源的最大需求。銀行家算法所涉及的數(shù)據(jù)結(jié)構(gòu):1) 可利用資源向量Avaliable它是一個vector向量,可被初始化任意長度,其中每一個元素代表一類可利用資源的數(shù)目。若系統(tǒng)不存在這樣一個安全序列,則稱系統(tǒng)出于不安全狀態(tài)。其中相應(yīng)的數(shù)據(jù)結(jié)構(gòu)定義了銀行家算法中需要使用的若干數(shù)據(jù)結(jié)構(gòu),銀行家算法操作數(shù)據(jù)結(jié)構(gòu)以為安全性算法提供檢測現(xiàn)場,安全性算法則是檢測現(xiàn)場是否出于安全態(tài)。2) 銀行家算法。銀行家算法是具有代表性的避免死鎖的算法,由于該算法能用于銀行系統(tǒng)現(xiàn)金貸款的發(fā)放而得名。而死鎖產(chǎn)生的原因有兩點:競爭資源和進程推進的順序不合法。《操作系統(tǒng)課程設(shè)計》題目:銀行家算法的設(shè)計與實現(xiàn)院、 系: 計算機信息與技術(shù)系 學(xué)科專業(yè): 計算機科學(xué)與技術(shù) 學(xué) 號: B10060123 學(xué)生姓名: 徐飛 指導(dǎo)教師 : 姜虹 2012年06月39 / 42目錄一、緒論 1二、需求分析 2 2 3 4 4:創(chuàng)建進程 4:執(zhí)行進程 5三、總體設(shè)計 7 7 7 8四、詳細設(shè)計 9 9 9 11 12 12五、系統(tǒng)實現(xiàn) 14 14 15 18 21 22六、測試與分析 24 24 24 24 25 25課程設(shè)計總結(jié) 26參考文獻 27附錄A 28一、緒論在具有多道程序并發(fā)執(zhí)行能力的系統(tǒng)中,系統(tǒng)資源的利用率、進程執(zhí)行的效率都大幅增加,但可能發(fā)生“死鎖”的危險。所謂死鎖,是指多個進程因競爭資源而造成的一種僵局,若無外力作用,這些進程都將永遠不能再向前推進。為了避免死鎖,使得進程的執(zhí)行能夠順利完成,引入銀行家算法進行解決。銀行家算法包含三個方面的內(nèi)容:1) 相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。3) 安全性算法。 系統(tǒng)的安全狀態(tài)是指能夠按照某種順序,來為每個進程分配其所需資源,直至最大需求,使每個進程都可順序完成。二、需求分析問題描述:銀行家算法是避免死鎖的有效辦法,為了驗證銀行家算法可以避免死鎖,需要編寫程序模擬銀行家算法并加以驗證。其值隨著該類資源的分配和回收而動態(tài)的改變。3) 分配矩陣Allocation這是一個nm的矩陣,他定義了系統(tǒng)中每一類資源當(dāng)前已分配給每一進程的資源數(shù)。 以上三個矩陣間存在下述關(guān)系:Need=MaxAllocation 銀行家算法: 設(shè)Request是某一進程的請求向量。2) 如果Request≤Avaliable,則轉(zhuǎn)向步驟3;否則表示系統(tǒng)中尚無足夠的資源,進程必須等待。安全性算法: 1) 設(shè)置兩個工作向量 工作向量Work。 Finish。 2) 從進程集合中找到一個能滿足下列條件的進程: Finish[i]=false Need≤Work 如找到,執(zhí)行步驟3,否則,執(zhí)行步驟4 3) 當(dāng)某一進程獲得資源后,可順利執(zhí)行,直至完成,并釋放出分配給他的資源,故應(yīng)執(zhí)行: Work= Work+ Allocation Finish[i]=true Go to step 2 4) 如果所有進程的Finish[i]=true,則表示系統(tǒng)處于安全狀態(tài);否則系統(tǒng)處于不安全狀態(tài)。2. 事件流 基本流1. 數(shù)據(jù)合法性檢查 用戶選擇“創(chuàng)建進程”選項,系統(tǒng)對用戶輸入的合法性進行檢查。3. 數(shù)據(jù)合法性檢查 對用戶輸入的數(shù)據(jù)進行合法性檢查4. 初始化進程所需的資源量 提示用戶輸入進程所需的資源量。 備選流二:在基本流步驟3中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。3. 用例場景 成功場景 成功初始化進程信息:基本流。 數(shù)據(jù)合法性檢查不通過:備選流二。4. 特殊需求無5. 前置條件用戶已初始化系統(tǒng)。 顯示各數(shù)據(jù)結(jié)構(gòu)信息。 顯示系統(tǒng)初始狀態(tài)處于不安全態(tài),進程創(chuàng)建失敗,并退出系統(tǒng)。2. 事件流 基本流1. 數(shù)據(jù)合法性檢查 用戶選擇“執(zhí)行進程”選項,系統(tǒng)對用戶輸入的合法性進行檢查。3. 數(shù)據(jù)合法性檢查 對用戶輸入的數(shù)據(jù)進行合法性檢查4. 輸入進程請求向量 用戶按照提示輸入請求向量。6. 返回安全序列和各數(shù)據(jù)結(jié)構(gòu) 系統(tǒng)處理進程的請求向量,并返回安全序列和數(shù)據(jù)結(jié)構(gòu)。 備選流二:在基本流步驟3中,規(guī)則檢查不通過,提示輸入數(shù)據(jù)不合法,請重新輸入。 備選流四:在基本流步驟6中,規(guī)則檢查不通過,提示輸入的請求向量有問題,請進程等待。 失敗場景數(shù)據(jù)合法性檢查不通過:備選流一。數(shù)據(jù)合法性檢查不通過:備選流三。4. 特殊需求無5. 前置條件用戶已創(chuàng)建進程。 顯示各數(shù)據(jù)結(jié)構(gòu)信息。 顯示系統(tǒng)資源不足進程需要等待。7. 擴展點無三、總體設(shè)計 系統(tǒng)分層模型圖。交互邏輯層:負責(zé)將用戶的交互信息與控制層交換。控制層:負責(zé)管理進程與資源,是整個系統(tǒng)的核心部分,銀行家算法與安全性算法均在這一層中。 系統(tǒng)被部署在控制臺運行。 系統(tǒng)靜態(tài)模型圖模擬系統(tǒng)共有3個類、4中新的數(shù)據(jù)類型(其中4種新的數(shù)據(jù)類型用衍形加以定義)。其中M是資源的種類數(shù),Available是可利用資源向量,Max是最大需求矩陣,Allocation是分配矩陣,Need是需求矩陣。其中Request是需求向量。3) _Control類負責(zé)對系統(tǒng)現(xiàn)有的資源以及進程進行控制。四、詳細設(shè)計 由于系統(tǒng)是被部署在控制臺上,所以交互層的實現(xiàn)比較簡單。vector_Process create(_Resource amp。c)(創(chuàng)建進程)。p,_Resource amp。c)(執(zhí)行進程)。p,_Resource amp。c) 。1) void add_Process(_Process amp。r)。p,int n,_Resource amp。 銀行家算法流程圖3) bool safeChecked(_Resource amp。r)。 init方法的流程圖五、系統(tǒng)實現(xiàn)系統(tǒng)的實現(xiàn)采用C++語
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1