操作系统之银行家算法

(1)利用银行家算法设计系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。

(2)设计用银行家算法和随机分配算法,实现资源分配的两个资源分配程序,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。

(3)确定一组各进程依次申请资源数的序列,在相同的情况下分别运行上述两种资源分配程序,观察运行结果。

#include <iostream>
#include <time.h>
#include <vector>
#include <windows.h>
using namespace std;
int r[3]={3,3,2};//系统拥有的资源
int r0=0,r1=0,r2=0;//记录申请资源
class pcb
{

public:	
	int id;
	bool state;
	int max[3];
	int alc[3];
	int need[3];

	pcb()
	{
	}
	void init()
	{
		state=false;
		cout<<"请输入进程的id,各个资源总需求量和已占用资源"<<endl;
		cin>>id;
		cout<<"a,b,c三种资源的最大使用量"<<endl;
		cin>>max[0]>>max[1]>>max[2];
		cout<<"a,b,c三种资源的已占有量"<<endl;
		cin>>alc[0]>>alc[1]>>alc[2];
	}
	int rd(int n)
	{
		return rand()%(n+1);

	}
	int request()
	{
//		Sleep(1000);
		r0=rd(max[0]-alc[
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值