电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统课程设计银行家算法的模拟实现

操作系统课程设计银行家算法的模拟实现_第1页
1/26
操作系统课程设计银行家算法的模拟实现_第2页
2/26
操作系统课程设计银行家算法的模拟实现_第3页
3/26
下载后可任意编辑操作系统课程设计银行家算法的模拟实现12024 年 4 月 19 日下载后可任意编辑操作系统课程设计(银行家算法的模拟实现)一、设计目的 1、进一步了解进程的并发执行。 2、加强对进程死锁的理解。 3、用银行家算法完成死锁检测。二、设计内容给出进程需求矩阵 C、资源向量 R 以及一个进程的申请序列。使用进程启动拒绝和资源分配拒绝(银行家算法)模拟该进程组的执行情况。三、设计要求 1、初始状态没有进程启动。 2、计算每次进程申请是否分配,如:计算出预分配后的状态情22024 年 4 月 19 日下载后可任意编辑况(安全状态、不安全状态),假如是安全状态,输出安全序列。 3、每次进程申请被允许后,输出资源分配矩阵 A 和可用资源向量 V。 4、每次申请情况应可单步查看,如:输入一个空格,继续下个申请。四、算法原理 1、银行家算法中的数据结构(1)、可利用资源向量 Available,这是一个含有 m 个元素的数组,其中的每个元素代表一类可利用资源的数目, 其初始值是系统中所配置的该类全部资源的数目,其数值随该类资源的分配和回收而动态改变。假如 Available[ j]=K,则表示系统中现有 Rj 类资源 K 个。(2)、最大需求矩阵 Max,这是一个 n*m 的矩阵,它定义32024 年 4 月 19 日下载后可任意编辑了系统中 n 个进程中的每一个进程对 m 类资源的最大需求。假如Max[i,j]=K,则表示进程 i 需要 Rj 类资源的最大数目为 K。(3)、分配矩阵 Allocation。这也是一个 n*m 的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。假如Allocation[i,j]=K,则表示进程 i 当前已经分得 Rj 类资源的数目为K。(4)、需求矩阵 Need。这也是一个 n*m 的矩阵,用以表示每个进程尚需要的各类资源数。假如 Need[i,j]=K,则表示进程 i还需要 Rj 类资源 K 个,方能完成其任务。上述三个矩阵间存在以下关系:Need[i,j]=Max[i,j]-Allocation[i,j]2、银行家算法应用模拟实现 Dijkstra 的银行家算法以避开死锁的出现,分两42024 年 4 月 19 日下载后可任意编辑部分组成:一是银行家算法(扫描);二是安全性算法。 (1)银行家算法(扫描) 设 Requesti 是进程 Pi 的请求向量,假如 Requesti[ j]=K,表示进程 Pi 需要 K 个 Ri 类型的资源。当 Pi 发出资源请求后,系统按下述步骤进行检查: ① 假如 Requesti[ j]<=Need[i,j],便转向步骤②;否...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统课程设计银行家算法的模拟实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部