久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

操作系統課程設計編程序模擬銀行家算法

2020-12-25 07:09:25下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了這篇《操作系統課程設計編程序模擬銀行家算法》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《操作系統課程設計編程序模擬銀行家算法》。

課程設計報告書

課程名稱:

操作系統原理

目:

編程序模擬銀行家算法

名:

信息工程系

專業班級:

軟件

名:

號:

指導教師:

2013年

X

X

學院信息工程系

課程名稱:

操作系統原理課程設計

指導教師:

班級名稱:

軟件

開課系、教研室:

軟件與信息安全

一、課程設計目的與任務

操作系統課程設計是《操作系統原理》課程的后續實踐課程,旨在通過一周的實踐訓練,加深學生對理論課程中操作系統概念,原理和方法的理解,加強學生綜合運用操作系統原理、Linux系統、C語言程序設計技術進行實際問題處理的能力,進一步提高學生進行分析問題和解決問題的能力,包含系統分析、系統設計、系統實現和系統測試的能力。

學生將在指導老師的指導下,完成從需求分析,系統設計,編碼到測試的全過程。

二、課程設計的內容與基本要求

1、課程設計題目

編程序模擬銀行家算法

2、課程設計內容

本課程設計要求在Linux操作系統,GCC編譯環境下開發。

銀行家算法是避免死鎖的一種重要方法,本實驗要求用用c/c++語言在Linux操作系統環境下編寫和調試一個簡單的銀行家算法程序。加深了解有關資源申請、避免死鎖等概念,并體會和了解死鎖和避免死鎖的具體實施方法。

思想:將一定數量的資金供多個用戶周轉使用,當用戶對資金的最大申請量不超過現存資金時可接納一個新客戶,客戶可以分期借款,但借款總數不能超過最大的申請量。銀行家對客戶的借款可以推遲支付,但是能夠使客戶在有限的時間內得到借款,客戶得到所有的借款后能在有限的時間內歸還。用銀行家算法分配資源時,測試進程對資源的最大需求量,若現存資源能滿足最大需求就滿足當前進程的申請,否則推遲分配,這樣能夠保證至少有一個進程可以得到所需的全部資源而執行到結束,然后歸還資源,若OS能保證所有進程在有限的時間內得到所需資源則稱系統處于安全狀態。

3、設計報告撰寫格式要求:

1設計題目與要求

設計思想

3系統結構

數據結構的說明和模塊的算法流程圖

使用說明書(即用戶手冊):內容包含如何登錄、退出、讀、寫等操作說明

運行結果和結果分析(其中包括實驗的檢查結果、程序的運行情況)

自我評價與總結

附錄:程序清單,注意加注釋(包括關鍵字、方法、變量等),在每個模塊前加注釋;

三、課程設計步驟及時間進度和場地安排

本課程設計將安排在第15周,教育技術中心。具體安排如下:

第一天

下發任務書,學生查閱資料

第二天

系統設計和原型開發

第三,四天

系統功能實現

第五天

系統調試

測試

打包和驗收

四、課程設計考核及評分標準

課程設計考核將綜合考慮學生考勤和參與度,系統設計方案正確性,系統設計和開發效果以及課程設計報告書的質量。具體評分標準如下:

設置六個評分點

(1)設計方案正確,具有可行性、創新性;

25分

(2)系統開發效果較好;

25分

(3)態度認真、刻苦鉆研、遵守紀律;

10分

(4)設計報告規范、課程設計報告質量高、參考文獻充分

20分

(5)課程設計答辯概念清晰,內容正確

10分

(6)課程設計期間的課堂考勤、答疑與統籌考慮。

10分

按上述六項分別記分后求和,總分按五級記分法記載最后成績。

優秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分)

1.題目要求與實驗目的1.1

實驗目的:

1.1.1進一步理解利用銀行家算法避免死鎖的問題;

1.1.2在了解和掌握銀行家算法。

1.1.3理解和掌握安全序列、安全性算法

1.2

設計題目:

編程序模擬銀行家算法

1.3

要求

本實驗要求用用

c/c語言在Linux

操作系統環境下編寫和調試一個簡單的銀行家算法程序。加深了解有關資源申請、避免死鎖等概念,并體會和了解死鎖和避免死鎖的具體實施方法。

1.4

實驗內容

1.4.1編寫安全性算法;

1.4.2編寫銀行家算法,并編制銀行家算法通用程序,將調試結果顯示在計算機屏幕上,再檢測和筆算的一致性。

設計思想

將一定數量的資金供多個用戶周轉使用,當用戶對資金的最大申請量不超過現存資金時可接納一個新客戶,客戶可以分期借款,但借款總數不能超過最大的申請量。銀行家對客戶的借款可以推遲支付,但是能夠使客戶在有限的時間內得到借款,客戶得到所有的借款后能在有限的時間內歸還。

用銀行家算法分配資源時,測試進程對資源的最大需求量,若現存資源能滿足最大需求就滿足當前進程的申請,否則推遲分配,這樣能夠保證至少有一個進程可以得到所需的全部資源而執行到結束,然后歸還資源,若OS能保證所有進程在有限的時間內得到所需資源則稱系統處于安全狀態。

3.需求分析

3.1問題描述:利用銀行家算法模擬計算機系統分配資源的過程。

3.2要求:

3.2.11、以課本例題中數據為例,模擬資源分配過程。

3.2.2、系統中資源種類,各類資源數目,進程申請資源數目可任意輸入,模擬資源分配過程。

4.系統結構

初始化函數init()開始

輸入進程的數目m

輸入資源種類n

輸入每個進程最多所需的各種資源數

輸入每個進程分配的資源數

輸入各個資源現有數目

初始化函數init()結束

輸入提示:

輸入有誤重新輸入

5.數據結構的說明和模塊的算法流程圖

5.1

數據結構:

①可利用資源向量

Available

是個含有

m

個元素的數組,其中的每一個元素代表一類可利用的資源數目。如果

AvailablejK,則表示系統中現有

Rj

類資源

K

個。

②最大需求矩陣

Max

這是一個

n×m的矩陣,它定義了系統中

n

個進程中的每一個進程對

m

類資源的最大需求。如果

MaxijK,則表示進程

i

需要

Rj

類資源的最大數目為

K。

③分配矩陣

Allocation

這也是一個

n×m的矩陣,它定義了系統中每一類資源當前已分配給每一進程的資源數。如果

AllocationijK,則表示進程

i

當前已分得

Rj

類資源的數目為

K。

④需求矩陣

Need。

這也是一個

n×m的矩陣,用以表示每一個進程尚需的各類資源數。如果NeedijK,則表示進程

i

還需要

Rj

類資源

K

個,才可以完成其任務。

5.2

程序流程圖:

①、系統主要過程流程

預分配

安全?

實際分配打印輸出

退出系統

Request[i]>Available[i]?

Request[i]>need[i]?

提出申請

打印輸出此時刻資源分配情況

進入系統

輸入:

1.繼續分配

2.退出

進入初始化

②、安全性算法流程圖

調用safty()函數

Work[]=Available[],Finish[]=False

Need[]<=work[]且Finsh[]=Falsse?

Work[]=work[]+Alloccation[],Finish[]=Ture

所有進程的Finsh[]=Ture?

實際分配輸出安全序列并打印出

輸出提示系統不安全

調用結束

用戶手冊

6.1

首先在終端中使用

vi

編輯器建立

c的源文件

6.2

然后使用

gcc

編輯器編譯生成可執行文件

6.3

使用命令./當前名字,來執行

7.運行結果和結果分析

7.1

運行結果:

申請成功如圖

2,申請失敗如圖

3:

申請金額在需求范圍之內同意

申請金額在需求范圍之外拒絕

7.2

結果分析

首先是自己定義

個用戶所需的金額數,銀行可以給用戶貸款的總金額數是100,用戶

Id

號的范圍是在0

4,超過

之后的id

請求貸款,會顯示拒絕提示信息,每個客戶的貸款數量必須是在之前定義的范圍之內,如果超出,也會出現錯誤提示,只有在規定的用戶

id

和在客戶所要求金額的范圍之內請求,才會給予貸款,并且輸出安全序列號。

8.自我評價與總結

一周的課程設計結束了。在這一周里,我收獲很多,以前都是在自己的教室由我們自己的老師進行講課,這次學校沒有這樣做,而是請的校外的老師給我們做課程設計,讓我們體會一下真正的公司是怎樣做業務的。在這一周里我做一個模擬銀行家算法。我覺得在著手設計前設計的思路是很重要的。只有思路清晰才能進行下一階段的設計。這樣才能完成整個程序的設計,完成整個文報告的書寫。

課程設計這幾天學到的東西還真不少。以前不清楚的現在都暴露出來了。以前認為學了沒用的東西現在也用到了。這次的課程設計使我進一步了解了調度與死鎖的問題。以及有關資源申請的問題、避免死鎖的具體實施方法。深入了解了銀行家算法的資源申請和資源分配的過程及原則。保證系統處于安全狀態。

經過本周的課程設計,我對操作系統的掌握又進了一步,收獲了很多知識。,終于我了由于對

c

語言不夠熟練,在試驗過程中,進行了反復的修改和調試,解銀行家算法的基本原理,并且在此次的課程設計中我又復習了一下

c

語言,加深了對它的了解,而且在課程設計的過程中我們同樣學會了如何簡單的操作與使用

Linux

操作系統,學習到了許多

Linux

操作系統中常用的一些密令。

這次的設計數據是通過一道實際的題目來體現銀行家算法避免死鎖的問題,先用銀行家算法給其中一個進程分配資源,看它所請求的資源是否大于它的需求量,才和系統所能給的資源相比較.讓進程形成一個安全隊列看系統是否安全.再利用安全性算法檢查此時系統是否安全。

操作系統的基本特征是并發與共享。系統允許多個進程并發執行,并且共享系統的軟、硬件資源。為了最大限度的利用計算機系統的資源,操作系統應采用動態分配的策略,但是這樣就容易因資源不足,分配不當而引起“死鎖”。而我本次課程設計就是得用銀行家算法來避免“死鎖”。銀行家算法就是一個分配資源的過程,使分配的序列不會產生死鎖。此算法的中心思想是:按該法分配資源時,每次分配后總存在著一個進程,如果讓它單獨運行下去,必然可以獲得它所需要的全部資源,也就是說,它能結束,而它結束后可以歸還這類資源以滿足其他申請者的需要。

通過這次實驗,我體會到銀行家算法的重要性,銀行家算法是避免死鎖的主要方法,其思路在很多方面都非常值得我來學習借鑒。

附錄:

主要源程序

參考文獻

[1]

張堯學主編.計算機操作系統教程(第三版).北京:清華大學出版社,2006

[2]

張堯學編.計算機操作系統教程(第三版)習題解答與實驗指導.北京:清華大學出版社,2006

[3]

湯子瀛主編.計算機操作系統(第三版).西安:西安電子科技大學出版社,2001

[4]

張坤等編.操作系統實驗教程.北京:清華大學出版社,2008

[5]

張麗芬等編.操作系統實驗教程.北京:清華大學出版社,2006

[6]

屠祁等編.操作系統基礎(第三版).北京:清華大學出版社,2000

[7]

馮耀霖等編.操作系統.西安:西安電子科技大學出版社,2001

[8]

左萬歷.計算機操作系統教程(第二版).北京:高等教育出版社,2004

[9]譚浩強.《C語言程序設計》.北京:清華大學出版社2003

[8]

龐麗華.《操作系統原理》(第四版).北京.華中科技大學出版社

2002

設計過程中質疑(或答辯)記載:

1.銀行家算法的主要思想是什么?

答:一個進程進入系統時分配資源之前,判斷系統是否是安全的,即看它所請求的資源是否大于它的最大需求量,若正常,則判斷該進程所需剩余剩余量(包括本次申請)是否超出系統所掌握的剩余資源量,若不超出,則分配,否則等待。

2.銀行家算法的主要問題是什么?

答:要求每個進程必須事先知道資源的最大需求量,而且,在系統運行過程中,考查每個進程對各類資源的申請需花費較多的時間。

3.在銀行家算法中各個資源存在什么關系?

答:該進程所需要的資源數NEED[m][n]=MAX[m][n](該進程所需要的最多的資源數)-----ALLOCATION[m][n](該進程所占有的資源數)

指導教師評語:

簽名:

****年**月**日

下載操作系統課程設計編程序模擬銀行家算法word格式文檔
下載操作系統課程設計編程序模擬銀行家算法.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    操作系統課程設計(銀行家算法的模擬實現)

    操作系統課程設計 (銀行家算法的模擬實現) 一、設計目的 1、進一步了解進程的并發執行。2、加強對進程死鎖的理解。3、用銀行家算法完成死鎖檢測。 二、設計內容 給出進程需......

    操作系統課程設計銀行家算法的模擬實現

    操作系統課程設計報告專業計算機科學與技術學生姓名班級學號指導教師完成日期信息工程學院題目:銀行家算法的模擬實現一、設計目的本課程設計是學習完“操作系統原理”課程后......

    銀行家算法《操作系統》課程設計報告

    《操作系統》課程設計報告課題:銀行家算法專業計算機科學與技術學生姓名班級計算機學號指導教師信息工程學院一、實驗要求和實驗目的實驗目的:本課程設計是學生學習完《操作系......

    計算機操作系統 課程設計報告 銀行家算法

    《計算機操作系統》 課 程 設 計 報 告 題 目: 銀行家算法班 級: XXXXXXXXXXXXXXXX 姓 名: XXM 學 號: XXXXXXXXXXXX 指導老師: XXXXXXXXXXXXXX 設計時間: XXXXXXXXXXXXXXX......

    操作系統銀行家算法實驗報告

    實驗四死鎖 一、 實驗目的 當系統的總資源數m小于或等于所有進程對對資源的最大需求時,就可能產生 死鎖。死鎖會引起計算機系統的癱瘓。銀行家算法是在實現資源分配時避免......

    操作系統課程設計----模擬銀行家算法避免死鎖(優秀范文五篇)

    模擬通過銀行家算法避免死鎖 一、 銀行家算法產生的背景及目的 1:在多道程序系統中,雖然借助于多個進程的并發執行來改善系統的利用率,提高系統的吞吐量,但可能發生一種危險—死......

    操作系統課程設計實驗報告-用C++實現銀行家算法

    操 作 系 統 實 驗 報 告 (2) 學院:計算機科學與技術學院 班級:計091 學號:姓名: 時間:2011/12/30 目 錄 1. 實驗名稱……………………………………………………3 2. 實驗目的…......

    東南大學操作系統實驗報告--銀行家算法

    操作系統實驗三:銀行家算法的實現 一、 基本信息: a) 實驗題目:銀行家算法的實現 b) 完成人姓名:韓璐璐 c) 學號:71114115 d) 報告日期:2016.5.27 二、 實驗目的 通過實驗,加深對......

主站蜘蛛池模板: 亚洲精品综合一区二区三区在线| 国产中文成人精品久久久| 久久成人影院精品777| 伊人精品久久久大香线蕉| 久久精品无码一区二区日韩av| 久久亚洲精品无码播放| 成人无码a区在线观看视频| 艳妇荡女欲乱双飞两中年熟妇| 久久精品亚洲精品国产色婷| 色哟哟精品视频在线观看| 99久久人妻精品免费一区| 日本高清视频www夜色资源| 天堂在线资源中文在线8| 国产无遮挡裸露视频免费| 波多野结衣 内射| 网友自拍露脸国语对白| 男人和女人做爽爽免费视频| 日韩人妻无码精品专区| 国产免费无遮挡吸乳视频app| 亚洲精品久久中文字幕| 国产午夜精品一区二区三区软件| 内射欧美老妇wbb| 蜜臀久久99精品久久久久久| 成人影片一区免费观看| 亚洲日韩看片无码电影| 日韩人妻无码精品久久久不卡| 亚洲国产精品原创巨作av| 欧美激情精品成人一区| 日韩大片高清播放器| 中文字幕无码日韩专区| 永久免费看mv网站入口亚洲| 午夜爽爽爽男女污污污网站| 人妻aⅴ无码一区二区三区| 国内精品久久久人妻中文字幕| 女人和拘做受全程看视频| 亚洲高请码在线精品av| 久久精品少妇高潮a片免费观| 午夜亚洲av日韩av无码大全| 亚洲自偷自偷图片高清| 久久国产色欲av38| 欧美性白人极品hd|