实验二:最高优先级/优先级调度算法+先来先服务算法 实验三:最先适应算法+最佳适应算法+最坏适应算法 实验四:安全性算法+银行家算法 哈工大威海操作系统实验 代码及实验报告
操作系统 银行家算法 毕业论文 文档 实验报告.doc 操作系统 银行家算法 毕业论文 文档 实验报告.doc
2021-12-18 21:26:49 41KB 操作系统 银行家算法 毕业论文
1
银行家算法 安全性检查 绝对原创 保证可以运行 而且程序思路清晰,是我们操作系统实验,特拿出来共享
2021-12-17 14:59:27 1KB 银行家算法 安全性算法
1
本文详细书写了对银行家算法的改进,以及用c语言实现改进后的算法,包括源代码也包含在内。
2021-12-16 20:59:11 191KB 银行家算法、C语言
1
银行家算法 :用户输入资源种类、进程、数资源数,再输入所需分配进程的编号以及资源个数,经过系统安全检查,判断是否安全,安全则分配成功,输出安全序列;不安全则分配失败 语言:C++ 运行环境:Visual Studio 2013/更高版本 备注:资源种类、进程、数资源数不固定,待用户输入
2021-12-16 20:09:19 2.9MB 操作系统 银行家算法
1
自己学习的时候写的项目: Java实现银行家算法和作业调度算法
2021-12-16 11:06:49 29KB java
里面包含C++源代码(已修改BUG)、可执行文件、详细报告。 目录 1 需求分析 3 1.1 输入的形式和输入值的范围 3 1.2 输出的形式 4 1.3 程序所能达到的功能 5 1.4 测试数据 5 2 概要设计 8 2.1 主程序的流程 8 2.2 数据类型的定义 9 2.3 各程序模块之间的层次(调用)关系 10 3 详细设计 10 3.1 数据类型定义 10 3.2数据初始化 11 3.3 安全性检查 12 3.4 显示系统数据 13 3.5 银行家算法分配资源 14 4 调试分析 16 4.1 设计与实现的分析 16 4.2 算法的时间复杂性和改进设想 17 4.3 实现过程中遇到的主要问题及解决方法 19 4.4 设计过程的经验和体会 20 5 用户使用说明 21 6 测试与运行结果 22
1
银行家算法 1. 实验目的和要求 银行家算法是避免死锁的一种重要方法,要求编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 2. 实验内容 1.设计进程对各类资源最大申请表示及初值确定。 2.设定系统提供资源初始状况。 3.设定每次某个进程对各类资源的申请表示。 4.编制程序,依据银行家算法,决定其申请是否得到满足。 3. 实验说明 1.数据结构 假设有M个进程N类资源,则有如下数据结构: MAX[M*N] M个进程对N类资源的最大需求量 AVAILABLE[N] 系统可用资源数 ALLOCATION[M*N] M个进程已经得到N类资源的资源量 NEED[M*N] M个进程还需要N类资源的资源量 2.银行家算法 设进程I提出请求Request[N],则银行家算法按如下规则进行判断。 (1)如果Request[N]<=NEED[I,N],则转(2);否则,出错。 (2)如果Request[N]<=AVAILABLE,则转(3);否则,出错。 (3)系统试探分配资源,修改相关数据: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。 3.安全性检查 (1)设置两个工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)从进程集合中找到一个满足下述条件的进程, FINISH[i]=FALSE NEED<=WORK 如找到,执行(3);否则,执行(4) (3)设进程获得资源,可顺利执行,直至完成,从而释放资源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的进程Finish[M]=true,则表示安全;否则系统不安全。 4. 参考程序 #include "string.h" #include "iostream.h" #define M 5 //总进程数 #define N 3 //总资源数 #define FALSE 0 #define TRUE 1 //M个进程对N类资源最大资源需求量 int MAX[M][N]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; //系统可用资源数 int AVAILABLE[N]={10,5,7}; //M个进程已经得到N类资源的资源量 int ALLOCATION[M][N]={{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}; //M个进程还需要N类资源的资源量 int NEED[M][N]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; int Request[N]={0,0,0};
2021-12-16 08:18:02 13KB 操作系统 银行家算法,VC++
1
银行家算法的小程序,哈哈哈。。不错哦 操作系统的知识必须了解哦
2021-12-14 10:51:20 3KB 银行家算法
1
银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的算法
2021-12-14 10:41:48 3.02MB 操作系统 避免死锁
1