欢迎来到天天文库
浏览记录
ID:12388035
大小:598.32 KB
页数:16页
时间:2018-07-16
《银行家算法 os课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南京工程学院算通081班周洁南京工程学院课程设计报告书课程设计题目银行家算法课程名称计算机操作系统院(系、部、中心)通信工程学院专业 计算机通信工程班级算通081班姓名周洁学号208080311起止日期11.06.19~11.06.24指导教师王少东老师16南京工程学院算通081班周洁目录1.设计目的…………………………………….……….........…12.设计要求……………………………………………..…..…..23.设计的选题背景及设计计划1)选题背景…………………………..…….…………..….32)设计应达到的要求………………….............……...…44概要设计
2、1)银行家算法步骤………………….............……...….52)安全性算法步骤………………….............……...….63)主要数据结构设计………………….............……...….65.设计实现过程1)算法整体设计与调用72)程序流程图76.设计结果验证…………………..………………………....97.设计存在的不足程序设计繁杂…………………………………..………..118.设计总结………………………………………………..…119.参考文献………………………………………..…13附录:源程序清单…………………………………………..1316南京工程学院
3、算通081班周洁1.设计目的银行家算法是一种最有代表性的避免死锁的算法。把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资
4、源,否则也要推迟分配。本次课程设计通过在UNIX环境中用C语言编写和终端调试实现银行家算法的程序,达到进一步掌握银行家算法,理解系统产生死锁的原因以及系统避免死锁的方法,增强理论联系实际的能力的目的。2.设计要求对银行家算法进行编程,使之:(1)可以输入某系统的资源以及T0时刻进程对资源的占用及需求情况的表项,以及T0时刻系统的可利用资源数。(2)对T0时刻的进行安全性检测,即检测在T0时刻该状态是否安全。(3)进程申请资源,用银行家算法对其进行检测,分为以下三种情况:A.所申请的资源大于其所需资源,提示分配不合理不予分配并返回。B.所申请的资源未大于其所需资源,但大于系统此时的可利用资源,
5、提示分配不合理不予分配并返回。C.所申请的资源未大于其所需资源,亦未大于系统此时的可利用资源,预分配并进行安全性检查:a.预分配后系统是安全的,将该进程所申请的资源予以实际分配并打印后返回。b.与分配后系统进入不安全状态,提示系统不安全并返回。(4)对输入进行检查,即若输入不符合条件,应当报错并返回重新输入。3.设计的选题背景及设计计划1)选题背景16南京工程学院算通081班周洁我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需
6、求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。2)设计应达到的要求5.2死锁预防:预防死锁的方法是使产生死锁的四个必要条件中的2、3、4条件之一不能成立。即:一、摒弃“请求和保持”条件。系统规定所有进程在开始运行之前,都必须一次性申请其在整个运行过程中所需的全部资源。使该进程再整个运行过程中不会提出资源
7、请求,因而摒弃了请求条件。又由于进程在等待期间没有占有任何资源,所以也摒弃了保持条件。二、摒弃“不剥夺”条件。系统规定,进程逐个提出对资源的要求,当一个已经保持了某些资源的进程,再提出新的资源请求而未被满足时,必须释放已经保持的所有资源,待以后需要是在再重新申请。三、摒弃“环路等待”条件。系统规定所有资源按类型进行线性排队,并赋予不同的序号。所有进程对资源的请求都必须严格按资源序号递增的顺序提出。5.3安全状
此文档下载收益归作者所有