77范文网 - 专业文章范例文档资料分享平台

课程设计模板110

来源:网络收集 时间:2019-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

课程设计(大作业)报告

课程名称: 操作系统 设计题目: 银行家算法模拟 院 系: 信息技术学院 班 级: 2011级计科1班 设 计 者: 李智锟 学 号: 201111010112 指导教师: 段玻 设计时间: 2013-12(23——27号)

昆明学院课程设计(大作业)任务书

姓 名:李智锟 专 业:计算机科学与技术 任务起止日期:2013.12.23——2013.12.27 课程设计题目: 银行家算法 课程设计要求及任务描述: 1。查资料了解题目,弄明白要做些什么。 2.。绘制系统流程图,交予老师检查。 3.。查资料准备写程序。 4.。编写程序并调试运行。 5。.修改程序中出现的错误和警告。 6.。进行答辩。 7。归纳总结,整理资料。 8.。写实验大报告。 9.提交报告。 工作计划及安排: 2013.12.23:熟悉题目,看任务要求。 2013.12.24:画流程图,并对流程图不足的地方进行修改。 2013.12.25到26号:写程序并运行程序。 2013.12.27:递交大作业报告。 指导教师签字 年 月 日 院(系):信息技术学院 学 号:201111010112 课程设计(大作业)成绩 学号:201111010112 课程设计题目:李智锟 完成情况总结: 在这次实验里边我遇到了许多问题,分别有 1.对数据结构中的各个矩阵分不太清楚。解决办法:通过看老师给的PPT解决。 2.程序问题:在百度和同学的帮助下解决。 3.程序运行遇到的问题:在同学和老师的帮助下完成. 姓名:李智锟 指导教师:段玻 指导教师评语: 成绩: 填表时间:2013.12.27 指导教师签名: 课程设计(大作业)报告

一、题目分析

1、始化这组进程的最大资源请求和一次申请的资源序列。把各进程已占用和需求资源情况记录在进程控制块中。假定进程控制块的内容包括:进程名,状态,当前申请量,资源需求总量,已占资源量,能执行完标志。其中,进程的状态有:就绪,等待和完成。当系统不能满足进程的资源请求时,进程出于等待状态。资源需求总量表示进程运行过程中对资源的总的需求量。已占资源量表示进程目前已经得到但还为归还的资源量。因此,进程在以后还需要的剩余资源量等于资源需要总量减去已占资源量。陷入每个进程的资源需求总量不应超过系统拥有的资源总量。

2、银行家算法分配资源的原则是:当某个进程提出资源请求时,假定先分配资源给它,然后查找各进程的剩余请求,检查系统的剩余资源量是否由于进程的分配而导致系统死锁。若能,则让进程等待,否则,让进程的假分配变为真分配。

A) 查找各进程的剩余请求,检查系统的剩余资源量是否能满足其中一进程,如果能,则转B)。

B)将资源分配给所选的进程,这样,该进程已获得资源最大请求,最终能运行完成。标记这个进程为终止进程,并将其占有的全部资源归还给系统。

重复第A)步和B)步,直到所有进程都标记为终止进程,或知道一个死锁发生。若所有进程都标记为终止进程,则系统的初始状态是安全的,否则为不安全的。若安全,则正式将资源分配给它,否则,假定的分配作废,让其等待。

二、程序设计 1. 数据结构设计

假设有m个进程,则有如下数据结构: #define w 50 //宏定义 #define r 50 //宏定义 int m; //总进程数

int all[w];//各种资源的数目总和

int max[w][r]; //m个进程最大资源需求量 int available[r]; //系统可用资源数

int allocation[w][r]; //m个进程已经得到资源的资源量 int need[w][r]; //m个进程还需要资源的资源量 int request[r]; //请求资源个数

2. 函数设计

设Request[n],是进程的请求向量,如果Request[n]=m,则表示该进程需要m个资源。当该进程发出资源请求后,系统按下述步骤进行检查: (1)如果Request[n]《=Need[i,n],便转向步骤(2);否则认为出错,因为它所需要的资源数已经超过它所宣布的最大值。

(2)如果Request[n]>Available,则进程i进入等待资源状态,返回。 (3)假设进程i的申请已获批准,于是修改下面数据结构中的数值: Available=Available-Request Allocation=Allocation+Request Need=Need-Request

(4)系统执行安全性检查,如安全,则分配成立;否则恢复原来的资源分配状态,系统恢复原状,进程等待。

程序

void bank() //银行家算法 {

int i=0,j=0; char flag='Y';

while(flag=='Y'||flag=='y') {

i=-1;

while(i<0||i>=m) {

cout<<\请输入需申请资源的进程号(从0到\):\ cin>>i;

if(i<0||i>=m)cout<<\该进程号不存在,请重新输入!\ }

cout<<\请输入进程\申请的资源数:\ for (j=0;j<1;j++) {

cout<<\ cin>>request[j];

if(request[j]>need[i][j]) //若请求的资源数大于进程还需要i类资源的资源量j {

cout<<\进程\申请的资源数大于进程\还需要资源的资源量!\ cout<<\申请不合理,请重新选择!\ flag='1'; break; } else {

if(request[j]>available[j]) //若请求的资源数大于可用资源数 {

cout<<\进程\申请的资源数大于系统可用资源的资源量!\ cout<<\申请不合理!请重新选择!\ flag='1'; break; } } }

if(flag=='Y'||flag=='y') {

change(i); //调用change(i)函数,改变资源数 if(chkerr(i)) //若系统安全 {

rstore(i); //调用rstore(i)函数,恢复资源数 show(); //输出资源分配情况 }

else //若系统不安全 show(); //输出资源分配情况 }

else //若flag=N||flag=n show(); cout<

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库课程设计模板110在线全文阅读。

课程设计模板110.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/546155.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: