学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > java实现银行家算法

java实现银行家算法

用java语言实现计算机操作系统中的银行家算法实验

实验名称 银行家算法

一、实验目的

用高级语言编写和调试一个银行家算法程序,并可以利用银行家算法模拟分配资源以及进行安全性检查。加深对银行家算法的理解。

二、实验指导

1. 银行家算法中的数据结构

(1) 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。如果Available[j]=K,则表示系统中现有Rj类资源K个。

(2) 最大需求矩阵Max。这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。

(3) 分配矩阵Allocation。这也是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K

(4) 需求矩阵Need。这也是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

Need[i,j]=Max[i,j]-Allocation[i,j]

2. 银行家算法

设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型的资源。当

java实现银行家算法

Pi

(1) 如果Requesti[j]≤Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。

(2) 如果Requesti[j]≤Available[j],便转向步骤(3);否则, 表示尚无足够资源,Pi须等待。

(3) 系统试探着把资源分配给进程Pi

Available[j]∶=Available[j]-Requesti[j];

Need[i,j]∶=Need[i,j]-Requesti[j]; Allocation[i,j]∶=Allocation[i,j]+Requesti[j];

(4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。

3. 安全性算法

第1页

TOP相关主题

  • 银行家算法
  • 银行家算法 java
  • svm算法java实现
  • knn算法java实现
  • rsa算法java实现
  • java实现迷宫算法
  • kmp算法java实现
  • 决策树算法java实现

我要评论

相关文档

  • java实现银行家算法

    java实现银行家算法_IT/计算机_专业资料。操作系统 银行家算法import java.util.*; class ThreadTest { static int type = 4, num = 10; //定义资源数目和线...

  • java实现银行家算法

    java实现银行家算法 隐藏>> package bao1; import java.util.*; /*此类主要功能如下: * 1.初始化资源 * 2.进行死锁避免 * 3.检索进程请求资源是否可行 ...

  • 银行家算法java编程实现

    /*银行家算法 java 语言实现*/ 此处是函数部分因实现的功能不是核心故而略去 class TheBanker{ int m; int n; int[][] max; int[][] maxbak;//备份用 ...

  • java--编写银行家算法(附图片)

    java--编写银行家算法(附图片) - 1、在 cmd 窗口运行的结果: 2、在 netbean 中运行的结果: import java.util.Scanner; /** * * @a...

  • java编写的银行家算法

    java编写的银行家算法_计算机软件及应用_IT/计算机_专业资料。package 银行家算法...-银行家算法实现 9页 免费 Java语言的银行家算法 12页 免费 c++银行家算法 ...

  • 银行家算法java编程实现

    /*死锁避免与死锁检测模拟程序【银行家算法】 06-3 班 学号:310609040308*/ import java.util.*; public class TestTheBanker { 网络工程 public static void ...

  • 银行家算法java源代码

    银行家算法java源代码_计算机软件及应用_IT/计算机_专业资料。银行家算法java源代码//11111111111111111111111111111111111 import java.util.*; public class Bank { pub...

  • 银行家算法java源代码

    银行家算法java源代码_IT/计算机_专业资料。这是关于操作系统的银行家算法的java...java实现银行家算法 6页 1下载券 Java语言的银行家算法 12页 免费 银行家算法...

  • 银行家算法--操作系统JAVA实现

    银行家算法--操作系统JAVA实现_计算机软件及应用_IT/计算机_专业资料。银行家算法--操作系统JAVA实现//QQ:249030379 梦若 import java.util.Scanner; public class...

  • 银行家算法java

    保证可以直接运行的java编程 银行家算法import java.util.*; public class ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部