- 57
- 0
- 约2.05千字
- 约 11页
- 2018-02-27 发布于湖北
- 举报
用银行家算法实现资源分配课程设计精品
实验一: 资源分配仿真 (8学时)实验内容模拟资源分配算法,了解死锁的产生和预防方法。实验目的在课程已经学习了死锁的4个必要条件的基础上,为了了解系统的资源分配情况,假定系统中任一资源在每一时刻只能由一个进程使用,任何进程不能抢占其它进程正在占有的资源,当进程得不到资源时,必须等待。因此,只要资源分配策略能保证不出现循环等待,系统就不会发生死锁。要求学生编写和调试系统动态分配资源的仿真程序,观察死锁产生的条件,再采用适当的算法,有效地防止和避免死锁发生。实验题目用银行家算法实现资源分配要求:设计3~4个并发进程共享10个同类资源的系统,各进程动态地申请和释放资源;用银行家算法和随机分配算法分别设计资源分配程序,观察系统的运行情况;确定一组进程依次申请的资源数序列,运行上述程序,显示各进程依次申请的资源情况。提示:银行家分配算法的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程还需要资源的最大量。如果系统中现存的资源数大于或等于该进程还需要的最大量时,则满足进程的当前申请。这样可以保证至少有一个进程能得到全部资源而执行到结束。然后归还它占用的全部资源,供其它进程使用。银行家算法破坏了产生死锁的环路等待条件,即不可能产生循环等待,从而可以避免死锁的发生。把各进程需要和已占用资源的情况记录在进程控制块中。假定进程控制块PCB的格式如下:其中,状态有:就绪
原创力文档

文档评论(0)