• 大小: 6KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Java
  • 标签:

资源简介

磁盘调度算法 操作系统作业 java模拟页磁盘调度,图形界面 调试完全正确! 请放心下载!

资源截图

代码片段和文件信息

/**
 * @(#)mainform.java
 *
 *
 * @author 
 * @version 1.00 2010/12/27
 */
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;
class mainform implements ActionListener
{   Jframe f;
JTable table;
    JTextArea jt;
Connection con;
JButton b1b2b3b4b5b6;
int  num;
int  kai;
int  sum;
int m=0n=0;
int s[]= new int[100];
int s1[]=new int[100];
int c1[]=new int[50];
int c2[]=new int[50];
mainform(){
f=new Jframe(“磁盘调度“);
f.setSize(500300);
f.setBounds(200200700300);
b1=new JButton(“创建磁道“);
b2=new JButton(“先来先服务FCFS“);
b3=new JButton(“最短寻道  SSTF“);
b4=new JButton(“扫描算法  SCAN“);
b5=new JButton(“循环扫描 CSCAN“);
        b6=new JButton(“退出“);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
Container con=f.getContentPane();
jt=new JTextArea();
JPanel p=new JPanel();
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
con.add(p“North“);
con.add(new JScrollPane(jt)“Center“);//添加滚动面板
f.setVisible(true);
f.validate();//来使容器在其包含的组件被添加或修改时,对其组件重新进行布局。 
f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
}
     public void actionPerformed(ActionEvent ev)
{ if(ev.getSource()==b1)
{ creat();
}
else if(ev.getSource()==b2)
{
    fcfs();
    
}
else if(ev.getSource()==b3)
{
sstf();
}
else if(ev.getSource()==b4)
{   scan();
}
else if(ev.getSource()==b5)
{   cscan();
}
else if(ev.getSource()==b6)
{   
System.exit(0);
}
}
public void creat(){
    double t;
    
    String cs=JOptionPane.showInputDialog(null“请输入从哪个磁道开始:“);
    kai=Integer.parseInt(cs);
           cs=JOptionPane.showInputDialog(null“请输入磁道的个数:“);
    num=Integer.parseInt(cs);
      for(int j=0;j     {
    t = Math.random();
    s[j]=(int)(kai*2*t);
    for(int i=0;i   if(s[j]==s[i])
   j--;
     }
     String stext=“被访问的下一个磁道         磁道号移动距离“+‘\n‘;
      for(int i=0;i     {stext+=“         “+s[i]+“       “;
      stext+=‘\n‘;
     }
     paixu();
      jt.setText(stext);
      
   
                   }
   public void paixu(){
   int su=kai;
   int t;
   for(int i=0;i     if(su>s[i])
      c1[m++]=s[i];
      else
      c2[n++]=s[i];
    for(int i=0;i     for(int j=i;j     if(c1[i]     {t=c1[i];c1[i]=c1[j];c1[j]=t;}
    for(int i=0;i     for(int j=i;j     if(c2[i]>c2[j])
     {t=c2[i];c2[i]=c2[j];c2[j]=t;}
   
     }
  
    public void fcfs(){
      String stext=“被访问的下一个磁道         磁道号移动距离“+‘\n‘;
      int su=kai;
      sum=0;
      for(int i=0;i      { if(su      s1[i]=s[i]-su;
      else
      s1[i]=su-s[i];
      su=s[i];
      sum+=s1[i];
      }
      sum=sum/num;
      for(int

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6468  2010-12-27 22:58  磁盘调度\mainform.class

     文件       5472  2010-12-27 22:58  磁盘调度\mainform.java

     文件       5472  2010-12-27 23:00  磁盘调度\mainform1.java

     目录          0  2010-12-27 23:03  磁盘调度

----------- ---------  ---------- -----  ----

                17412                    4


评论

共有 条评论