2022年操作系统 7.pdf
《2022年操作系统 7.pdf》由会员分享,可在线阅读,更多相关《2022年操作系统 7.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验七死锁避免算法实现1、目的要求通过程序程序设计,了解操作系统是如何在资源的动态分配过程中防止系统死锁的发生。2、实验内容1) 用你熟悉的计算机编程语言编写一实现计算机资源动态分配的程序。2)通过程序设计了解操作系统是如何在资源的动态分配过程中防止系统死锁的发生。#include static int i; /初始化各进程系统资源int Avaliable3=3,3,2; int Max53=7,5,3,3,2,2,9,0,2,2,2,2,4,3,3; int Allocation53=0,1,0,2,0,0,3,0,2,2,1,1,0,0,2; int Need53=7,4,3,1,2,2
2、,6,0,0,0,1,1,4,3,1; /*安全检查函数声明int SafeCheck(int Request53); /*分配函数声明void Allocat(int Request53); /*初始化状态安全检查int InitSafe(int Avaliable3); /*主函数void main() int Request53=0; int j,m=0,k=1; printf(n *银行家算法*nn); if(InitSafe(Avaliable) m=1; while(k) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
3、- 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - if(m) /确实申请资源的进程及申请资源数printf( 请输入要申请的进程id 号(0-4): ); scanf(%d,&i); while(i4) printf( 没有该进程,请重新输入进程号:); scanf(%d,&i); printf( 请输入该进程要申请的三种资源的数量:); for(j=0;j=2;j+) scanf(%d,&Requestij); /判断是否分配switch(SafeCheck(Request) case 1:/系统不会进入非安全状态,分配资源Alloca
4、t( Request); break; case 0:/系统进入非安全状态break; printf(n); printf(n 继续申请,请输入1;退去,请输入0:); scanf(%d,&k); printf(*n); else printf( 此时,系统处于不安全状态,不可以申请资源。n); k=0; /*初始化状态安全检查int InitSafe(int Avaliable3) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - -
5、- int j=0; int Work3,num5,a=0; bool Finish5=false; for(int m=0;m=2;m+) Workm=Avaliablem; while(j=Needj0)&(Work1=Needj1)&(Work2=Needj2) Finishj=true; Work0=Work0+Allocationj0; Work1=Work1+Allocationj1; Work2=Work2+Allocationj2; numa+=j; j=0; else j+; else j+; if(Finish0&Finish1&Finish2&Finish3&Finish
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统 2022 操作系统
限制150内