版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗 報 告 課程名稱: 計算機(jī)操作系統(tǒng) 實(shí)驗名稱: 銀行家算法 _ 任課教師: 霍 林 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 班 級: 學(xué) 號: _姓 名:藍(lán)冠恒_ _ 完成日期: 2009年10月15日 一、實(shí)驗?zāi)康模杭由顚Σ僮飨到y(tǒng)的進(jìn)程管理與資源分配了解,深刻理解系統(tǒng)安全性檢驗算法。二、主要實(shí)驗內(nèi)容及要求: 實(shí)驗內(nèi)容 :利用銀行家算法檢驗系統(tǒng)的安全性。實(shí)驗要求 :1.輸入系統(tǒng)進(jìn)程數(shù)量n和資源類型數(shù)量m。 2.輸入每類資源的數(shù)量。 3.輸入每個進(jìn)程每類資源的最大需求量和已獲資源量。 4.檢驗系統(tǒng)的安全系。三、實(shí)驗結(jié)果與結(jié)論:(經(jīng)調(diào)試正確的源程序和程序的運(yùn)行結(jié)果)編程員:藍(lán)
2、冠恒程序源代碼:package disFace;import org.eclipse.swt.SWT;import org.eclipse.swt.custom.StackLayout;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Displ
3、ay;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import org.eclipse.ui.forms.widgets.FormToolkit;import com.swtdesigner.SWTResourceManager;public class DisFace protected Shell shell;private final FormToolkit formToolkit = new FormToolki
4、t(Display.getDefault();private Composite composite;private Label label;private Label label_1;private Text processN;private Text kindM;private Button button1;private Text listText;/輸出文本框private Composite composite4;private Label label_3;private Text kindNumbers; /資源數(shù)量輸入框private Button button2;private
5、 Text theKind1;private Label label_5;private Label label_6;private Text MaxText; /最大資源需求輸入框private Text AllocationText;/已獲資源輸入框private Button button3;private Label label_7;private Text theProcess;private Text theKind2;private Label label_11;private Button test;private int N;/進(jìn)程數(shù)量private int M;/資源類型數(shù)
6、量int Max;/進(jìn)程最大資源需求數(shù)組int Allocation;/進(jìn)程已獲資源數(shù)組int Need;/進(jìn)程所需資源數(shù)組int Available;/起初可用資源數(shù)組int Work; /可提供資源數(shù)組boolean Finish;/進(jìn)程完成標(biāo)識int i=0;int j=0;int k=0;private Composite composite1;StackLayout stackLayout=new StackLayout();StackLayout stackLayout2=new StackLayout();private Composite composite3;private
7、Composite composite2;private Composite composite0;public static void main(String args) try DisFace window = new DisFace();window.open(); catch (Exception e) e.printStackTrace();public void open() Display display = Display.getDefault();createContents();shell.open();shell.layout();while (!shell.isDisp
8、osed() if (!display.readAndDispatch() display.sleep();protected void createContents() shell = new Shell();shell.setBackground(SWTResourceManager.getColor(SWT.COLOR_WIDGET_BACKGROUND);shell.setText("銀行家算法實(shí)現(xiàn)");shell.setSize(733, 565);/*-面板-*/composite = new Composite(shell, SWT.BORDER);compo
9、site.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN);composite.setBounds(10, 10, 697, 492);composite.setData("name", "composite");formToolkit.adapt(composite);formToolkit.paintBordersFor(composite);composite0 = new Composite(composite, SWT.NONE);composite0.setBounds(0,
10、 1, 210, 156);composite0.setData("name", "composite0");formToolkit.adapt(composite0);formToolkit.paintBordersFor(composite0);composite1 = new Composite(composite, SWT.NONE);composite1.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN);composite1.setBounds(210, 1, 224, 156
11、);composite1.setData("name", "composite1");formToolkit.adapt(composite1);formToolkit.paintBordersFor(composite1);composite1.setLayout(stackLayout);composite2 = new Composite(composite1, SWT.BORDER);composite2.setBackgroundMode(SWT.INHERIT_FORCE);composite2.setForeground(SWTResour
12、ceManager.getColor(SWT.COLOR_BLUE);composite2.setBackground(SWTResourceManager.getColor(0, 255, 0);composite2.setData("name", "composite2");formToolkit.adapt(composite2);formToolkit.paintBordersFor(composite2);composite3 = new Composite(composite, SWT.NONE);composite3.setBounds(4
13、34, 1, 263, 156);composite3.setData("name", "composite3");formToolkit.adapt(composite3);formToolkit.paintBordersFor(composite3);composite3.setLayout(stackLayout2);composite4 = new Composite(composite3, SWT.BORDER);composite4.setBackground(SWTResourceManager.getColor(SWT.COLOR_DAR
14、K_GREEN);composite4.setData("name", "composite4");formToolkit.adapt(composite4);formToolkit.paintBordersFor(composite4);/*-標(biāo)簽-*/label_3 = new Label(composite2, SWT.HORIZONTAL);label_3.setBounds(59, 26, 78, 26);label_3.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.N
15、ORMAL);label_3.setData("name", "label_3");formToolkit.adapt(label_3, true, true);label_3.setText("資源數(shù)量為");label_5 = new Label(composite4, SWT.NONE);label_5.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);label_5.setBounds(0, 55, 112, 26);label_5.set
16、Data("name", "label_5");formToolkit.adapt(label_5, true, true);label_5.setText("最大資源需求量");label_6 = new Label(composite4, SWT.NONE);label_6.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);label_6.setBounds(0, 87, 112, 26);label_6.setData("name&
17、quot;, "label_6");formToolkit.adapt(label_6, true, true);label_6.setText("已獲資源數(shù)量");label_7 = new Label(composite4, SWT.NONE);label_7.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);label_7.setBounds(0, 23, 46, 26);label_7.setData("name", "label
18、_7");formToolkit.adapt(label_7, true, true);label_7.setText("進(jìn) 程");label_11 = new Label(composite4, SWT.NONE);label_11.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);label_11.setBounds(80, 23, 50, 26);label_11.setData("name", "label_11");formT
19、oolkit.adapt(label_11, true, true);label_11.setText("對資源");label_1 = new Label(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
20、_1, true, true);label_1.setText("資源類量m");label = new Label(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(
21、"進(jìn)程數(shù)量n");/*-文本-*/theKind1 = new Text(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.setF
22、ont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);theKind1.setData("name", "theKind1");formToolkit.adapt(theKind1, true, true);theKind1.setText("R"+String.valueOf(0);listText = new Text(composite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CANCEL);lis
23、tText.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 = new Te
24、xt(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");formTo
25、olkit.adapt(kindNumbers, true, true);MaxText = new Text(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);A
26、llocationText = new Text(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"
27、;, "AllocationText");formToolkit.adapt(AllocationText, true, true);theProcess = new Text(composite4, SWT.READ_ONLY | SWT.CENTER);theProcess.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);theProcess.setBounds(52, 23, 22, 26);theProcess.setData("name", "t
28、heProcess");formToolkit.adapt(theProcess, true, true);theProcess.setText("P"+String.valueOf(0);theKind2 = new Text(composite4, SWT.READ_ONLY | SWT.CENTER);theKind2.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);theKind2.setBounds(136, 23, 43, 26);theKind2.setData
29、("name", "theKind2");formToolkit.adapt(theKind2, true, true);theKind2.setText("R"+String.valueOf(0);processN = new Text(composite0, SWT.BORDER);processN.setBackground(SWTResourceManager.getColor(0, 255, 0);processN.setBounds(107, 21, 73, 23);processN.setFont(SWTResource
30、Manager.getFont("微軟雅黑", 12, SWT.NORMAL);processN.setData("name", "text");formToolkit.adapt(processN, true, true);kindM = new Text(composite0, SWT.BORDER);kindM.setBounds(107, 65, 73, 23);kindM.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);kindM.se
31、tData("name", "text_1");formToolkit.adapt(kindM, true, true);/*-按鈕-*/button1 = new Button(composite0, SWT.NONE);button1.setForeground(SWTResourceManager.getColor(0, 255, 0);button1.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN);button1.setBounds(107, 115, 72, 31);butt
32、on1.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) button1Event(););button1.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);button1.setData("name", "button");formToolkit.adapt(button1, true, true);button1.setText(&quo
33、t;確定");button2 = new Button(composite2, SWT.NONE);button2.setBackground(SWTResourceManager.getColor(50, 205, 50);button2.setForeground(SWTResourceManager.getColor(SWT.COLOR_GREEN);button2.setBounds(107, 114, 74, 32);button2.addSelectionListener(new SelectionAdapter() public void widgetSelected(
34、SelectionEvent e) button2Event(););button2.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);button2.setData("name", "button_1");formToolkit.adapt(button2, true, true);button2.setText("確定");button3 = new Button(composite4, SWT.NONE);button3.addSelecti
35、onListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) button3Event(););button3.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SWT.NORMAL);button3.setBounds(114, 116, 65, 32);button3.setData("name", "button_2");formToolkit.adapt(button3, true, tr
36、ue);button3.setText("確定");test = new Button(shell, SWT.NONE);test.setBounds(627, 502, 80, 27);test.setSelection(true);test.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) TestEvent(););test.setFont(SWTResourceManager.getFont("微軟雅黑", 12, SW
37、T.NORMAL);test.setData("name", "button_3");formToolkit.adapt(test, true, true);test.setText("立刻檢驗");/定義創(chuàng)建相關(guān)數(shù)組函數(shù)public void Create(int n,int m) Max=new intnm; /創(chuàng)建最大資源需求量數(shù)組 Allocation=new intnm;/創(chuàng)建已獲資源量數(shù)組 Need=new intnm; /創(chuàng)建需要資源量數(shù)組 Available=new intm; /創(chuàng)建可用資源量數(shù)組 Work=new
38、intm; /創(chuàng)建可供資源量數(shù)組 Finish=new booleann; /創(chuàng)建進(jìn)程可否完成標(biāo)識數(shù)組 listText.insert("進(jìn)程"); for(int h=0;h<4;h+)listText.insert("資源類型");printReKind();listText.insert("n");/定義打印資源類型的函數(shù)public void printReKind()for(int h=0;h<M;h+)if(h<10)listText.insert(String.valueOf("R"
39、+h+" ");else listText.insert(String.valueOf("R"+h+" ");/定義button1的事件函數(shù)public void button1Event()N=Integer.parseInt(processN.getText();M=Integer.parseInt(kindM.getText();Create(N,M); /調(diào)用Create(n,m)方法stackLayout.topControl=composite2;composite1.layout();composite0.setEnab
40、led(false);/定義button2的事件函數(shù),設(shè)定進(jìn)程每類資源的數(shù)量public void button2Event()if(i<M)Availablei=Integer.parseInt(kindNumbers.getText();kindNumbers.setText("");i+;if(i!=M)theKind1.setText("R"+String.valueOf(i);if(i=M)stackLayout2.topControl=composite4;composite3.layout();composite2.setEnable
41、d(false);/定義button3的事件函數(shù)public void button3Event()if(j<N)if(k<M)Maxjk=Integer.parseInt(MaxText.getText();Allocationjk=Integer.parseInt(AllocationText.getText();MaxText.setText("");AllocationText.setText("");Needjk=Maxjk-Allocationjk;Availablek=Availablek-Allocationjk;k+;if(
42、k=M)k=0; j+;Work=Available; if(j<N) theProcess.setText("P"+String.valueOf(j); theKind2.setText("R"+String.valueOf(k); /如果輸入完成,則輸出剛輸入的信息if(j=N&&k=0)composite4.setEnabled(false);for(j=0;j<N;j+)listText.insert(" P"+String.valueOf(j)+":");listText.in
43、sert("最大需求");for(int h=0;h<M;h+)if(Maxjh<10)listText.insert(String.valueOf(Maxjh)+" ");else listText.insert(String.valueOf(Maxjh+" ");listText.insert("已獲資源");for(int h=0;h<M;h+) if(Allocationjh<10)listText.insert(String.valueOf(Allocationjh+"
44、");else listText.insert(String.valueOf(Allocationjh+" "); listText.insert("需要資源");for(int h=0;h<M;h+)if(Needjh<10)listText.insert(String.valueOf(Needjh+" ");else listText.insert(String.valueOf(Needjh+" ");listText.insert("可用資源");for(int h=
45、0;h<M;h+) if(Availableh<10)listText.insert(String.valueOf(Availableh+" ");else listText.insert(String.valueOf(Availableh+" ");listText.insert("n");/檢測按鈕監(jiān)聽函數(shù)調(diào)用的方法public void TestEvent()int x,y,z,count=0,countTrue=0;listText.insert("n");listText.insert("資源類型");printReKind();listText.insert("n可供資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年飾品商鋪?zhàn)赓U與品牌合作與市場拓展合同3篇
- 2025版互聯(lián)網(wǎng)數(shù)據(jù)中心相關(guān)方環(huán)境管理協(xié)議3篇
- 二零二五版鋼筋焊接工藝用工合同模板范文2篇
- 二零二五版模具維修改型與產(chǎn)業(yè)融合合同4篇
- 2025年道路工程質(zhì)量檢測與驗收合同3篇
- 2025年度個人股份代持及轉(zhuǎn)讓法律文件3篇
- 2025年度采礦權(quán)出讓合同范本:礦產(chǎn)資源勘查開發(fā)技術(shù)規(guī)范3篇
- 2025年度冰箱智能互聯(lián)技術(shù)合作協(xié)議3篇
- 二零二五年度新能源用地抵押借款合同3篇
- 二零二五版定制家具銷售與售后服務(wù)協(xié)議7篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
- 部編版一年級語文下冊第一單元大單元教學(xué)設(shè)計
- 《保單檢視專題》課件
- 北京地鐵13號線
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 職業(yè)衛(wèi)生法律法規(guī)和標(biāo)準(zhǔn)培訓(xùn)課件
- 高二下學(xué)期英語閱讀提升練習(xí)(二)
- 民事訴訟證據(jù)清單模板
評論
0/150
提交評論