银行家算法(操作系统实验报告).doc

上传人:wj 文档编号:4731568 上传时间:2023-05-07 格式:DOC 页数:14 大小:296.50KB
下载 相关 举报
银行家算法(操作系统实验报告).doc_第1页
第1页 / 共14页
银行家算法(操作系统实验报告).doc_第2页
第2页 / 共14页
银行家算法(操作系统实验报告).doc_第3页
第3页 / 共14页
银行家算法(操作系统实验报告).doc_第4页
第4页 / 共14页
银行家算法(操作系统实验报告).doc_第5页
第5页 / 共14页
银行家算法(操作系统实验报告).doc_第6页
第6页 / 共14页
银行家算法(操作系统实验报告).doc_第7页
第7页 / 共14页
银行家算法(操作系统实验报告).doc_第8页
第8页 / 共14页
银行家算法(操作系统实验报告).doc_第9页
第9页 / 共14页
银行家算法(操作系统实验报告).doc_第10页
第10页 / 共14页
银行家算法(操作系统实验报告).doc_第11页
第11页 / 共14页
银行家算法(操作系统实验报告).doc_第12页
第12页 / 共14页
银行家算法(操作系统实验报告).doc_第13页
第13页 / 共14页
银行家算法(操作系统实验报告).doc_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

银行家算法(操作系统实验报告).doc

《银行家算法(操作系统实验报告).doc》由会员分享,可在线阅读,更多相关《银行家算法(操作系统实验报告).doc(14页珍藏版)》请在冰点文库上搜索。

银行家算法(操作系统实验报告).doc

实验报告

课程名称:

计算机操作系统实验名称:

银行家算法_

任课教师:

霍林专业:

计算机科学与技术

班级:

学号:

__

姓名:

蓝冠恒__完成日期:

2009年10月15日

一、实验目的:

加深对操作系统的进程管理与资源分配了解,深刻理解系统安全性检验算法。

二、主要实验内容及要求:

实验内容:

利用银行家算法检验系统的安全性。

实验要求:

1.输入系统进程数量n和资源类型数量m。

2.输入每类资源的数量。

3.输入每个进程每类资源的最大需求量和已获资源量。

4.检验系统的安全系。

三、实验结果与结论:

(经调试正确的源程序和程序的运行结果)

编程员:

蓝冠恒

程序源代码:

packagedisFace;

importorg.eclipse.swt.SWT;

importorg.eclipse.swt.custom.StackLayout;

importorg.eclipse.swt.events.SelectionAdapter;

importorg.eclipse.swt.events.SelectionEvent;

importorg.eclipse.swt.widgets.Button;

importorg.eclipse.swt.widgets.Composite;

importorg.eclipse.swt.widgets.Display;

importorg.eclipse.swt.widgets.Label;

importorg.eclipse.swt.widgets.Shell;

importorg.eclipse.swt.widgets.Text;

importorg.eclipse.ui.forms.widgets.FormToolkit;

importcom.swtdesigner.SWTResourceManager;

publicclassDisFace{

protectedShellshell;

privatefinalFormToolkitformToolkit=newFormToolkit(Display.getDefault());

privateCompositecomposite;

privateLabellabel;

privateLabellabel_1;

privateTextprocessN;

privateTextkindM;

privateButtonbutton1;

privateTextlistText;//输出文本框

privateCompositecomposite4;

privateLabellabel_3;

privateTextkindNumbers;//资源数量输入框

privateButtonbutton2;

privateTexttheKind1;

privateLabellabel_5;

privateLabellabel_6;

privateTextMaxText;//最大资源需求输入框

privateTextAllocationText;//已获资源输入框

privateButtonbutton3;

privateLabellabel_7;

privateTexttheProcess;

privateTexttheKind2;

privateLabellabel_11;

privateButtontest;

privateintN;//进程数量

privateintM;//资源类型数量

int[][]Max;//进程最大资源需求数组

int[][]Allocation;//进程已获资源数组

int[][]Need;//进程所需资源数组

int[]Available;//起初可用资源数组

int[]Work;//可提供资源数组

boolean[]Finish;//进程完成标识

inti=0;

intj=0;

intk=0;

privateCompositecomposite1;

StackLayoutstackLayout=newStackLayout();

StackLayoutstackLayout2=newStackLayout();

privateCompositecomposite3;

privateCompositecomposite2;

privateCompositecomposite0;

publicstaticvoidmain(String[]args){

try{

DisFacewindow=newDisFace();

window.open();

}catch(Exceptione){

e.printStackTrace();

}

}

publicvoidopen(){

Displaydisplay=Display.getDefault();

createContents();

shell.open();

shell.layout();

while(!

shell.isDisposed()){

if(!

display.readAndDispatch()){

display.sleep();

}

}

}

protectedvoidcreateContents(){

shell=newShell();

shell.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND));

shell.setText("银行家算法实现");

shell.setSize(733,565);

/*--------------------------------面板-------------*/

composite=newComposite(shell,SWT.BORDER);

composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN));

composite.setBounds(10,10,697,492);

composite.setData("name","composite");

formToolkit.adapt(composite);

formToolkit.paintBordersFor(composite);

composite0=newComposite(composite,SWT.NONE);

composite0.setBounds(0,1,210,156);

composite0.setData("name","composite0");

formToolkit.adapt(composite0);

formToolkit.paintBordersFor(composite0);

composite1=newComposite(composite,SWT.NONE);

composite1.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN));

composite1.setBounds(210,1,224,156);

composite1.setData("name","composite1");

formToolkit.adapt(composite1);

formToolkit.paintBordersFor(composite1);

composite1.setLayout(stackLayout);

composite2=newComposite(composite1,SWT.BORDER);

composite2.setBackgroundMode(SWT.INHERIT_FORCE);

composite2.setForeground(SWTResourceManager.getColor(SWT.COLOR_BLUE));

composite2.setBackground(SWTResourceManager.getColor(0,255,0));

composite2.setData("name","composite2");

formToolkit.adapt(composite2);

formToolkit.paintBordersFor(composite2);

composite3=newComposite(composite,SWT.NONE);

composite3.setBounds(434,1,263,156);

composite3.setData("name","composite3");

formToolkit.adapt(composite3);

formToolkit.paintBordersFor(composite3);

composite3.setLayout(stackLayout2);

composite4=newComposite(composite3,SWT.BORDER);

composite4.setBackground(SWTResourceManager.getColor(SWT.COLOR_DARK_GREEN));

composite4.setData("name","composite4");

formToolkit.adapt(composite4);

formToolkit.paintBordersFor(composite4);

/*--------------------------------标签----------------------*/

label_3=newLabel(composite2,SWT.HORIZONTAL);

label_3.setBounds(59,26,78,26);

label_3.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_3.setData("name","label_3");

formToolkit.adapt(label_3,true,true);

label_3.setText("资源数量为");

label_5=newLabel(composite4,SWT.NONE);

label_5.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_5.setBounds(0,55,112,26);

label_5.setData("name","label_5");

formToolkit.adapt(label_5,true,true);

label_5.setText("最大资源需求量");

label_6=newLabel(composite4,SWT.NONE);

label_6.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_6.setBounds(0,87,112,26);

label_6.setData("name","label_6");

formToolkit.adapt(label_6,true,true);

label_6.setText("已获资源数量");

label_7=newLabel(composite4,SWT.NONE);

label_7.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_7.setBounds(0,23,46,26);

label_7.setData("name","label_7");

formToolkit.adapt(label_7,true,true);

label_7.setText("进程");

label_11=newLabel(composite4,SWT.NONE);

label_11.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_11.setBounds(80,23,50,26);

label_11.setData("name","label_11");

formToolkit.adapt(label_11,true,true);

label_11.setText("对资源");

label_1=newLabel(composite0,SWT.NONE);

label_1.setBounds(10,65,80,23);

label_1.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label_1.setData("name","label_1");

formToolkit.adapt(label_1,true,true);

label_1.setText("资源类量m");

label=newLabel(composite0,SWT.NONE);

label.setBounds(10,24,80,23);

label.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

label.setData("name","label");

formToolkit.adapt(label,true,true);

label.setText("进程数量n");

/*--------------------------------文本---------------------------------------*/

theKind1=newText(composite2,SWT.READ_ONLY|SWT.CENTER|SWT.MULTI);

theKind1.setForeground(SWTResourceManager.getColor(SWT.COLOR_BLUE));

theKind1.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));

theKind1.setBounds(22,26,31,26);

theKind1.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

theKind1.setData("name","theKind1");

formToolkit.adapt(theKind1,true,true);

theKind1.setText("R"+String.valueOf(0));

listText=newText(composite,SWT.BORDER|SWT.H_SCROLL|SWT.V_SCROLL|SWT.CANCEL);

listText.setCapture(true);

listText.setForeground(SWTResourceManager.getColor(0,0,0));

listText.setBackground(SWTResourceManager.getColor(51,255,255));

listText.setBounds(0,163,696,325);

listText.setData("name","text_2");

formToolkit.adapt(listText,true,true);

kindNumbers=newText(composite2,SWT.BORDER|SWT.CENTER);

kindNumbers.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

kindNumbers.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN));

kindNumbers.setBounds(143,29,38,23);

kindNumbers.setData("name","kindNumbers");

formToolkit.adapt(kindNumbers,true,true);

MaxText=newText(composite4,SWT.BORDER|SWT.CENTER);

MaxText.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

MaxText.setBounds(118,56,61,23);

MaxText.setData("name","MaxText");

formToolkit.adapt(MaxText,true,true);

AllocationText=newText(composite4,SWT.BORDER|SWT.CENTER);

AllocationText.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

AllocationText.setForeground(SWTResourceManager.getColor(SWT.COLOR_GREEN));

AllocationText.setBounds(118,87,61,23);

AllocationText.setData("name","AllocationText");

formToolkit.adapt(AllocationText,true,true);

theProcess=newText(composite4,SWT.READ_ONLY|SWT.CENTER);

theProcess.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

theProcess.setBounds(52,23,22,26);

theProcess.setData("name","theProcess");

formToolkit.adapt(theProcess,true,true);

theProcess.setText("P"+String.valueOf(0));

theKind2=newText(composite4,SWT.READ_ONLY|SWT.CENTER);

theKind2.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

theKind2.setBounds(136,23,43,26);

theKind2.setData("name","theKind2");

formToolkit.adapt(theKind2,true,true);

theKind2.setText("R"+String.valueOf(0));

processN=newText(composite0,SWT.BORDER);

processN.setBackground(SWTResourceManager.getColor(0,255,0));

processN.setBounds(107,21,73,23);

processN.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

processN.setData("name","text");

formToolkit.adapt(processN,true,true);

kindM=newText(composite0,SWT.BORDER);

kindM.setBounds(107,65,73,23);

kindM.setFont(SWTResourceManager.getFont("微软雅黑",12,SWT.NORMAL));

kindM.setData("name","text_1");

formToolkit.adapt(kindM,true,true);

/*---------------------------按钮-------------------------*/

button1=newButton(composite0,SWT.NONE);

button1.setForeground(SWTResourceManager.getColor(0,255,0));

button1.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN));

button1.setBounds(107,115,72,31);

button1.addSelectionListener(newSelectionAdapter(){

p

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2