银行家算法的问题(共7页).doc
精选优质文档-倾情为你奉上 深 圳 大 学 实 验 报 告 课程名称: 操 作 系 统 实验项目名称: VI编辑器编写银行家算法 学院: 师 范 学 院 专业: 教 育 技 术 指导教师: 涂 相 华 报告人: 黄韵豪 学号: 班级: 11级教育技术 实验时间: 2013-12-23 实验报告提交时间: 2013-12-26 教 务 处 制一、实验目的1. 掌握如何使用Vi编辑器编写程序2. 实验操作系统中银行家算法问题二、实验设备1 VMware 虚拟机2 Linux Ubuntu 平台三、预习要求1. Linux的命令2. VI编辑器的基本知识3. Gcc编译器的初步了解4. 银行家算法的理论四、实验内容及步骤1. Vi编辑器初步的知识Vi是Visual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作用户可以根据自己的需要对Vi进行定制,这是其他编辑程序所没有的。Vi不是一个排版程序,它不像WORD或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。Vi是全屏幕文本编辑器,它没有菜单,只有命令。2. Vi编辑器进入的方式在系统提示符后输入Vi和想要编辑(或建立)的文件名,便可进入Vi 如果只输入Vi,而不带文件名,也可以进入Vi 3. 银行家算法的代码#include<stdio.h>#include <stdlib.h> #define m 3#define n 5main()int test(int av, int ned, int all);int availablem = 0, 0, 0 , neednm;int allocatitionnm = 0, 1, 0 , 2, 0, 0, , 3, 0, 3 , 2, 1, 1 , 0, 0, 2 ;int i, j, g = 1;int finishn = 0, 0, 0, 0 ;system("cls"); /clrscr();printf("Please input the need resource datan");for (i = 0; i < n; i+)for (j = 0; j < m; j+)scanf("%d", &needij);j = 0;dofor (i = 0; i < n; i+)if (finishi = 0 && test(needi, available, allocatitioni)finishi = l;j+; while (j < n);for (i = 0; i < n; i+)g = g&&finishi;if (g)printf("safe state");elseprintf("not safe state");int test(int nd, int av, int all)int z = 0; int i;for (i = 0; i < m;i+)if (ndi>avi) break;if (i = m) z = 1;if (z = 1)for (i = 0; i <= m; i+)avi = avi + alli;return(z);4 输入数据并测试结果:not safe六、实验过程说明1. 首先复习了VI编辑器的基础知识2. 然后开始介绍银行家算法基本的思想3. 输入数据并验证成绩评定:1、实验态度:A认真 B比较认真 C不够认真 D非常不认真2、实验预习:A充分 B比较充分 C不够充分 D非常不充分3、实验过程:A规范 B比较规范 C不够规范 D非常不规范4、实验结果完整性是否符合要求:A符合 B基本符合 C不够符合 D非常不符合5、实验结果技术参数准确性:A准确 B基本准确 C不够准确 D非常不准确6、实验结果艺术创意:A有创意 B较有创意 C不够有创意 D 无创意7、实验报告撰写:A规范 B比较规范 C不够规范 D非常不规范8、实验思考题作答:A正确 B基本正确 C不够正确 D非常不正确综合成绩评定: 指导教师签字: 备注:专心-专注-专业