亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpudd.java

?? java實現的CPU調度算法。。算法比較通俗
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
import java.awt.*;
import java.awt.event.*;

class Pcb{//PCB管理類;
private String name;
private int time;
private int priority;
private String state;
private int mem_begin;
private int mem_size;
public Pcb next;
public Pcb(){

}
public Pcb(String name,int time,int priority,String state,int mem_size){
this.name = name;
this.time = time;
this.priority = priority;
this.state = state;
this.mem_size = mem_size;
}
//過去式,今后會被替換;
public Pcb(String name,int time,int priority,String state){
this.name = name;
this.time = time;
this.priority = priority;
this.state = state; 
}

public Pcb(String name,int time,int priority,int mem_size){
this.name = name;
this.time = time;
this.priority = priority;
this.mem_size = mem_size;
}
//will be replace in future;
public Pcb(String name,int time,int priority){
this.name = name;
this.time = time;
this.priority = priority; 
}
public void SetName(String name){
this.name = name;
}
public void SetTime(int time){
this.time = time;
}
public void SetPriority(int priority){
this.priority = priority;
}
public void SetState(String state){
this.state = state;
}
public void Setmem_beg(int begin){
this.mem_begin = begin; 
}
public void Setmem_size(int size){
this.mem_size = size;
}
public String GetName(){
return name;
}
public int GetTime(){
return time;
}
public int GetPriority(){
return priority;
}
public String GetState(){
return state;
}
public int Getmem_beg(){
return mem_begin;
}
public int Getmem_size(){
return mem_size;
}
public void SubTime(){
time--;
}
public void SubPriority(){
priority--;
}

}

class memory{//內存類;
private int mem_begin;
private int mem_size;
private String pcd_name;
private int state;
public memory next;
// public memory pre;
public memory(){
}
public memory(String name,int size){
this.pcd_name = name;
this.mem_size = size;
this.state = 0;
//this.pre = null;
this.next = null;
}
public void Setmem_beg(int begin){
this.mem_begin = begin; 
}
public void Setmem_size(int size){
this.mem_size = size;
}
public void SetPcd_name(String name){
this.pcd_name = name;
}
public void Setmem_state(int state){
this.state = state; 
}
public int Getmem_beg(){
return mem_begin;
}
public int Getmem_size(){
return mem_size;
}
public String GetPcd_name(){
return pcd_name;
}
public int Getmem_state(){
return state;
}

}
class Windows extends WindowAdapter {
//聲明窗口容器;
Frame Cpuwin;
List Lready , Lwaiting , Lsuspend ,L_cpus_info,L_memory_table,L_memory_gra;
Button BCpuscheduler,Bgetp_r , BgetP_s ,Bgetp_s_r;
TextField tp_name,tp_time,tp_priority,tp_memory_size,tcpuinfo;
Label p_name , p_time , p_priority ,p_memory_size, 
r_queue , w_queue , s_queue, memory_gra , memory_table,
cpus_info;
Panel p1,p2,p3,p4;
//初試化窗口函數;
public void display(){ 
Cpuwin = new Frame("Cpuscheduler by liuxin");//面板樣式;
Cpuwin.setSize(700,400);
Cpuwin.setLocation(300, 140);
Cpuwin.setLayout(new GridLayout(4,1,0,10));
Cpuwin.addWindowListener(this);
Cpuwin.setBackground(Color.gray); 
p_name = new Label("進程名");//第一行,輸入進程信息面板;
tp_name = new TextField("NAME", 10);
p_time = new Label("運行時間");
tp_time = new TextField("TIME",2);
p_priority = new Label("優先權");
tp_priority = new TextField("PRT", 3);
p_memory_size = new Label("所需主存大小");
tp_memory_size = new TextField("以K為單位",15);
Bgetp_r = new Button("置入就緒隊列");
Bgetp_r.addActionListener(new CpuScheduler());
p1 = new Panel(new FlowLayout(FlowLayout.LEFT));
p1.add(p_name); p1.add(tp_name);
p1.add(p_time); p1.add(tp_time);
p1.add(p_priority); p1.add(tp_priority);
p1.add(p_memory_size); p1.add(tp_memory_size);
p1.add(Bgetp_r);

r_queue = new Label("就緒隊列");//第二行,隊列名面板;
w_queue = new Label("后備隊列");
s_queue = new Label("掛起隊列");
memory_gra = new Label("內存狀態圖");
memory_table = new Label("未分分區表");
p2 = new Panel(new FlowLayout(FlowLayout.LEFT, 50, 0));
p2.add(r_queue);
p2.add(w_queue);
p2.add(s_queue);
p2.add(memory_gra);
p2.add(memory_table);

Lready = new List(6);
Lready.addActionListener(new CpuScheduler());//第三行,隊列狀態面板;
// Lready.setSize(200, 40);
Lwaiting = new List(6);
// Lwaiting.setSize(200, 40);
Lwaiting.addActionListener(new CpuScheduler());
Lsuspend = new List(6);
Lsuspend.addActionListener(new CpuScheduler());
// Lsuspend.setSize(200, 40);
L_memory_gra = new List(6);
L_memory_gra.addActionListener(new CpuScheduler());
L_memory_table = new List(6);
L_memory_table.addActionListener(new CpuScheduler());

p3 = new Panel(new FlowLayout(FlowLayout.LEFT, 0, 0));
p3.add(Lready);p3.add(Lwaiting);p3.add(Lsuspend);
p3.add(L_memory_gra);p3.add(L_memory_table);

BCpuscheduler = new Button("進行調度");//第四行,調度面板;
BCpuscheduler.addActionListener(new CpuScheduler());
BgetP_s = new Button("掛起");
BgetP_s.addActionListener(new CpuScheduler());
Bgetp_s_r = new Button("解掛");
Bgetp_s_r.addActionListener(new CpuScheduler());
tcpuinfo = new TextField("info", 30);
p4 = new Panel(new FlowLayout(FlowLayout.LEFT, 30, 0));
p4.add(BCpuscheduler);p4.add(BgetP_s);p4.add(Bgetp_s_r);
p4.add(tcpuinfo); 

Cpuwin.add(p1);//窗口面板;
Cpuwin.add(p2);
Cpuwin.add(p3);
Cpuwin.add(p4);
Cpuwin.setVisible(true);

}
public void windowClosing(WindowEvent e)
{System.exit(0);}

} 



public class CpuScheduler implements ActionListener{
static Windows c=new Windows();
static public Pcb ReadyHead;
static public Pcb WaitHead;
static public Pcb SuspendHead;
static public Pcb SuspendEnd;
static public memory MemTable;
static boolean beg = false;
static int ReadyNum = 0;
static int WaitNum = 0;
static int n = 0;
static int m = 0;
static int k = 0;
static int mem = 0; 
static int nowsize = 0;

//建立READY隊列;
public void BuildReadyQueue(String name,int time,int priority, String state, int size){
c.tcpuinfo.setText("已經將"+name+"放入就緒隊列"); 
Pcb Temp = new Pcb(name, time, priority, state, size);
Pcb Compare_f;
Pcb Compare_b;
Compare_f = ReadyHead;
Compare_b = ReadyHead;
if(ReadyHead == null){
ReadyHead = Temp;
// InitMemory(Temp);
}
else
if(Temp.GetPriority() > ReadyHead.GetPriority())
{
Temp.next = ReadyHead;
ReadyHead = Temp;
// InitMemory(Temp); 
}
else{
while(Compare_b != null && Temp.GetPriority() <= Compare_b.GetPriority()){
Compare_f = Compare_b;
Compare_b = Compare_b.next; 
} 
Compare_f.next = Temp;
Temp.next = Compare_b;
// InitMemory(Temp); 
}
n++; 
}
//建立waiting隊列
public void BuildWaitingQueue(String name,int time,int priority){ 
Pcb Temp = new Pcb(name, time, priority);
Pcb Min,R_Temp; 
Pcb W_Compare_f;
Pcb W_Compare_b;
W_Compare_f = WaitHead;
W_Compare_b = WaitHead;
Min = ReadyHead;
R_Temp = ReadyHead;
while(R_Temp != null){
if(Min.GetPriority() > R_Temp.GetPriority())
Min=R_Temp; 
R_Temp=R_Temp.next;
}
if(Min.GetPriority() >= priority){
Temp.SetState("后備");
if(WaitHead == null){
WaitHead=new Pcb(name,time,priority);
WaitHead.SetState("后備");
}
else{
if(Temp.GetPriority() > WaitHead.GetPriority()){
Temp.next = WaitHead;
WaitHead=Temp;
}
else{
while(W_Compare_b != null && W_Compare_b.GetPriority()>=Temp.GetPriority()){
W_Compare_f=W_Compare_b;
W_Compare_b=W_Compare_b.next;
}
W_Compare_f.next=Temp;
Temp.next=W_Compare_b;
}
}
c.tcpuinfo.setText("就緒隊列已滿,名字為"+name+"的新進程進入后備隊列!");
m++;
}
else{
Temp.SetState("就緒");
Insert(Temp);
c.tcpuinfo.setText("就緒隊列已滿,但由于名為"+name+"的進程優先權高,放入就緒隊列");
}
}


public void BuilidSuspendQueue(String name){
Pcb Compare_f;
Pcb Compare_b;
Pcb Temp;
Compare_b=ReadyHead;
Compare_f=ReadyHead;
if(ReadyHead.GetName().equals(name)){
ReleaseMem(ReadyHead);// release the memory;
ReadyHead.SetState("后備");
if(k==0){
SuspendHead = new Pcb(name,ReadyHead.GetTime(),ReadyHead.GetPriority());
SuspendEnd = SuspendHead;
k++;
}
else{
Temp = new Pcb(name,ReadyHead.GetTime(),ReadyHead.GetPriority());
SuspendEnd.next = Temp;
SuspendEnd = SuspendEnd.next;
k++;
}
c.tcpuinfo.setText("已經將名稱為"+name+"的進程放入掛起隊列中!");
ReadyHead = ReadyHead.next;
n--;
if(WaitHead!=null){
Insert();
n++;
}
}
else{
while(Compare_b != null && (!Compare_b.GetName().equals(name))){
Compare_f = Compare_b;
Compare_b = Compare_b.next;
}
if(Compare_b == null){
c.tcpuinfo.setText("就緒隊列中沒有找到你想要掛起的名字為"+name+"的進程!");
}
else{
c.tcpuinfo.setText("已經將名稱為"+name+"的進程放入掛起隊列中!");
ReleaseMem(Compare_b);
ReadyHead.SetState("后備");
if(k==0){
SuspendHead = new Pcb(name,Compare_b.GetTime(),Compare_b.GetPriority());
SuspendEnd =SuspendHead;
k++;
}
else{
Temp = new Pcb(name,Compare_b.GetTime(),Compare_b.GetPriority());
SuspendEnd.next = Temp;
SuspendEnd = SuspendEnd.next;
k++;
}
Compare_f.next = Compare_b.next;
n--;
if(WaitHead!=null){
Insert();
n++;
}
}

} 
}
public void GetSuspendToReady(String name){
Pcb Compare_f;
Pcb Compare_b;
Pcb Temp;
Compare_b = SuspendHead;
Compare_f = SuspendHead;
if(SuspendHead.GetName().equals(name)){
Temp = new Pcb(name,SuspendHead.GetTime(),SuspendHead.GetPriority());
Temp.SetState("就緒");
InitMemory(Temp);// init the momery;
Insert(Temp);
c.tcpuinfo.setText("名稱為"+name+"的進程解掛并放入就緒隊列中!");
SuspendHead = SuspendHead.next;
k--;
}
else{
while(Compare_b != null && (!Compare_b.GetName().equals(name))){
Compare_f = Compare_b;
Compare_b = Compare_b.next;
}
if(Compare_b == null){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品系列免费在线观看| 日韩欧美成人激情| 久久先锋影音av| 亚洲美女屁股眼交| 欧美精品高清视频| 精品一区二区久久久| 成人欧美一区二区三区视频网页| www.在线欧美| 久久草av在线| 亚洲一卡二卡三卡四卡五卡| 日韩午夜在线观看视频| 色哟哟日韩精品| 国产在线精品不卡| 调教+趴+乳夹+国产+精品| 欧美精品一区视频| 91精品欧美综合在线观看最新| 看电影不卡的网站| 亚洲一卡二卡三卡四卡| ww久久中文字幕| 日韩欧美国产一区在线观看| 欧美最新大片在线看 | 亚洲精品一线二线三线无人区| 成人蜜臀av电影| 国产老妇另类xxxxx| 激情图区综合网| 久久福利视频一区二区| 日韩av成人高清| 秋霞午夜av一区二区三区| 亚洲国产视频在线| 日韩成人免费在线| 日韩国产精品大片| 久久国产精品色婷婷| 免费观看成人鲁鲁鲁鲁鲁视频| 蜜臀av一级做a爰片久久| 亚洲另类一区二区| 一级做a爱片久久| 亚洲国产精品久久久久秋霞影院| 中文字幕色av一区二区三区| 18欧美亚洲精品| 日韩精品一二区| 国产精品香蕉一区二区三区| 成人免费的视频| 在线视频欧美区| 欧美成人vps| 夜夜亚洲天天久久| 国产在线精品免费| 91婷婷韩国欧美一区二区| 欧美一区永久视频免费观看| 久久亚洲二区三区| 日韩伦理免费电影| 极品美女销魂一区二区三区免费| 国产在线精品国自产拍免费| 在线观看日韩高清av| 精品国产91久久久久久久妲己| 日韩美女视频一区二区 | 亚洲少妇最新在线视频| 亚洲v精品v日韩v欧美v专区| 国产成人精品网址| 日韩一区二区三区电影| 亚洲综合一区在线| 99国产欧美另类久久久精品| 日韩三级免费观看| 日韩av电影天堂| 欧美日产国产精品| 亚洲综合精品自拍| zzijzzij亚洲日本少妇熟睡| 久久久精品欧美丰满| 国产精品一区2区| 久久综合九色综合97婷婷女人| 日韩av不卡在线观看| 91精品在线观看入口| 一区二区三区精品视频在线| 在线影院国内精品| 日韩码欧中文字| 成人精品一区二区三区中文字幕| 日韩欧美电影在线| 国产人成一区二区三区影院| 亚洲大片精品永久免费| 91精品福利在线| 国产视频亚洲色图| 国产伦精品一区二区三区免费| 欧美一二三四区在线| 日本人妖一区二区| 色综合天天综合| 亚洲蜜桃精久久久久久久| 99re热视频这里只精品| 亚洲精品国产a久久久久久| 91视频免费看| 亚洲国产美女搞黄色| 欧美日韩国产小视频| 免费日本视频一区| 中文字幕中文字幕一区二区| 成人免费高清视频在线观看| 专区另类欧美日韩| 555夜色666亚洲国产免| 国产乱对白刺激视频不卡| 久久精品一级爱片| 99re热视频精品| 日韩综合一区二区| 国产日产欧产精品推荐色| 成人av电影在线| 丝袜美腿亚洲一区| 国产精品污www在线观看| 欧美特级限制片免费在线观看| 免费看欧美美女黄的网站| 亚洲老司机在线| 久久奇米777| 51精品国自产在线| 色欧美片视频在线观看| 国产乱码精品一区二区三区五月婷| 国产精品系列在线| 精品久久99ma| 欧美日韩免费在线视频| 国产69精品久久777的优势| 亚洲黄色小视频| 精品一区二区三区免费视频| 91精品视频网| 国产成人免费在线观看| 亚洲日本丝袜连裤袜办公室| 日韩欧美的一区| 日韩一区二区精品葵司在线 | 国产精品77777| 婷婷综合久久一区二区三区| 一区二区三区中文字幕| 欧美一激情一区二区三区| 欧美日韩不卡一区二区| 欧美性猛交xxxxxxxx| 欧美日韩精品一区视频| 欧美一级欧美三级| 久久久久九九视频| 国产精品免费看片| 亚洲乱码国产乱码精品精小说| 亚洲欧洲av一区二区三区久久| 中文字幕一区二区三区四区| 久久综合色天天久久综合图片| 久久伊人中文字幕| 国产精品丝袜91| 午夜精品视频在线观看| 日韩电影在线观看网站| 国产成人亚洲精品青草天美| 成人三级在线视频| 欧美日韩精品欧美日韩精品一| 69堂国产成人免费视频| 欧美一区二区三区视频免费播放| 久久网这里都是精品| 国产精品色哟哟网站| 亚洲激情在线激情| 国产精品一区二区x88av| 欧美性大战久久| 国产精品热久久久久夜色精品三区| 亚洲午夜精品一区二区三区他趣| 久久国产生活片100| 91在线免费播放| 欧美激情在线一区二区| 美女视频黄a大片欧美| 欧美人体做爰大胆视频| 国产精品青草久久| 国产成人激情av| 精品久久久久久久久久久久包黑料 | 欧美国产亚洲另类动漫| 日韩av电影一区| 这里只有精品电影| 亚洲成a人片在线观看中文| 91官网在线免费观看| 国产精品久久久久久久久搜平片 | 亚洲成人一二三| 色综合久久久久久久久| 国产午夜亚洲精品午夜鲁丝片| 老司机免费视频一区二区| 91尤物视频在线观看| 中文字幕一区日韩精品欧美| 丰满亚洲少妇av| 国产精品久久三| 色婷婷av一区二区三区大白胸| 亚洲自拍欧美精品| 色先锋资源久久综合| 亚洲韩国精品一区| 欧美综合一区二区| 久久精品av麻豆的观看方式| 欧美成人女星排名| 99久久精品免费看国产| 香蕉影视欧美成人| 日韩一区二区三区观看| jlzzjlzz欧美大全| 午夜婷婷国产麻豆精品| 国产亚洲成av人在线观看导航| 99re这里都是精品| 亚洲成人自拍网| 国产日韩欧美一区二区三区综合| 国产寡妇亲子伦一区二区| 一区二区免费视频| 6080yy午夜一二三区久久| 95精品视频在线| 免费在线观看日韩欧美| 亚洲一区二区三区国产| 一本久久综合亚洲鲁鲁五月天 | 中文字幕一区二区不卡| 欧美一区二区三区视频免费播放| 日本美女视频一区二区| 亚洲成精国产精品女|