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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(銀行家算法)-在線瀏覽

2025-03-07 15:05本頁面
  

【正文】 3 3 4 4 5 6 6 6 12 12 13 14 16參考文獻(xiàn) 17 17銀行家算法模擬設(shè)計內(nèi)容及其說明本人設(shè)計內(nèi)容主要和組員張鑫設(shè)計MFC界面和代碼的調(diào)試,涉及主要功能代碼,包括其他組員設(shè)計的主要函數(shù)代碼嵌入到MFC中,主要編寫了銀行家算法。之后和其他組員一起將其他的功能嵌入到程序里,主要是添加資源,刪除資源,修改資源,分配資源和增加作業(yè)功能,最終完成了了一個整體的銀行家算法。在多道程序系統(tǒng)中,雖可以借助多個進(jìn)程的并發(fā)執(zhí)行來改善系統(tǒng)的資源利用率,提高系統(tǒng)吞吐量,但可能發(fā)生一種危險——死鎖,即多個進(jìn)程在運行過程中因爭奪資源而造成的一種僵局,若無外力作用,將無法再向前推進(jìn)。死鎖的產(chǎn)生一般的原因有兩點:競爭資源和進(jìn)程間推進(jìn)順序非法。而銀行家算法起源于銀行系統(tǒng)的發(fā)放貸款,和計算機操作系統(tǒng)的資源分配完全符合,因此可以借鑒該算法的思想,設(shè)計出一種有效的算法程序,解決該問題。此時稱系統(tǒng)處于死鎖狀態(tài)或系統(tǒng)產(chǎn)生了死鎖,這些永遠(yuǎn)在互相等待的進(jìn)程稱為死鎖進(jìn)程。在計算機系統(tǒng)中,涉及軟件,硬件資源都可能發(fā)生死鎖。結(jié)果,兩個進(jìn)程都被阻塞,永遠(yuǎn)也不能自行解除。按照該序列,銀行家可以實施一個有效的分配過程使得所有客戶得到滿足,行家算法的核心在于安全序列的產(chǎn)生。我們可以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進(jìn)程向操作系統(tǒng)請求分配資源相當(dāng)于用戶向銀行家貸款。當(dāng)進(jìn)程在執(zhí)行中繼續(xù)申請資源時,先測試該進(jìn)程已占用的資源數(shù)與本次申請的資源數(shù)之和是否超過了該進(jìn)程對資源的最大需求量。(1)從鍵盤輸入當(dāng)前系統(tǒng)的資源信息,包括當(dāng)前可用資源,每個進(jìn)程對各類資源的最大需求量,每個進(jìn)程當(dāng)前已分配的各個資源量和每個進(jìn)程尚需要的各個資源量,輸出結(jié)果顯示在界面上。 (3)要求要有各種異常的處理,程序的可控制性和可連續(xù)性執(zhí)行。(1)分配模塊輸入一組資源及作業(yè)的數(shù)量,分配資源及作業(yè)的各項屬性。以及資源的添加、修改、刪除和分配功能,此外,還有對作業(yè)的添加。(3)檢查模塊根據(jù)銀行家算法進(jìn)行資源分配后,檢查資源分配后的系統(tǒng)狀態(tài)是否處于安全狀態(tài)之中,以避免死鎖的發(fā)生。(1)銀行家算法的實現(xiàn),需要用到以下主要數(shù)據(jù):int Max[100][100]={0}。//系統(tǒng)可用資源CString name[100]={}。//系統(tǒng)已分配資源int Need[100][100]={0}。//請求資源向量int temp[100]={0}。//存放系統(tǒng)可提供資源int M=100。//資源的最大數(shù)為100int dqzysl=3,zysl=0,worksl=0。a)資源及作業(yè)屬性配置:這是對資源和作業(yè)的分配過程,在實現(xiàn)銀行家算法之前,需有資源和作業(yè)的屬性信息,才可以驗證銀行家算法及安全性算法,最終實現(xiàn)銀行家算法。c) 安全性算法:安全性算法是對于安全性檢查算法主要是根據(jù)銀行家算法進(jìn)行資源分配后,檢查資源分配后的系統(tǒng)狀態(tài)是否處于安全狀態(tài)之中。最大需求矩陣 int Max[i][j] i為進(jìn)程的數(shù)量。信息顯示模塊安全性算法判斷模塊銀行家算法判斷模塊資源及作業(yè)分配模塊 圖31主要模塊(2)子模塊如圖32。由于輸入的資源數(shù)不止一個,輸入的數(shù)據(jù)可能會出錯,因此這里用到了if條件語句和for循環(huán)語句。void CBank123Dlg::Onaddzy() {// TODO: Add your control notification handler code here UpdateData(TRUE)。 for(int i=0。i++){ if(name[i]==m_zymc amp。 m_zymc!=){ sign=0。 }} if(m_zymc!= amp。 m_zysl!=0 amp。 sign==1 ){ Avaliable[3dqzysl]=m_zysl。 zysl++。\n當(dāng)前輸入資源名稱為:+name[3dqzysl]+\t數(shù)量為:+conver(Avaliable[3dqzysl]),提示, MB_OK )。} else MessageBox(輸入數(shù)據(jù)不合法!+str,提示, MB_OK )。 UpdateData(FALSE)。 b如果Request<Available or Request=Available,則轉(zhuǎn)向步驟c;否則,表示系統(tǒng)中尚無足夠的資源,進(jìn)程必須等待。 Allocation=Allocation+Request。
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1