目录
1、 设计目的: 1
2、 设计内容: 1
3、设计步骤: 2
3.1需求分析 2
3.2 概要设计: 2
3.2.1 设计思想 2
3.2.2 抽象数据类型的定义 3
3.2.3 主程序的流程 4
3.2.3 各程序模块之间的层次(调用)关系。 4
3.3详细设计: 5
3.1.1 函数的调用关系图 6
3.3.2各程序流程图 7
3.4调试分析: 10
3.5 系统测试: 10
3.6 使用说明: 13
4、经验与体会: 13
5、重要数据结构或源程序中的疑难部分说明 13
3、设计步骤:
3.1需求分析
设计主界面以灵活选择某算法,实现以下算法
1、先来先服务算法(FCFS)
2、最短寻道时间优先算法(SSTF)
3、扫描算法(SCAN)
4、循环扫描算法(CSCAN)
并求出每种算法的平均寻道长度。
3.2 概要设计:
3.2.1 设计思想
本次课程设计我们是以面向对象的思想为主,利用eclipse为工具实现模拟磁盘调度。程序主要是利用java的swing架构做图形,用冒泡排序方法、FCFS方法、SSTF方法、SCAN方法、CSCAN方法实现功能。利用菜单式的选择界面,方便的用户操作。最终对每一种模拟磁盘调度输出磁头平均移动的磁道数。
3.2.2 抽象数据类型的定义
bubble():对输入的磁道进行冒泡排序,FCFS():即先来先服务方法,SSTF()方法:本文转载自http://www.biyezuopin.vip/onews.asp?id=15099最短最短寻道时间函数,SCAN():扫描方法,CSCAN():循环扫描方法。各函数之间有点可以相互调用,共同实现要求。 
本程序主要用到的数据结构为数组、字符串,包括对字符串的合法性判断,利用数组算磁头移动的平均移动磁道数。

package caozuoxitongkeshe;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Date;
public class LogPane extends JTabbedPane implements ActionListener{
private JScrollPane scroll;
private JTextArea textArea;
static final LogPane log=new LogPane();
    public LogPane() {
        // TODO 自动生成的构造函数存根
        try {  
               UIManager
                 .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              } catch (Exception e) {
               e.printStackTrace();
              }

        textArea=new JTextArea();
        textArea.setLineWrap(true);
        textArea.setFont(new Font("TimesRoman",Font.PLAIN,18));
        scroll=new JScrollPane(textArea);
        add(scroll,BorderLayout.CENTER);
        this.setTitleAt(0, "Log");
        this.setFont(new Font("微软雅黑",Font.BOLD,16));
        this.setEnabled(false);
        textArea.setEditable(false);
    }

    public void actionPerformed(ActionEvent arg0) {

    }

    public void addLog(String log){
        textArea.append(log+"\n");
    }

    public static LogPane getLog(){

        return log;
    }

    public void addLog(String str,Color color){
        Date date=new Date();
        textArea.setForeground(color);
        textArea.append(str+"\t"+date+"\n");
    }
}

java 磁盘 java磁盘调度算法_磁盘调度


java 磁盘 java磁盘调度算法_磁盘调度系统_02


java 磁盘 java磁盘调度算法_java_03


java 磁盘 java磁盘调度算法_模拟系统_04


java 磁盘 java磁盘调度算法_磁盘调度系统_05


java 磁盘 java磁盘调度算法_java 磁盘_06


java 磁盘 java磁盘调度算法_模拟系统_07


java 磁盘 java磁盘调度算法_磁盘调度_08


java 磁盘 java磁盘调度算法_磁盘调度_09


java 磁盘 java磁盘调度算法_磁盘调度_10


java 磁盘 java磁盘调度算法_java 磁盘_11


java 磁盘 java磁盘调度算法_磁盘调度系统_12


java 磁盘 java磁盘调度算法_模拟系统_13


java 磁盘 java磁盘调度算法_模拟系统_14


java 磁盘 java磁盘调度算法_java_15


java 磁盘 java磁盘调度算法_磁盘调度_16


java 磁盘 java磁盘调度算法_模拟系统_17


java 磁盘 java磁盘调度算法_磁盘调度系统_18


java 磁盘 java磁盘调度算法_java_19


java 磁盘 java磁盘调度算法_java_20


java 磁盘 java磁盘调度算法_java 磁盘_21


java 磁盘 java磁盘调度算法_java_22


java 磁盘 java磁盘调度算法_磁盘调度系统_23