操作系统课程设计 .pdfVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

操作系统课程设计

————————————————————————————————作者:

————————————————————————————————日期:

2

个人收集整理勿做商业用途

银行家算法

1.课程设计的目的

了解多道程序系统中,多个进程并发执行的资源分配,及死锁的产生原因、必要条

件和处理死锁的基本方法,掌握预防死锁的方法,系统安全状态的基本概念,了解银行

家算法,及资源在进程并发执行中的资源分配策略,并且理解死锁避免在当前计算机系

统不常使用的原因。根据设计题目的要求,充分地分析和理解题目,叙述系统的要求,

明确程序要求实现的功能以及限制条件。明白自己需要用代码实现的功能,清楚编写每

部分代码的目的,做到有的放矢,有条理不遗漏的用代码实现银行家算法。

2。设计方案论证

2。1题目描述

银行家算法是一种最有代表性的避免死锁的算法。在多道程序系统中,多个进程的

并发执行来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险—-死锁。

所谓死锁(Deadlock),是指多个进程在运行过程中因争夺资源而造成的一种僵局

(DeadlyEmbrace),当进程处于这种状态时,若无外力作用,他们都无法在向前推进。

要预防死锁,有摒弃“请求和保持”条件,摒弃“不剥夺”条件,摒弃“环路等待”条

件等方法.但是,在预防死锁的几种方法之中,都施加了较强的限制条件;而在避免死

锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把

系统状态分为安全状态和不安全状态,便可避免死锁的发生。要解释银行家算法,必须

先解释操作系统安全状态和不安全状态.安全状态是指系统能按照某种进程顺序{P1,

P2,…,Pn}(称{P1,P2,…,Pn}序列为安全序列),来为每个进程Pi分配其所需资

源,直至满足每个进程对资源的最大需求,使每个进程都可以顺利完成。安全状态一定

没有死锁发生。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。

安全序列:一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程Pi(1≤i

≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj(j〈i)当

前占有资源量之和,则称此进程序列{P1,P2,…,Pn}是安全的,称作安全序列.

银行家算法:我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行

家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款.操作系统按照

银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最

沈阳大学

个人收集整理勿做商业用途

大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,

否则就推迟分配.当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本

次申请的资源数之和是否超过了该进程对资源的最大需求量.若超过则拒绝分配资源,

若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按

当前的申请量分配资源,否则也要推迟分配。

2.2设计思路

2.2。1算法思路

先对用户提出的请求进行合法性检查,即检查请求是否大于需要的,是否大于可利

用的。若请求合法,则进行预分配,对分配后的状态调用安全性算法进行检查。若安全,

则分配;若不安全,则拒绝申请,恢复到原来的状态,拒绝申请。

2。2。2银行家算法中的数据结构

(1)可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代

表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数

值随该类资源的分配和回收而动态地改变。如果Available[j]=K,则表示系统中现

有R类资源K个

(2)最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程对m类资

源的最大需求。如果Max[i,

文档评论(0)

155****0853 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档