计算机操作系统课程设计避免死锁预习报告_第1页
计算机操作系统课程设计避免死锁预习报告_第2页
计算机操作系统课程设计避免死锁预习报告_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机操作系统课程设计预习报告设计题目:死锁避免——银行家算法的模拟实现思路和算法思想思路本题目的简化假设是:1、程序运行开始时,资源全部可用。资源种类约10种,每种资源数目为1~10。2、不断随机产生或手工输入新的“进程资源需求向量”,并填写到最大需求矩阵。3、在各进程的最大需求数量范围内(因此需作是否超出范围的检验),为各进程随机生成或手工输入资源请求。经银行家算法后输出系统是否安全的信息。当一个进程的资源请求全部发完后,认为它结束。通过编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁地发生。要求如下:(1)

模拟一个银行家算法;(2)

初始化时让系统拥有一定的资源,资源种类约10种,每种资源数目为1~10;(3)

用键盘输入的方式申请资源;(4)

如果预分配后,系统处于安全状态,则修改系统的资源分配情况;(5)

如果预分配后,系统处于不安全状态,则提示不能满足请求,设计的主要内容是模拟实现动态资源分配。同时编写和调试一个系统动态资源的简单模拟程序,观察死锁产生的条件,并使用适当的算法,有效的防止和避免死锁的发生。二、算法思想银行家算法.顾名思义是来源于银行的借贷业务,一定数量的本金要应多个客户的借贷周转,为了防止银行加资金无法周转而倒闭,对每一笔贷款,必须考察其是否能限期归还。在操作系统中研究资源分配策略时也有类似问题,系统中有限的资源要供多个进程使用,必须保证得到的资源的进程能在有限的时间内归还资源,以供其他进程使用资源。如果资源分配不得到就会发生进程循环等待资源,则进程都无法继续执行下去的死锁现象。把一个进程需要和已占有资源的情况记录在进程控制中,假定进程控制块PCB其中“状态”有就绪态、等待态和完成态。当进程在处于等待态时,表示系统不能满足该进程当前的资源申请。“资源需求总量”表示进程在整个执行过程中总共要申请的资源量。显然,,每个进程的资源需求总量不能超过系统拥有的资源总数,银行算法进行资源分配可以避免死锁.1.银行家算法:

设进程i提出请求Request[n],则银行家算法按如下规则进行判断。

(1)如果Request[n]>Need[i,n],则报错返回。

(2)如果Request[n]>Available,则进程i进入等待资源状态,返回。

(3)假设进程i的申请已获批准,于是修改系统状态:

Available=Available-Request

Allocation=Allocation+Request

Need=Need-Request

(4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。

2.安全性检查

(1)设置两个工作向量Work=Available;Finish[M]=False

(2)从进程集合中找到一个满足下述条件的进程,

Finish[i]=False

Need<=Work

如找到,执行(3);否则,执行(4)

(3)设进程获得资源,可顺利执行,直至完成,从而释放资源。

Work=Work+Allocation

Finish=True

GOTO2

(4)如所有的进程Finish[M]=true,则表示安全;否则系统不安全。3.数据结构#defineFalse0#defineTrue1intMax[100][100]={0};//各进程所需各类资源的最大需求intAvaliable[100]={0};//系统可用资源charname[100]={0};//资源的名称intAllocation[100][100]={0};//系统已分配资源intNeed[100][100]={0};//还需要资源intRequest[100]={0};//请求资源向量inttemp[100]={0};//存放安全序列intWork[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论