操作系统课程设计银行家算法(6)

时间:2026-01-16

银行家算法,可运行的,完整的论文

则,系统处于不安全状态。

此过程由一个安全性检测函数实现:safeAlgorithm();//安全性检测算法

4、对进程申请资源的处理

当某一进程提出资源申请时,系统须做出判断,能否将所申请资源分配给该进程。设request为进程i的请求向量,如果request[j]=K,表示进程i需要K个j资源。当系统发出请求后,系统按下述步骤开始检查:

(1) 如果request[j]<=need[i][j],转向步骤2;否则报告出错,申请的资源大于它需要的最大值。

(2) 如果request[j]<=available[j],转向步骤3;否则报告出错,尚无足够的资源。

(3)系统试探着把资源分配给p[i],并修改下列数据结构中的值: available[j]=available[j]-request[j]

allocation[i][j]=allocation[i][j]+request[j]

need[i][j]=need[i][j]-request[j]

(4)系统进行安全性算法,检查此次分配后,系统是否还处于安全状态,若安全,把资源分配给进程i;否则,恢复原来的资源分配状态,让进程i等待。 整个过程由银行家算法实现:bankerAlgorithm()//利用银行家算法对申请资源对进行判定

四、算法描述

#include<string.h>

#include<stdio.h>

#define M 5 //定义进程数

#define N 3 //定义资源数 s

#define False 0

#define True 1

int Max[5][3]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; //每个进程对每类资源的最大需求

int Allocation[5][3]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}};//

操作系统课程设计银行家算法(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219