没有合适的资源?快使用搜索试试~ 我知道了~
JAVA银行家算法,自己做的,详细注解,并且很简单,一看就懂
需积分: 10 19 下载量 173 浏览量
2010-12-19
17:50:20
上传
评论
收藏 318KB DOC 举报
温馨提示
试读
18页
学校里OS课程设计自己做的算法,很简单并且有详细注释,连报告一起发了,算法在报告里。
资源推荐
资源详情
资源评论
<<操作系统>>课程设计报告
指导教师:
学号:
姓名:
班级:
学期:20 10
至 20 11
学年 1 学期
1、概述
一、设计目的
计算机科学与技术专业学生学习完《计算机操作系统》课程后,进行的一次
全面的综合训练,其目的在于加深催操作系统基础理论和基本知识的理解,加
强学生的动手能力. 银行家算法是避免死锁的一种重要方法。通过编写一个模拟
动态资源分配的银行家算法程序,进一步深入理解死锁、产生死锁的必要条件、
安全状态等重要概念,并掌握避免死锁的具体实施方法。
二、开发环境
操作系统 编译环境 生成文件
WindowsXp Java .java
2、需求分析
一、死锁概念:
死锁是指诸进程由于竞争资源,而产生的一种僵局。
二、关于死锁的一些结论:
参与死锁的进程最少是两个(两个以上进程才会出现死锁)
参与死锁的进程至少有两个已经占有资源
参与死锁的所有进程都在等待资源
参与死锁的进程是当前系统中所有进程的子集
注:如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。
三、资源分类:
永久性资源:
可以被多个进程多次使用(可再用资源)
l 可抢占资源
l 不可抢占资源
临时性资源:只可使用一次的资源;如信号量,中断信号,同步信号等(可
消耗性资源)
“申请--分配--使用--释放”模式
四、产生死锁的四个必要条件:互斥条件,请求和保持条件,不剥夺条件,环
路等待条件
五、 死锁的解决方案
5.1 产生死锁的例子
申请不同类型资源产生死锁
P1:
…
申请打印机
申请扫描仪
使用
释放打印机
释放扫描仪
…
P2:
…
申请扫描仪
申请打印机
使用
释放打印机
释放扫描仪
…
申请同类资源产生死锁(如内存)
设有资源 R,R 有 m 个分配单位,由 n 个进程 P1,P2,…,Pn(n > m)共享。
假设每个进程对 R 的申请和释放符合下列原则:
* 一次只能申请一个单位
* 满足总申请后才能使用
* 使用完后一次性释放
m=2,n=3
资源分配不当导致死锁产生
5.2 死锁预防:
定义:在系统设计时确定资源分配算法,保证不发生死锁。具体的做法是破坏产
生死锁的四个必要条件之一
① 破坏“不可剥夺”条件
在允许进程动态申请资源前提下规定,一个进程在申请新的资源不能立即
得到满足而变为等待状态之前,必须释放已占有的全部资源,若需要再重新申
请
② 破坏“请求和保持”条件
要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进
程所要资源均可满足时才给予一次性分配
③ 破坏“循环等待”条件
采用资源有序分配法:
把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次
序进行,否则操作系统不予分配。
6.安全状态与不安全状态
安全状态:
如果存在一个由系统中所有进程构成的安全序列 P1,…Pn,则系统处于安全
状态。一个进程序列{P1,…,Pn}是安全的,如果对于每一个进程
Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程 Pj
(j < i )当前占有资源量之和,系统处于安全状态 (安全状态一定是没有死锁发生
的)
不安全状态:不存在一个安全序列,不安全状态一定导致死锁。
3、数据结构设计
一、可利用资源向量矩阵 AVAILABLE。这是一个含有 m 个元素的数组,
其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该
类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。如果
AVAILABLE [j]= K,则表示系统中现有 R 类资源 K 个
二、最大需求矩阵 MAX。这是一个 n*m 的矩阵,用以表示每一个进程对
m 类资源的最大需求。如果 MAX [i,j]=K,则表示进程 i 需要 R 类资源的数目
为 K。
三、分配矩阵 ALLOCATION。这也是一个 n*m 的矩阵,它定义了系统中
每一类资源当前已分配给每一进程的资源数。如果 ALLOCATION [i,j]=K,则
表示进程 i 当前已分得 R 类资源的数目为 K。
四、需求矩阵 NEED。这也是一个 n*m 的矩阵,用以表示每一个进程尚需
的各类资源数。如果 NEED [i,j]=K,则表示进程 i 还需要 R 类资源 K 个,才能
完成其任务。
(
上述矩阵存在下述关系:
剩余17页未读,继续阅读
资源评论
busyness029
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功