java作业调度.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java作业调度

实验二、作业调度模拟程序 实验目的 加深对作业调度算法的理解; 进行程序设计的训练。 实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序。 单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素。 作业调度算法; 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。 短作业优先 (SJF) 调度算法,优先调度要求运行时间最短的作业。 响应比高者优先(HRRN)调度算法,为每个作业设置一个优先权(响应比),调度之前先计算各作业的优先权,优先数高者优先调度。RP (响应比)= 作业周转时间 / 作业运行时间 每个作业由一个作业控制块JCB表示,JCB可以包含以下信息:作业名、提交(到达)时间、所需的运行时间、所需的资源、作业状态、链指针等等 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种之一。每个作业的最初状态都是等待W。 实验方法、步骤及结果测试 原理分析及流程图 A.编程工具与文件 本实验采用JAVA高级语言编写,用eclipse编程工具,原文件为Task.java ,生成文件有Task.class,统一放在Task包(文件夹)中。 B.流程图: 单道FCFS算法: 单道SJPF算法与单道HRRN算法的流程图与FCFS算法的基本一样,只是第二步中的调度顺序的算法不同,SJPF算法与HRRN算法第二步分别为: SJPF算法:调度执行时间最短的作业投入作业,并修改相应的指针,记录开始时间、完成时间等。 HRRN算法:调度后备队列中所有作业响应比高的作业投入作业,并修改相应指针,记录开始时间、完成时间等。 详细程序代码及注释 package Task; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.text.*; class JCB { String name;//进程名称 String state=W;//进程状态 int enterTimes ; int needTimes;//运行完所需要时间 int costTimes;//已经使用时间 int startTimes; } public class Task extends JApplet { private JLabel label_init = new JLabel(进程初始设置); private String[] process_name = { 001, 002, 003, 004, 005}; //进程标签 private JTextField[] field_needtime = new JTextField[5]; //需要时间设置框 private JTextField[] field_entertime = new JTextField[5];//到达时间设置框 private JLabel[] label_pname = new JLabel[5]; //进程名加载标签组 JCB[] jcb = new JCB[5]; private JButton button_OK = new JButton(确定); private JButton button_init = new JButton(清空); private JLabel label_zhixing=new JLabel(正在执行); private JLabel label_houbei=new JLabel(后备队列); private JLabel[] field_txt = new JLabel[30]; //调度前信息显示框 private JLabel label_after = new JLabel(算法调度); //调度标签 private JButton fcfs = new JButton(FCFS); private JButton sjpf = new JButton(SJPF); private JButton hrrn = new JButton(HRRN); private JLabel[] zhixing_txt = new JLabel[4];//当前执行记录 private JLabel[] field_after = new JLabel[40]; /

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档