下载此文档

操作系统实验报告 C语言实现银行家算法.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
操作系统实验报告__C语言实现银行家算法.
1 / 12
实 验 报 告
题 目
名 称
C语言实现银行家算法
院 系
信息科学与工程学院
班 级
完成时间
指导老师
本次实验
成绩
表示系统处于安全状态,否则,处于不安全状态。
程序源代码及调试结果
附录3 --程序源代码
附录4 --程序运行调试结果
.
4 / 12
实验心得
本次实验我负责程序的编写方面,虽然基础一般,但是我仍然坚持花了三天的时间终于把程序拿下,这是让自己很欣慰的事,本次实验不仅让我对银行家算法有了更深入的理解,并且还让我的编程能力得到了较大提高,希望能有更多这样的机会,借此较好的锻炼自己,从而更好的掌握和运用自己的专业知识,提高能力水平。
本次实验相对于c基础并不好的我有一定的难度,所以我在程序方面所做的较少。而对银行家算法了解的比较透彻,在程序设计的原理和流程图方面做的工作较多,本次实验我学到的东西好多,也知道自己在很多方面的不足,虽然我给自己的发展方向定位为硬件方向,但是对C语言还是要进一步的学习。
.
5 / 12
Y
N
Y
N
Y
N
Y
N
系统初始化
输入进程个数no1
输入资源类数no2
输入进程最大需求矩阵Max、已分配矩阵Allocation和可利用资源矩阵Available
打印输出此时资源分配情况表
Need[][]=Max[][]-Allocation[][]
输入欲申请资源进程号
输入是否合法
输入该进程申请的资源量
Request[]>Need[][]?
继续分配<Y>?
or
退出<N>?
Request[]>Available[][]?
预分配
调用check<>函数进行安全性检查
退出系统
附录 1
银行家算法流程图
.
6 / 12
附录 2
安全性算法流程图
调用check<>函数
work[]=available[]
finish[]=false
need[][]<=work[]
finish[]=false ?
work[]=work[]+allocation[][]
finish[]=true
Y
N
所有进程的finish[]==true?
Y
N
输出安全序列,并打印出当前资源分配情况
输出提示:系统不安全
调用结束
附录3
程序源代码:
.
7 / 12
#include <>
#include <>
#include <>
# define m 50
int no1; //进程数
int no2; //资源数
int r;
int allocation[m][m],need[m][m],available[m],max[m][m];
char name1[m],name2[m]; //定义全局变量
void main<>
{
void check<>;
void print<>;
int i,j,p=0,q=0;
char c;
int request[m],allocation1[m][m],need1[m][m],available1[m];
printf<"**********************************************\n">;
printf<"* 银行家算法的设计与实现 *\n">;
printf<"**********************************************\n">;
printf<"请输入进程总数:\n">;
scanf<"%d",&no1>;
printf<"请输入资源种类数:\n">;
scanf<"%d",&no2>;
printf<"请输入Max矩阵:\n">;
for<i=0;i<no1;i++>
for<j=0;j<no2;j++>
scanf<"%d",&max[i][j]>; //输入已知进程最大资源需求量
printf<"请输入Allocation矩阵:\n">;
for<i=0;i<no1;i++>
for<j=0;j<no2;j++>
scanf<"%d",&allocation[i][j]>; //输入已知的进程已分配的资源数
for<i=0;i<no1;i++>
for<j=0;j<no2;j++>
n

操作系统实验报告 C语言实现银行家算法 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxnt86
  • 文件大小64 KB
  • 时间2022-02-09
最近更新