银行家算法课程设计报告.doc

上传人:龙*** 文档编号:1024094 上传时间:2018-11-19 格式:DOC 页数:11 大小:293.32KB
下载 相关 举报
银行家算法课程设计报告.doc_第1页
第1页 / 共11页
银行家算法课程设计报告.doc_第2页
第2页 / 共11页
银行家算法课程设计报告.doc_第3页
第3页 / 共11页
银行家算法课程设计报告.doc_第4页
第4页 / 共11页
银行家算法课程设计报告.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、操作系统原理课程设计报告1 设计目的(1)进一步了解进程的并发执行(2)加强对进程死锁的理解(3)用银行家算法完成死锁检测2 设计内容给出进程需求矩阵 C、资源向量 R 以及一个进程的申请序列。使用进程启动拒绝和资源分配拒绝(银行家算法)模拟该进程组的执行情况。3 设计要求(1)初始状态没有进程启动;(2)计算每次进程申请是否分配,如:计算出预分配后的状态情况(安全状态,不安全状态) ,如果是安全状态,输出安全序列;(3)每次进程申请被允许后,输出资源分配矩阵 A 和可用资源向量 V;(4)每次申请情况应可单步查看,如:输入一个空格,继续下个申请。4 算法原理4.1 银行家算法中的数据结构(1

2、)可利用资源向量 Available它是一个含有 m 个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而动态地改变。如果 Availablej=K,则表示系统中现有 Rj 类资源 K 个。(2)最大需求短阵 Max这是个 nm 的矩阵,它定义了系统中 n 个进程中的每一个进程对 m 类资源的最大需求。如果 Max(i,j)K,表示进程 i 需要 Rj 类资源的最大数目为K。(3)分配短阵 Allocation这是一个 nm 的矩阵,它定义了系统中每一类资源当前已分配给每个进程的资源数。如果 Allocation(

3、i,j)K,表示进程 i 当前已分得 Rj 类资源的数目为 K。(4)需求矩阵 Need它是一个 nm 的矩阵,用以表示每一个进程尚需的各类资源数,如果Needi,j=K,则表示进程 i 还需要 Rj 类资源 k 个,方能完成其任务。上述三个矩阵间存在下述关系:Needi,j=Maxi,j-Allocationi,j4.2 银行家算法设 Requesti 是进程 Pi 的请求向量。如果 Requestijk,表示进程只需要 k 个 Rj 类型的资源。当 Pi 发出资源请求后,系统按下述步骤进行检查:(1)如果 Requestij#include #include #define FALSE 0#define TRUE 1#define W 10#define R 10int M ; int N ; int ALL_RESOURCEW;int MAXWR; int AVAILABLER; int ALLOCATIONWR; int NEEDWR; int RequestR; void output()int i,j;cout=M)couti;if(i=M) coutRequestj;if(RequestjNEEDij) coutAVAILABLEj)coutflag;void version()coutendl;cout“t 银 行 家 算 法 “endl;

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 重点行业资料库 > 文艺体娱

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。