云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 计算机操作系统课程设计

计算机操作系统课程设计

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 4:10:07

操作系统课程设计指导书2015-1-4

18

操作系统课程设计指导书2015-1-4

任务五、死锁的避免

一、目的

在多道程序系统中,多个进程的并发执行来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险——死锁。所谓死锁(Deadlock),是指多个进程在运行过程中因争夺资源而造成的一种僵局(DeadlyEmbrace),当进程处于这种状态时,若无外力作用,他们都无法在向前推进。

我们可以在分配资源时加上限制条件就可以预防死锁,但是,在每一种预防死锁的方法之中,都施加了较强的限制条件;而在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。

二、内容

利用银行家算法来避免死锁的发生

三、程序框图

开始

主函数 main()

初始化 Init()

显示信息 show() 已分配资源 Allocation

计算剩余资源

程序所需济源

Need

判断是否安全

Safe

结束

19

操作系统课程设计指导书2015-1-4

四、源代码

#include #include #include using namespace std; int Sign[100];//标记数组

int Progress[100];//进程执行顺序标记数组 string Number[100];//进程号 class BankerArithmetic { public:

BankerArithmetic(int a,int b); //构造函数 int Safe(int grac);//判断是否安全 void Show();//显示相关信息 void Bank();//计算剩余资源量 ~BankerArithmetic();//析构函数 private:

BankerArithmetic(){};

void Init(int a,int b);//初始化 int ID;//记录成功申请资源的进程号 int n; //包含的进程数 int m; //资源种类数

int *Available;//可提供的资源总数 int ** Allocation;//以分配的资源 int ** Need;//仍需要的资源 int *Left;//剩余的资源 };

BankerArithmetic::BankerArithmetic(int a,int b):n(a),m(b) {

Init(n,m); }

BankerArithmetic::~BankerArithmetic() { int i;

20

操作系统课程设计指导书2015-1-4

delete[]Available; delete[]Left; for(i=0;i

void BankerArithmetic::Init(int a,int b) { int i,j;

for(i=0;i<100;i++) Sign[i]=-1;

Available=new int[b];//Availablede的申请 Left=new int[b];//Left的申请

Allocation=new int*[a];//Allocation的申请 for(i=0;i

Allocation[i]=new int[b]; Need=new int*[a];//Need的申请 for(i=0;i

cout<<\请输入可用资源Available:\for(i=0;i>Available[i];

cout<<\请输入进程号:\for(i=0;i>Number[i]; cout<<\

Allocation:\

for(j=0;j>Allocation[i][j]; cout<<\

Need:\

21

搜索更多关于: 计算机操作系统课程设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

操作系统课程设计指导书2015-1-4 18 操作系统课程设计指导书2015-1-4 任务五、死锁的避免 一、目的 在多道程序系统中,多个进程的并发执行来改善系统的资源利用率,提高系统的吞吐量,但可能发生一种危险——死锁。所谓死锁(Deadlock),是指多个进程在运行过程中因争夺资源而造成的一种僵局(DeadlyEmbrace),当进程处于这种状态时,若无外力作用,他们都无法在向前推进。 我们可以在分配资源时加上限制条件就可以预防死锁,但是,在每一种预防死锁的方法之中,都施加了较强的限制条件;而在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com