《2022年操作系统进程调度用java写的源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统进程调度用java写的源代码 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统进程调度用java 写的源代码package tc; public class Begin public static void main(String args) new MyFrame(); package tc; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.a
2、wt.event.ActionListener; import java.util.ArrayList; import java.util.Iterator; import java.util.Vector; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; impo
3、rt javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class MyFrame extends JFrame int minx = 0; int n; String m; String s; ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); Vector v =
4、new Vector(); JPanel jp = new JPanel(); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); JPanel jp3 = new JPanel(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - JPanel jp4 = new JPanel(); JPanel jp5 = new JPanel(); JTextArea area1
5、= new JTextArea(); JTextArea area2 = new JTextArea(); JList list = new JList(); static JTextField jt1 = new JTextField(5); static JTextField jt2 = new JTextField(5); static JTextField jt3 = new JTextField(5); JTextField jt4 = new JTextField(); JTextField jt5 = new JTextField(); JTextField jt6 = new
6、JTextField(); JLabel jl1 = new JLabel(进程名 , 0); JLabel jl2 = new JLabel(id, 0); JLabel jl3 = new JLabel(优先数 , 0); JButton jb1 = new JButton( 就绪 ); JButton jb2 = new JButton( 优先数轮转法 ); JButton jb3 = new JButton( 阻塞 ); JButton jb4 = new JButton( 唤醒 ); JButton jb5 = new JButton( 创建 ); JButton jb6 = new
7、 JButton( 先来先服务 ); JButton jb7 = new JButton( 撤销(就绪) ); JButton jb8 = new JButton( 撤销(阻塞) ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - JScrollPane js1 = new JScrollPane(this.list, 22, 30); Toolkit kit = Toolkit.getDefaultToolkit(); p
8、rivate final int x = 0; private final int y = 0; private final int width = this.kit.getScreenSize().width / 3 * 2; private final int height = this.kit.getScreenSize().height / 5 * 4; public MyFrame() super(进程管理系统 ); setBounds(0, 0, this.width, this.height); add(this.jp1, Center); this.jp1.setLayout(
9、new GridLayout(2, 2, 20, 0); this.jp1.add(this.jp2); this.jp1.add(this.jp3); this.jp1.add(this.jp4); this.jp1.add(this.jp); this.jp2.setLayout(new BorderLayout(); this.jp2.add(this.jt4, North); this.jt4.setText( 进程名 tidt 优先数 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
10、- - - 第 4 页,共 24 页 - - - - - - - - - this.jt4.setEditable(false); this.jp2.add(this.area1); this.area1.setEditable(false); this.jp3.setLayout(new BorderLayout(); this.jp3.add(this.jt5, North); this.jt5.setText( 进程名 tidt 优先数 ); this.jt5.setEditable(false); this.jp3.add(this.list); this.jp4.setLayout(
11、new BorderLayout(); this.jp4.add(this.jt6, North); this.jt6.setText( 进程名 tidt 优先数 ); this.jt6.setEditable(false); this.jp4.add(this.area2); this.jp.add(this.jb2); this.jp.add(this.jb6); this.jp.add(this.jb3); this.jp.add(this.jb4); this.jp.add(this.jb8); this.jp.setLayout(new FlowLayout(); this.jb8.
12、addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - String a = (String)MyFrame.this.list.getSelectedValue(); MyFrame.this.v.remove(a); MyFrame.this.list.setListD
13、ata(MyFrame.this.v); ); this.jb2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Iterator it2 = MyFrame.this.list2.iterator(); if (!it2.hasNext() int min = 1000; Running r = new Running(1, 1, a, b); Iterator it = MyFrame.this.list1.iterator(); while (it.hasNext() Ru
14、nning re = (Running)it.next(); if (re.number = min) min = re.number; r = re; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - MyFrame.this.list2.add(r); MyFrame.this.area2.append(r.getRecord(); MyFrame.this.list1.remove(r); MyFrame.this.are
15、a1.setText(null); Iterator it1 = MyFrame.this.list1.iterator(); while (it1.hasNext() Running re = (Running)it1.next(); MyFrame.this.area1.append(re.getRecord(); MyFrame.this.area1.append(n); ); this.jb6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Iterator it2 =
16、MyFrame.this.list2.iterator(); if (!it2.hasNext() int min = 1000; Running r = new Running(1, 1, a, b); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - Iterator it = MyFrame.this.list1.iterator(); while (it.hasNext() Running re = (Running)i
17、t.next(); if (re.i = min) min = re.i; r = re; MyFrame.this.list2.add(r); MyFrame.this.area2.append(r.getRecord(); MyFrame.this.list1.remove(r); MyFrame.this.area1.setText(null); Iterator it1 = MyFrame.this.list1.iterator(); while (it1.hasNext() Running re = (Running)it1.next(); MyFrame.this.area1.ap
18、pend(re.getRecord(); MyFrame.this.area1.append(n); ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - this.jb3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Iterator it3 = MyFrame.this.list2.iterator();
19、Iterator aa = MyFrame.this.list1.iterator(); while (it3.hasNext() & aa.hasNext() Running runn = (Running)it3.next(); MyFrame.this.v.addElement(runn.getRecord(); MyFrame.this.list.setListData(MyFrame.this.v); MyFrame.this.list.setVisibleRowCount(10); MyFrame.this.list2.remove(runn); MyFrame.this.area
20、2.setText(null); Iterator it2 = MyFrame.this.list2.iterator(); if (!it2.hasNext() int min = 1000; Running r = new Running(1, 1, a, b); Iterator it = MyFrame.this.list1.iterator(); while (it.hasNext() Running re = (Running)it.next(); if (re.number = min) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
21、 - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - min = re.number; r = re; MyFrame.this.list2.add(r); MyFrame.this.area2.append(r.getRecord(); MyFrame.this.list1.remove(r); MyFrame.this.area1.setText(null); Iterator it1 = MyFrame.this.list1.iterator(); while (it1.hasNext() Running re =
22、(Running)it1.next(); MyFrame.this.area1.append(re.getRecord(); MyFrame.this.area1.append(n); ); this.jb4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String a = (String)MyFrame.this.list.getSelectedValue(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
23、 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - MyFrame.this.v.remove(a); MyFrame.this.list.setListData(MyFrame.this.v); Running rr = new Running(MyFrame.this.minx+, Xchange.getThirdString(a), Xchange.getFirstString(a), Xchange.getSecondString(a); MyFrame.this.list1.add(rr); MyFrame.this.area1
24、.setText(null); Iterator it = MyFrame.this.list1.iterator(); while (it.hasNext() Running re = (Running)it.next(); MyFrame.this.area1.append(re.getRecord(); MyFrame.this.area1.append(n); ); add(this.jp5, North); this.jp5.add(this.jb5); this.jp5.add(this.jl1); this.jp5.add(jt1); this.jp5.add(this.jl2)
25、; this.jp5.add(jt2); this.jp5.add(this.jl3); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - this.jp5.add(jt3); this.jb5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) MyFrame.this.n = Integer.parseInt(M
26、yFrame.jt3.getText(); MyFrame.this.m = MyFrame.jt1.getText(); MyFrame.this.s = MyFrame.jt2.getText(); Running run = new Running(MyFrame.this.minx+, MyFrame.this.n, MyFrame.this.m, MyFrame.this.s); MyFrame.this.list1.add(run); MyFrame.this.area1.setText(null); MyFrame.jt1.setText(null); MyFrame.jt2.s
27、etText(null); MyFrame.jt3.setText(null); Iterator it = MyFrame.this.list1.iterator(); while (it.hasNext() Running re = (Running)it.next(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - MyFrame.this.area1.append(re.getRecord(); MyFrame.t
28、his.area1.append(n); ); setDefaultCloseOperation(3); setVisible(true); package tc; public class Running int number; int i; String name; String id; public Running(int i, int n, String m, String s) this.i = i; this.number = n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
29、 - 第 13 页,共 24 页 - - - - - - - - - this.name = m; this.id = s; public String getRecord() String s = this.name + + this.id + + this.number; return s; package tc; public class Xchange public static String getFirstString(String d) char a = new char50; char b = new char50; char c = new char50; char e =
30、new char50; int t = 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - int acount = 0; int bcount = 0; int ccount = 0; int ecount = 0; int is = 0; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) a(acount+) = d.charAt(i); else t = i
31、; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - b(bcount+) = d.charAt(i); else t = i; break; for
32、 (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) c(ccount+) = d.charAt(i); else t = i; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - for (int i = t;
33、 i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) e(ecount+) = d.charAt(i); for (int i = 0; ai != 0; i+) is = i + 1; char ax = new charis; for (int i = 0; i is; i+) axi = ai; String as = new String(ax); return as; 名师资料总结 - - -精品资料欢迎
34、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 24 页 - - - - - - - - - public static String getSecondString(String d) char a = new char50; char b = new char50; char c = new char50; char e = new char50; int t = 0; int acount = 0; int bcount = 0; int ccount = 0; int ecount = 0; in
35、t is = 0; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) a(acount+) = d.charAt(i); else t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 24 页 - - - - - - - - - continue; t = i; break; fo
36、r (int i = t; i d.length(); i+) if (d.charAt(i) != ) b(bcount+) = d.charAt(i); else t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
37、 - - - - 第 19 页,共 24 页 - - - - - - - - - c(ccount+) = d.charAt(i); else t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) e(ecount+) = d.charAt(i); for (int i = 0; bi != 0; i+) is = i + 1; 名师资料总结 - - -精品
38、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 24 页 - - - - - - - - - char bx = new charis; for (int i = 0; i is; i+) bxi = bi; String bs = new String(bx); return bs; public static int getThirdString(String d) char a = new char50; char b = new char50; char c = new char50; c
39、har e = new char50; int t = 0; int acount = 0; int bcount = 0; int ccount = 0; int ecount = 0; int is = 0; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 24 页 - - - - - - - - - a(acount+) = d.charAt(i); el
40、se t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) b(bcount+) = d.charAt(i); else t = i; break; for (int i = t; i d.length(); i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
41、 - - - 第 22 页,共 24 页 - - - - - - - - - if (d.charAt(i) = ) continue; t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) != ) c(ccount+) = d.charAt(i); else t = i; break; for (int i = t; i d.length(); i+) if (d.charAt(i) = ) continue; t = i; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
42、- - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 24 页 - - - - - - - - - for (int i = t; i d.length(); i+) if (d.charAt(i) != ) e(ecount+) = d.charAt(i); for (int i = 0; ci != 0; i+) is = i + 1; char cx = new charis; for (int i = 0; i is; i+) cxi = ci; String cs = new String(cx); int num = Integer.parseInt(cs); return num; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 24 页 - - - - - - - - -