91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

設(shè)計(jì)一個(gè)按時(shí)間片輪轉(zhuǎn)法實(shí)現(xiàn)進(jìn)程調(diào)度的程序。 [提示]: (1) 假定系統(tǒng)有五個(gè)進(jìn)程,每一個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB來代表。進(jìn)程控制塊的格式為: 進(jìn)程名 指針 要求運(yùn)行時(shí)間 已運(yùn)行時(shí)間 狀態(tài) 其中, 進(jìn)程名——作為進(jìn)程的標(biāo)識(shí),假設(shè)五個(gè)進(jìn)程的進(jìn)程名分別為P1,P2,P3,P4,P5。 指針——進(jìn)程按順序排成循環(huán)隊(duì)列,用指針指出下一個(gè)進(jìn)程的進(jìn)程控制塊的首地址,最后一個(gè)進(jìn)程的指針指出第一個(gè)進(jìn)程的進(jìn)程控制塊首地址。 要求運(yùn)行時(shí)間——假設(shè)進(jìn)程需要運(yùn)行的單位時(shí)間數(shù)。 已運(yùn)行時(shí)間——假設(shè)進(jìn)程已經(jīng)運(yùn)行的單位時(shí)間數(shù),初始值為“0”。 狀態(tài)——有兩種狀態(tài),“就緒”和“結(jié)束”,初始狀態(tài)都為“就緒”,用“R”表示。當(dāng)一個(gè)進(jìn)程運(yùn)行結(jié)束后,它的狀態(tài)為“結(jié)束”,用“E”表示。 (2) 每次運(yùn)行所設(shè)計(jì)的進(jìn)程調(diào)度程序前,為每個(gè)進(jìn)程任意確定它的“要求運(yùn)行時(shí)間”。 (3) 把五個(gè)進(jìn)程按順序排成循環(huán)隊(duì)列,用指針指出隊(duì)列連接情況。另用一標(biāo)志單元記錄輪到運(yùn)行的進(jìn)程。例如,當(dāng)前輪到P2執(zhí)行,則有: 標(biāo)志單元中內(nèi)容為K2 , K1 P1 K2 P2 K3 P3 K4 P4 K5 P5 K2 K3 K4 K5 K1 2 3 1 2 4 1 0 0 0 0 R R R R R PCB1 PCB2 PCB3 PCB4 PCB5 (4) 進(jìn)程調(diào)度總是選擇標(biāo)志單元指示的進(jìn)程運(yùn)行。由于本實(shí)習(xí)是模擬進(jìn)程調(diào)度的功能,所以,對(duì)被選中的進(jìn)程并不實(shí)際的啟動(dòng)運(yùn)行,而是執(zhí)行: 已運(yùn)行時(shí)間+1 來模擬進(jìn)程的一次運(yùn)行,表示進(jìn)程已經(jīng)運(yùn)行過一個(gè)單位的時(shí)間。 請(qǐng)同學(xué)注意:在實(shí)際的系統(tǒng)中,當(dāng)一個(gè)進(jìn)程被選中運(yùn)行時(shí),必須置上該進(jìn)程可以運(yùn)行的時(shí)間片值,以及恢復(fù)進(jìn)程的現(xiàn)場(chǎng),讓它占有處理器運(yùn)行,直到出現(xiàn)等待事件或運(yùn)行滿一個(gè)時(shí)間片。在這時(shí)省去了這些工作,僅用“已運(yùn)行時(shí)間+1”來表示進(jìn)程已經(jīng)運(yùn)行滿一個(gè)時(shí)間片。 (5) 進(jìn)程運(yùn)行一次后,應(yīng)把該進(jìn)程的進(jìn)程控制塊中的指針值送到標(biāo)志單元,以指示下一個(gè)輪到運(yùn)行的進(jìn)程。同時(shí),應(yīng)判斷該進(jìn)程的要求運(yùn)行時(shí)間與已運(yùn)行時(shí)間,若該進(jìn)程的要求運(yùn)行時(shí)間1已運(yùn)行時(shí)間,則表示它尚未執(zhí)行結(jié)束,應(yīng)待到下一輪時(shí)再運(yùn)行。若該進(jìn)程的要求運(yùn)行時(shí)間=已運(yùn)行時(shí)間,則表示它已經(jīng)執(zhí)行結(jié)束,應(yīng)指導(dǎo)它的狀態(tài)修改成“結(jié)束”(E)且退出隊(duì)列。此時(shí),應(yīng)把該進(jìn)程的進(jìn)程控制塊中的指針值送到前面一個(gè)進(jìn)程的指針位置中。 (6) 若“就緒”狀態(tài)的進(jìn)程隊(duì)列不為空,則重復(fù)上面的(4)和(5)的步驟,直到所有的進(jìn)程都成為“結(jié)束”狀態(tài)。 (7) 在所設(shè)計(jì)的程序中應(yīng)有顯示或打印語(yǔ)句,能顯示或打印每次選中進(jìn)程的進(jìn)程名以及運(yùn)行一次后進(jìn)程隊(duì)列的變化。 (8) 為五個(gè)進(jìn)程任意確定一組“要求運(yùn)行時(shí)間”,運(yùn)行進(jìn)程調(diào)度程序,顯示或打印逐次被選中的進(jìn)程名以及進(jìn)程控制塊的動(dòng)態(tài)變化過程。 模擬多資源銀行家算法 實(shí)習(xí)檢查: (1)程序運(yùn)行后,由檢查教師輸入系統(tǒng)初態(tài)(包括進(jìn)程名和各進(jìn)程已獲得資源、尚需資源及當(dāng)前系統(tǒng)可用資源情況。注意:進(jìn)程數(shù)目和資源種類由檢查教師動(dòng)態(tài)確定); (2)由檢查教師輸入此時(shí)某一進(jìn)程申請(qǐng)各資源情況,使用銀行家算法,檢測(cè)該請(qǐng)求是否安全。若安全,則顯示分配后的資源分配矩陣、進(jìn)程資源需求矩陣,當(dāng)前可用資源情況,以及安全序列。若不安全,給出警告信息! 作業(yè)調(diào)度采用FCFS、SJF、響應(yīng)比高者優(yōu)先算法模擬設(shè)計(jì)作業(yè)調(diào)度程序。 [提示]: (1)每個(gè)作業(yè)的JCB中包括作業(yè)名、提交時(shí)刻、要求運(yùn)行時(shí)間; (2)假設(shè)第一個(gè)作業(yè)提交時(shí),系統(tǒng)中無正在執(zhí)行的作業(yè),即第一個(gè)作業(yè)一提交系統(tǒng)便調(diào)度該作業(yè)。 要求: 輸入:一批作業(yè)中各作業(yè)的作業(yè)名、提交時(shí)刻、要求運(yùn)行時(shí)間; 選擇不同的作業(yè)調(diào)度程序運(yùn)行; 輸出:相應(yīng)作業(yè)調(diào)度算法下,各作業(yè)的等待時(shí)間、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間,這批作業(yè)的調(diào)度順序、平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。

資源截圖

代碼片段和文件信息

/**
?*?@(#)Work.java
?*
?*
?*?@author?
?*?@version?1.00?2008/10/26
?*/
import?java.awt.*;
import?java.awt.event.*;

import?javax.swing.*;

public?class?Work?extends?Jframe
{
????private?Container?container;
????private?GridBagLayout?layout;
????private?GridBagConstraints?constraints;
????private?JButton?controlButton[];
????public??WorkList??workArray[];
????private?JTextArea?outputTextArea[];
????private??int??count?;
????private?JTextField?inputTextField[];
????private??int?flag[];
????public?Work()?
????{
???? super(“作業(yè)調(diào)度“);
???? container?=?getContentPane();
???? layout?=?new?GridBagLayout();
???? constraints?=?new?GridBagConstraints();
???? container.setLayout(layout);
???? controlButton?=?new?JButton[4];
????
????????workArray?=?new?WorkList[100];
???? count?=?0;
????
????
???? JLabel?markLabel[]?=?new?JLabel[5];
???? inputTextField?=?new?JTextField[3];
????????String?labelName[]?=?{“????““作業(yè)名““““提交時(shí)刻““““要求運(yùn)行時(shí)間““““添加““????“};
????????
????????ButtonHander?hander?=?new?ButtonHander();
????????int?j?=?0k?=?0;
????????for(int?i?=?0;i????????{
???????? if(i?==?0||i?==?1||i?==?3||i?==?5||i?==?8)
???????? {
???????? markLabel[j]?=?new?JLabel(labelName[i]);
???????? markLabel[j].setFont(new?Font(“Monospaced“Font.BOLD15));
???????? addComponent(markLabel[j]0i11);
???????? j++;
???????? }
???????? else?if(i?==?7)
???????? {
???????? controlButton[0]?=?new?JButton(labelName[i]);
???????? controlButton[0].setFont(new?Font(“Monospaced“Font.BOLD15));
???????? controlButton[0].addActionListener(hander);
???????? addComponent(controlButton[0]0i11);
???????? }
???????? else
???????? {
???????? inputTextField[k]?=?new?JTextField(““10);
???????? inputTextField[k].setFont(new?Font(“Monospaced“Font.BOLD15));
???????? addComponent(inputTextField[k]0i11);
???????? k++;
???????? }
????????}
????????
????????String?buttonName[]?={“?““先來先服務(wù)““最短作業(yè)優(yōu)先““響應(yīng)比高者優(yōu)先“};
???????int?t?=?1;
????????for(int?i?=?1;i?<=?3;?i++)
????????{
???????? controlButton[i]?=?new?JButton(buttonName[i]);
???????? controlButton[i].setFont(new?Font(“Monospaced“Font.BOLD15));
???????? controlButton[i].addActionListener(hander);
???????? addComponent(controlButton[i]2i+t11);
???????? t++;
????????}
????????outputTextArea?=?new?JTextArea[4];
????????outputTextArea[0]?=?new?JTextArea(“作業(yè)列表\n“555);
????????outputTextArea[0].setFont(new?Font(“Monospaced“Font.BOLD19));
????????addComponent(outputTextArea[0]40107);
????????outputTextArea[0].append(“作業(yè)名“?+?“?“?+?“提交時(shí)刻“?+?“?“?+?“要求運(yùn)行時(shí)間“);
?????????
????????outputTextArea[1]?=?new?JTextArea(“先來先服務(wù)調(diào)度算法“555);
????????outputTextArea[1].setFont(new?Font(“Monospaced“Font.BOLD19));
????????addComponent(outputTextArea[1]120108);
????????
????????outputTextArea[2]?=?new?JTextArea(“最短作業(yè)優(yōu)先調(diào)度算法“555);
????????outputTextArea[2].setFont(new?Font(“Monospaced“Font.BOLD19));
????????addComponent(outputTex

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????2042??2008-10-25?21:48??銀行家算法\Pcb.class

?????文件???????2739??2008-10-25?21:47??銀行家算法\Pcb.java

?????文件???????2252??2008-10-27?16:59??銀行家算法\Test$butttonHander.class

?????文件???????3748??2008-10-27?16:59??銀行家算法\Test.class

?????文件???????4862??2008-10-27?17:13??銀行家算法\Test.java

?????文件????????153??2008-11-03?17:00??作業(yè)調(diào)度\Work$1.class

?????文件???????4792??2008-11-03?17:00??作業(yè)調(diào)度\Work$ButtonHander.class

?????文件???????3914??2008-11-03?17:00??作業(yè)調(diào)度\Work.class

?????文件??????11088??2008-10-27?12:59??作業(yè)調(diào)度\Work.java

?????文件???????1413??2008-11-03?17:00??作業(yè)調(diào)度\WorkList.class

?????文件???????1946??2008-10-27?11:22??作業(yè)調(diào)度\WorkList.java

?????文件???????1462??2008-10-13?20:02??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\Pcblist.class

?????文件???????2191??2008-10-13?18:52??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\Pcblist.java

?????文件????????174??2008-10-25?22:06??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\PerformTest$1.class

?????文件???????2462??2008-10-25?22:06??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\PerformTest$ButtonHander.class

?????文件???????2435??2008-10-25?22:06??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\PerformTest.class

?????文件???????3961??2008-10-13?20:31??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))\PerformTest.java

?????目錄??????????0??2010-06-23?19:47??銀行家算法

?????目錄??????????0??2010-06-23?19:47??作業(yè)調(diào)度

?????目錄??????????0??2010-06-23?19:47??進(jìn)程調(diào)度(時(shí)間片輪轉(zhuǎn))

-----------?---------??----------?-----??----

????????????????51634????????????????????20


評(píng)論

共有 條評(píng)論