广州大学学生实验报告
开课学院及实验室:计算机科学与网络工程学院 软件实验室 2023年5月19日
学院 |
计算机科学与网络工程学院 |
年级/专业/班 |
|
姓名 |
|
学号 |
|
实验课程名称 |
操作系统实验 |
成绩 |
|||||
实验项目名称 |
银行家算法 |
指导老师 |
实验二 银行家算法
一、实验目的
1、了解什么是操作系统安全状态和不安全状态;
2、了解如何避免系统死锁;
3、理解银行家算法是一种最有代表性的避免死锁的算法,掌握其实现原理及实现过程。
二、实验环境
Visual Studio 2019
三、实验内容
根据银行家算法的基本思想,编写和调试一个实现动态资源分配的模拟程序,并能够有效避免死锁的发生。
四、实验原理,实验中用到的系统调用函数(包括实验原理中介绍的和自己采用的),实验步骤
1、实验原理:
①什么是系统的安全状态和不安全状态
所谓安全状态,是指如果系统中存在某种进程序列<P1,P2,…,Pn>,系统按该序列为每个进程分配其所需要的资源,直至最大需求,则最终能使每个进程都可顺利完成,称该进程序列<P1,P2,…,Pn,>为安全序列。
如果不存在这样的安全序列,则称系统处于不安全状态。
②银行家算法
把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。
为保证资金的安全,银行家规定: