中国计量学院操作统课程设计(银行家算法+哲学家进餐).docVIP

  • 2
  • 0
  • 约1.15万字
  • 约 18页
  • 2016-11-23 发布于贵州
  • 举报

中国计量学院操作统课程设计(银行家算法+哲学家进餐).doc

中国计量学院操作统课程设计(银行家算法哲学家进餐)

共享资源分配与银行家算法 课程设计目的和意义 银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。所以,通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁、产生死锁的必要条件、安全状态等重要概念,并掌握避免死锁的具体实施方法。 方案设计及开发过程 课程设计背景 此次课程设计的主要内容是模拟实现资源分配。同时要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并使用适当的算法,有效的防止和避免死锁的发生。 具体用银行家算法实现资源分配。要求如下: (1) 设计一个3个并发进程共享3类不同资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。 (2) 设计用银行家算法和随机分配算法,实现资源分配的两个资源分配程序,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。 (3) 确定一组各进程依次申请资源数的序列,在相同的情况下分别运行上述两种资源分配程序,观察运行结果。 算法描述 程序一开始初始化个进程,打印出菜单,然后让用户选择随机算法还是银行家算法,然后分别进行不通的算法操作。 随机算法: 设进程I提出请求

文档评论(0)

1亿VIP精品文档

相关文档