教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

操作系统课设-银行家算法(3)

来源:网络收集 时间:2026-08-22
导读: printf(\时刻的安全性:\\n\ if(Safe()) return -1; while(1) { Request(); } return 0; } 六、结果及数据分析 ①、本程序按下图建立.txt源文件,作为程序的初始化输入。 ②、执行程序,读取源文件,并判断T0时刻所

printf(\时刻的安全性:\\n\ if(Safe()) return -1; while(1) { Request(); }

return 0; }

六、结果及数据分析

①、本程序按下图建立.txt源文件,作为程序的初始化输入。

②、执行程序,读取源文件,并判断T0时刻所得结果:

③、T0时刻的安全序列以及输入P2进程Request(2 2 2)所得请求结果:

④、调用Request()函数,测试该函数的可行性,如输入P1进程Request(1 0 2),所得结果:

⑤ 输入P0进程Request(0 2 0),所得结果:

七、心得体会

在程序进行编写之前,先对程序的要求进行分析,弄清楚程序所需要的功能,然后将每个功能分成一个功能模块即调用函数来实现,无需过多的画蛇添足。

编写这个简易的银行家算法让我知道了在资源一定的条件下为了让多个进程都能使用资源完成任务,避免死锁的产生可以从一开始就对系统进行安全性检查来判断是否将资源分配给正在请求的进程。但是银行家算法会加大系统的开销。

此外,对于此算法,我想知道实际运用中会怎么使用。在系统不分配进程所请求的资源的时候,是否会将此资源等待,直到拥有足够的资源的时候再来运行?进程会请求资源是指在执行的过程中只有拥有了足够数量的资源才可以执行下去,但是资源有限,进程数又有足够多,我们期望所有进程都可以在最短的时间内执行完。也许可以这样理解。

哦,题目中要求所系统随机给进程分配初始化的资源,这里我不太会。系统随机分配?可以是对系统各种资源的总数中对各个进程进行随机分配,直接使用随机分配函数?在输出全部安全序列中使用了与八皇后问题相同的算法——回溯法。

本次课设让我对银行家算法和死锁都有了一定的理解。

操作系统的基本特征就是并发和共享,系统允许多个进程并发执行,并且共享系统的软、硬件资源。为了最大限度的利用计算机资源,操作系统应采用动态分配的策略,但是这样就容易因资源不足、分配不当而引起“死锁”。本次课程设计就是用银行家算法来避免“死锁”。该算法就是一个资源分配过程,使分配序列不会产生死锁。此算法的中心思想就是,每次分配后总存在着一个进程,如果让它单独的运行下去,必然可以获得它所需要的全部资

源,而它结束后可以归还这类资源以满足其他申请者的需要。

八、参考资料

①、《计算机操作系统(第三版)》 汤子瀛等 西安电子科技大学出版社 ②、《操作系统实验教程——基于windows和Linux》 秦明等

操作系统课设-银行家算法(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404223.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)