对于银行家算法的实现,需要知道三件事:
每个进程所能获取的每种资源数量是多少[MAX]
每个进程当前所分配到的每种资源的数量是多少[ALLOCATED]
系统当前可分配的每种的资源数量是多少[AVAILABLE]
只有当资源满足以下条件,资源才会被分配:
request <= max, 也可设置错误条件,当进程所请求的资源超过最大的要求
request <= available, 或者进
程一直等直到资源可分配
一些资源在实际的系统被跟踪,如:内存,信号量以及接口。
银行家算法名字源于该算法实际上是用于确保银行系统不会用尽系统资源,因为当银行系统不再满足所有客户的需求,系统将不会分配钱(看作资源)给客户,银行必须确保对钱的请求不会导致银行系统处于不安全状态。如果上述情况不会发生,则该情况下请求是被允许的,否则,客户必须等到其他客户往银行存进足够银行分配的资金。
基本数据结构用于维护运行银行家算法:
用n表示系统资源数量,m表示系统资源类型。则我们需要以下的数据结构:
Available: 长度为m的向量用来表示每种资源可分配的数量。如果available[j]=k, 资源类型为Rj可分配数量为k。
Max: n * m矩阵,定义,每个进程最大的资源需求。如果Max[i,j]=k. 表明Pi对类型为Rj资源的请求为k.
Allocation: n * m矩阵定义每个进程已分配到的每种资源的数量。如果Allocation[i,j] = k,进程Pi已分配到类型为Rj的资源数量为k。
Need: n * m 矩阵表明每个进程所需的资源数量,如果Need[i,j] = k, 进程Pi需要至少得到k数量的资源Rj,才能完成任务。
野生的狒狒
- 粉丝: 3398
- 资源: 2437
最新资源
- 【岗位说明】技术开发部职能说明书.doc
- 【岗位说明】技术管理部职能说明书.doc
- 【岗位说明】技术中心职能说明书.doc
- 【岗位说明】技术主管岗位说明.doc
- 【岗位说明】技术主管岗位职责.doc
- 【岗位说明】技术总监岗位说明.doc
- 【岗位说明】技术总监岗位职责.doc
- 【岗位说明】技术总监职务描述.doc
- 【岗位说明】驾驶员岗位职责.doc
- 电力系统 电动汽车 新能源汽车 充电优化算法 基于飞蛾扑火算法的电动汽车群有序充电优化 使用飞蛾扑火算法求解一个充电策略优化问题 目标是找到电动汽车充电站的最佳充电策略,以最小化目标函数 号外
- 【岗位说明】开发部岗位职责表.doc
- 【岗位说明】科技公司办公室职能说明书.doc
- 黑客零起点教程CHM版最新版本
- 基于改进EMD编码预测单元分区模式的高效视频隐藏算法及其应用研究
- 永磁同步力矩电机设计与仿真分析 将慢速、大转矩的永磁同步力矩电机列为主要研究对象,主要针对永磁同步力矩电机的电磁设计和模拟展开了工作 运用解析方法,对分数槽集中绕组电动机的磁动势波形、气隙磁密度谐波
- MYSQL注射精华pdf第一版最新版本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈