999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

《操作系統》中銀行家算法的研究性教學

2009-04-29 00:00:00葉承瓊
科教導刊 2009年31期

摘要《操作系統》課程中死鎖是一個重要的問題,銀行家算法是采用死鎖避免策略來解決死鎖問題的經典算法,也是本課程教學的重難點,本文根據實際教學經驗探討以銀行家算法為例的研究性教學方法。

關鍵詞死鎖 死鎖避免 銀行家算法 安全性算法

中圖分類號:G423文獻標識碼:A

1 引言

《操作系統》是計算機專業的核心理論課程之一,該課程首次引入進程以及進程并發執行等相關概念,無論對于教師的專業教學還是對于學生的系統學習都具有重要的作用。由于本課程涉及的學科多、理論知識點多、內容難理解等特征,在整個學習過程中,最讓學生關注的是對于死鎖問題中銀行家算法的討論,這不僅涉及計算機專業問題,同樣在日常生活中也存在很多類似的現象,具有實踐意義。

為了讓學生深入掌握理論知識,本文根據實際教學經驗,結合大部分學生學習該課程的情況,以銀行家算法為例探討了該課程的教學方法。

2 銀行家算法的教學思路

2.1 銀行家算法的引入

對于多個進程的并發執行可以改善系統的資源利用率和提高系統的處理能力,學生通過前序內容的學習都能夠理解,但在系統運行過程中由于進程執行的異步性特征以及系統資源的有限,如果操作系統為這些并發進程分配資源順序不當時,就可能會產生死鎖(Deadlock),而死鎖最終可能導致整個系統癱瘓,危及系統安全。

那么在操作系統設計過程中如果產生死鎖又是如何解決呢?

通常解決死鎖的方法有預防、避免、檢測和解除三種,其中采用死鎖避免可以獲得滿意的系統性能,而銀行家算法(Banker’s Algorithm)則是典型的采用死鎖避免策略來解決死鎖問題的著名算法。是由艾茲格·迪杰斯特拉在1965年為T.H.E系統設計的一種避免死鎖產生的算法。它以銀行借貸系統的分配策略為基礎,判斷并保證系統的安全運行。銀行家就好比操作系統,資金就是資源,客戶就相當于要申請資源的進程。

2.2 掌握銀行家算法的基本原理

首先讓學生了解系統通常工作的兩個狀態:即安全狀態和不安全狀態,在系統動態的為各進程分配資源的過程中,只要保證系統處于安全狀態,即系統可按照某一順序為每一進程分配資源直至完成釋放,存在這樣的安全序列系統就不會發生死鎖。接下來具體分析銀行家算法的數據結構及算法步驟。

2.2.1 銀行家算法中的數據結構

可利用資源向量:Available[j]=k,表示系統中現有Rj類資源k個。

最大需求矩陣:Max[i,j]=k,表示進程i需要Rj類資源的最大數目為k。

分配矩陣:Allocation[i,j]=k,表示進程i當前已分得Rj類資源的數目為k。

需求矩陣:Need[i,j]=k,表示進程i還需要Rj類資源k個,方能完成其任務。

不難看出上述矩陣間存在下述關系:

Need[i,j]= Max[i,j]- Allocation[i,j]。

2.2.2 銀行家算法的具體描述

進程Pi的請求向量:Requesti[j]=k,表示進程Pi需要k個Rj類型的資源。

當Pi發出資源請求Requesti后,系統按下述步驟進行檢查:

(1)若Requesti<=Needi,則轉向(2);否則錯誤,因為Pi所請求的資源已超過它的需求最大值。

(2)若Requesti<=Available,則轉向(3);否則進程Pi等待,因為此時系統沒有足夠的資源。

(3)系統進入試探性分配,并修改相應的數據結構:

Available=Available-Requesti

Allocationi=Allocationi+Requesti;

Needi=Needi-Requesti;

(4)系統執行安全性算法,檢查此次資源分配之后,系統是否處于安全狀態。若安全則試探性分配生效;否則,將試探性分配作廢,進程Pi等待。

2.2.3安全性算法描述

Work:表示系統可提供給進程繼續運行所需要的各類資源數目。

Finish:表示系統是否有足夠的資源分配給進程,使之運行完成。

(1)Work= Available;

Finish[i]=1。

(2)從進程集合中找到一個滿足下述條件的進程:

Finish[i]=1;Needi<=Work。若找到轉向(3);否則轉向(4)。

(3)當進程Pi獲得資源后,可順利執行直至完成,并釋放出分配給它的資源:

Work=Work+Available;Finish[i]=true;轉向(1)。

(4)若所有進程的Finish[i]=true,表示系統處于安全狀態;否則系統處于不安全狀態。

2.3 銀行家算法教學過程中的注意事項

通過上述對銀行家算法及安全性算法的基本原理及詳細步驟的分析,教學過程中結合教材、參考資料中相關例題的講解,進一步加深學生對于銀行家算法的理解和掌握。但學生在解題過程中往往會忽略一些細節,導致對該算法的理解出現偏差,本人在教學過程中總結了一些經驗,現羅列如下幾點:

(1)系統在開始執行銀行家算法時,檢查Requesti、Needi和Available的先后順序一定不能顛倒。應先檢查Pi進程所提出的請求向量Requesti是否在該進程的需求范圍內,即是否小于等于Needi,若超過則產生一個錯誤。然后再確定當前系統中可利用資源數能否滿足此次請求向量Requesti,即Requesti是否小于等于Available,若大于說明此時系統中沒有足夠的資源滿足該進程的請求,進程Pi等待。

(2)在安全性算法執行到從進程集合中找滿足Finish[i]=1和Needi<=Work兩個條件的進程時,若同時存在若干個進程均符合條件,則不管選中哪一個進程都可以。

(3)在進行安全性檢查時若找不到安全序列,系統處于不安全狀態,此時的系統可能會產生死鎖而不是一定產生死鎖。學生在以后的學習過程中實現銀行家算法應考慮到這一點,并作出合理的過程設計。

(4)在某一時刻,系統處于安全狀態,即存在安全序列,則安全序列的個數只能是1(最小值)和正偶數,最大值是n!(n表示進程個數)。

3 總結

在本課程整個教學過程中,只要將知識點理清,并圍繞操作系統的五大功能展開教學,對每個功能的介紹要結合各大功能知識點內在的聯系,特別對于像死鎖這樣理論性較強并且抽象的問題,應特別強調進程執行的相關特征如并發性與異步性等,由淺入深,并就難點如銀行家算法逐步分析解決死鎖問題的過程。該教學方法已經進行了幾年的教學實踐,把復雜抽象問題加以概念闡述并結合實際,重點難理解的部分特別強調,知識有條理,學生比較容易接受,從而能夠熟練掌握解決此類問題的方法,普遍反映良好。

不足之處在于實驗教學部分需要改善。操作系統是所有軟件中最復雜的,而目前幾大主流操作系統的地位已相當堅固,所以師生幾乎沒有參與編制實際操作系統的機會,這樣在教學過程中原理的抽象性和實際開發嚴重脫節,直接影響學生學習該課程的興趣。不過近年來為改善教學效果,我校在理論教學的同時,開設了實驗課程,主要針對目前最有潛力的Linux系統。下一步準備嘗試讓學生分析Linux內核代碼,了解系統的整個構架及內部運行模式,引發學生學習的興趣,同時不斷探索新的教學方式與方法,使理論、命令和程序融為一體。

參考文獻

[1]湯子贏,哲鳳屏,湯小丹.計算機操作系統[M].西安:西安電子科技大學出版社,2006.

[2]高煜.操作系統原理.北京:海洋出版社[M].2006.

[3]于廣斌,葛元康,李宗民.“操作系統”課程改革的探索與實踐.計算機教育,2009(14):22~23.

[4]仲兆滿.銀行家算法的改進及其在操作系統上的推廣.連云港師范高等專科學校學報,2002(2):46~48.

主站蜘蛛池模板: 自拍中文字幕| 国产精品免费福利久久播放| 成年人福利视频| 久久国产精品77777| 人妻无码AⅤ中文字| 国产精品女在线观看| 国产欧美日韩综合在线第一| 91欧美亚洲国产五月天| 五月天福利视频 | 国产精品免费电影| 毛片久久久| 亚洲精品大秀视频| 国内精品小视频在线| 波多野结衣一区二区三区四区| 国产在线观看人成激情视频| 亚洲AV无码不卡无码 | 这里只有精品免费视频| 国产91丝袜| 免费人成在线观看视频色| 欧美福利在线播放| 永久免费av网站可以直接看的 | 青草精品视频| 欧美激情,国产精品| 欧美国产在线看| 色婷婷国产精品视频| 大学生久久香蕉国产线观看| 91破解版在线亚洲| 欧美日韩精品在线播放| 91美女视频在线| 重口调教一区二区视频| 国产一级小视频| 国产亚洲精品va在线| 亚洲免费毛片| 女人天堂av免费| 国产精品美女网站| 最新国产你懂的在线网址| 谁有在线观看日韩亚洲最新视频| 青青青国产在线播放| 日韩成人在线视频| 在线免费a视频| 国产欧美日韩精品综合在线| 国产精品爆乳99久久| 国产传媒一区二区三区四区五区| 91久久偷偷做嫩草影院精品| 日韩黄色在线| 青青草综合网| 国产二级毛片| 本亚洲精品网站| 日韩亚洲高清一区二区| 国产亚洲美日韩AV中文字幕无码成人 | 就去色综合| 呦视频在线一区二区三区| 亚洲综合二区| аⅴ资源中文在线天堂| 久久熟女AV| 婷婷六月综合| 国产成人无码综合亚洲日韩不卡| 国产熟睡乱子伦视频网站| 国产精品无码制服丝袜| 一区二区三区高清视频国产女人| 亚洲精品无码抽插日韩| 久久这里只有精品国产99| 亚洲午夜片| 久久这里只有精品国产99| 在线观看av永久| 欧美区一区二区三| 国产成人91精品| 人人爽人人爽人人片| 91在线国内在线播放老师| 中文字幕调教一区二区视频| 国产精品.com| 香蕉在线视频网站| 亚洲男人天堂2020| 亚洲一级毛片在线观| 国产午夜一级淫片| 欧美日韩第三页| 国产精品网址在线观看你懂的| 再看日本中文字幕在线观看| 久久黄色小视频| 日本三级欧美三级| 日本久久网站| 8090午夜无码专区|