資源簡介
操作系統課程設計--死鎖 操作系統課程設計--死鎖 操作系統課程設計--死鎖
代碼片段和文件信息
#include?
#define?SOURCENUM?10
#define?SOURCE?3
#define?PCBNUM?4
using?namespace?std;
//進程控制塊
struct?pcb{
int?id; //進程編號
string?state; //進程狀態
int?need[SOURCE]; //進程對每類資源的需求
int?allocation[SOURCE]; //進程已經占有每類資源的數量
int?request[SOURCE]; //進程再此刻對每類資源的需求量
bool?finish; //進程是否完成
};
pcb?p[PCBNUM];
int?source[SOURCE];
int?pnum;
int?xulie[PCBNUM];
int?geshu;
//初始化
void?init();
//銀行家算法
void?banker();
//判斷是否有就緒的進程,返回true代表有,否則沒有
bool?exist();
//判斷分配是否安全,安全返回true,否則返回false
bool?safe(int?count);
bool?random();
int?main(){
init();
banker();
return?0;
}
void?init(){
int?cntcount;
//確定每類資源的數量
for(cnt=0;cnt source[cnt]=SOURCENUM;
//輸入進程數
cout<<“how?many?process?(at?most?4)?“;
cin>>pnum;
while(pnum<=0||pnum>PCBNUM
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????117760??2008-04-09?14:55??死鎖\死鎖.doc
?????文件???????5949??2007-10-30?00:00??死鎖\死鎖的避免1.cpp
?????目錄??????????0??2009-05-06?22:47??死鎖
-----------?---------??----------?-----??----
???????????????123709????????????????????3
評論
共有 條評論