1、 操作系统课程设计报告 院(系) :院(系) : 计算机工程学院 专业:专业: 计算机科学与技术专业 学 生 姓名学 生 姓名: : 班级:班级:计算 073 学号学号: 题目题目: 仿真模拟银行家算法对死锁的避免 起迄日期起迄日期: 2010-7-6 至 2010-7-16 设计地点设计地点: 2 号实验楼 402 指指 导导 教教 师师: 20092010 年度 第 2 学期 完成日期: 2010 年 7 月 16 日 一、一、 课程设计课程设计目的目的 操作系统是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。 在计算机软硬件课程的设置上, 它起着承上启下的作用。 操作系统
2、对计算机系统资源实施管 理, 是所有其他软件与计算机硬件的唯一接口, 所有用户在使用计算机时都要得到操作系统 提供的服务。 操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法, 掌握操作系统 的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常 用操作系统(如 DOS、Windows 或 Linux)的一般管理方法,了解它是如何组织和运作的, 对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握, 从而充分理解系统调用与程序设计之间的关系。 二、二、 课程设计内容课程设计内容 仿真模拟银行家算法对死锁的避免。对于进程死锁的避免问
3、题,分为两种状态:安全状 态和非安全状态。在避免死锁的方法中,允许进程动态地申请资源分配之前,应先计算此次 资源分配的安全性。 若此次分配不会导致系统进入不安全状态, 则将资源分配给进程; 否则, 令进程等待。 所谓安全状态是指系统能按某种进程顺序,来为每个进程 pi 分配所需的资源,直至满 足每个进程对资源的最大需求, 使每个进程都可顺利地完成。 如果系统无法找到这样一个序 列,则系统处于不安全状态。只要系统处于安全状态,系统便可避免进入死锁状态。因此避 免死锁的实质在于:系统在进行资源分配时,如何使系统不进入不安全状态。银行家算法就 是一种最有代表性的避免死锁的算法。 三、三、 系统系统分
4、析与设计分析与设计 1、系统分析系统分析 系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起,对组 织内部整体管理状况和信息处理过程进行分析。 目的是将用户的需求及其解决方法确 定下来,这些需要确定的结果包括:开发者关于现有组织管理状况的了解;用户对信息 系统功能的需求;数据和业务流程;管理功能和管理数据指标体系;新系统拟改动和新 增的管理模型等等。系统分析所确定的内容是今后系统设计、系统实现的基础。 根据银行家算法,设计这个银行家算法的模拟系统。算法中涉及到进程的个数, 资源的种类。进程当前占有的资源保存在数组 allocation 中,需要的资源数目 need 数组中。用户添加进程数目,并且设置每个进程对于每一类资源的占有情况和需要情 况,还可以设置每一类资源的库存容量。根据算法,找出安全序列,如果不存在安全 序列的话,会显示安全序列不存在。 2、系统设计系统设计 程序是利用 java