登录 注册
当前位置:主页 > 资源下载 > 5 > 编程实现的银行家算法(以VS为例)

编程实现的银行家算法(以VS为例)

  • 更新:2024-09-29 15:01:44
  • 大小:3.42MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C/C++ - 课程资源
  • 格式:ZIP

资源介绍

#define  n  5  //进程个数 #define  m  3  //资源种类 int   Available[m],Alloc[n][m],Need[n][m]; main() {    int request[m];    input( );    while (1)    {       read_req( );        if  (请求结束)   break;   (1) if (!(requesti<=Needi))   表示非法请求;   (2) if (!(requesti<=Availablei)) 则Pi阻塞;  (3)试探性分配 Available=Available - Requesti;        Alloci=Alloci+Requesti;        Needi=Needi-Requesti;   (4)若新状态安全,则实际分配资源给Pi,否则取消试探性分配。   } } 安全状态判别算法: (1)设置Finish=(false,...,false) work=Available (2)循环查找满足下列条件的进程pi    //最多循环n次         Finish[i]=false且Needi<=work (3)若找到则 Finish[i]=true;work=work+Alloci; 转(2) (4)若Finish=(true,...,true) 则安全,否则不安全。 测试数据:m=3:种类型的资源(A,B,C,) 进程个数n=5 Available=(2,3,3);