欢迎来到天天文库
浏览记录
ID:57270571
大小:194.50 KB
页数:13页
时间:2020-08-08
《银行家死锁避免算法模拟实现(Java).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、**大学计算机学院实验报告册院系名称:计算机科学学院课程名称:操作系统实验学期2009年至2010年第二学期专业班级:计算机科学与技术2008级1班姓名:HORACE学号:20081*****指导教师:**老师实验最终成绩:实验报告须知1.学生填写实验报告应按规范填写,填写格式见由任课老师给出的实验报告样本;2.学生应填写的内容包括:封面相关栏目、第一页中‘本学期(年)开设实验课程情况一览表’中的实验名称、学时数;每次报告中的实验性质、同组人姓名、实验日期、以及实验报告中的一至五项;3.教师填写内容为:实验评价、每次报告成绩、第一页中‘本学期(年)开设实验课程情况一览表’中成
2、绩、及封面的实验最终成绩;4.学生实验结束后,教师应对学生实验结果进行核实,学生方可离开实验室。5、实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格。6.本实验册应妥善保管,本课程实验结束后应交回实验室。实验报告(7)实验名称死锁避免算法实现同组人姓名实验性质□基本操作●设计性□综合性□验证性实验日期2010-05-10实验成绩教师评价:实验预习□实验操作□实验结果□实验报告□其它□教师签名:一、实验目的及要求(1)了解操作系统如何处理死锁(2)通过编写程序掌握如何利用银行家算法来实现死锁的避免。二、实验内容
3、(1)用熟悉的计算机编程语言编写一实现计算机资源动态分配的程序。(2)要求接收用户输入数据,利用银行家算法来判断该次请求能否分配。(3)掌握操作系统是如何在资源的动态分配过程中防止系统死锁的发生。三、主要设备及软件PC、WindowsXP操作系统、MyEclipseJava编译环境四、实验流程、操作步骤或核心代码、算法片段本人以Java语言模拟实现银行家避免死锁算法,其中分别把银行家算法和安全性检测算法封装在不同的类中,即classBanker和classSafeTest,最终在主类中创建Banker类对象进行测试。具体实现代码如下:1、银行家类Banker的实现:packa
4、gecom.kaiping.AvoidDeadlock;importjava.util.Scanner;publicclassBanker{intProcessNum;//进程数intSourceNum;//资源类型数int[]Available;//可利用资源向量int[][]Max;//最大需求矩阵int[][]Allocation;//分配矩阵int[][]Need;//需求矩阵publicBanker(intpN,intsN){ProcessNum=pN;SourceNum=sN;Available=newint[SourceNum];Max=newint[Proce
5、ssNum][SourceNum];Allocation=newint[ProcessNum][SourceNum];Need=newint[ProcessNum][SourceNum];}publicvoidInitilize(){//初始化方法Scanners=newScanner(System.in);System.out.println("==========初始化==========");for(inti=0;i6、ength;j++){Max[i][j]=s.nextInt();}}for(inti=0;i7、的剩余量:");Available[i]=s.nextInt();}System.out.println("==========初始化结果==========");System.out.println("MAXALLOCATIONNEEDAVAILABLE");for(inti=0;i9){//如果是两位数,控制格式,在数字前少输出一
6、ength;j++){Max[i][j]=s.nextInt();}}for(inti=0;i7、的剩余量:");Available[i]=s.nextInt();}System.out.println("==========初始化结果==========");System.out.println("MAXALLOCATIONNEEDAVAILABLE");for(inti=0;i9){//如果是两位数,控制格式,在数字前少输出一
7、的剩余量:");Available[i]=s.nextInt();}System.out.println("==========初始化结果==========");System.out.println("MAXALLOCATIONNEEDAVAILABLE");for(inti=0;i9){//如果是两位数,控制格式,在数字前少输出一
此文档下载收益归作者所有