作业调度算法实验

实验名称:  作业调度实验                     
实验类型:  验证性实验
学  时: 4
适用对象: 信息与计算科学专业
一、实验目的   (黑体,小4号字)
模拟作业调度算法,学习作业在操作系统中的调度过程,加深对作业管理的理解。特别是作业调度的概念、作业调度与进程调度的区别。培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解,拓宽学生的知识领域,锻炼学生的实践技能。
二、实验要求  (黑体,小4号字)
本实验模拟单处理器系统的作业调度,加深对作业调度算法的理解。用某种语言编写和调试一个作业调度的算法程序,有一些简单的界面,能够运行,仿真操作系统中作业调度的原理和过程。
1、 在后备作业队列中输入5道作业各自需要的时间及存储空间。数据输入格式如下:
作业编号 作业名称 提交时间 运行时间 存储空间 开始时间 完成时间 等待时间
1 JA 02:40 20 30     
2 JB 02:50 30 15     
3 JC 02:55 10 90     
4 JD 03:00 24 10     
5 JE 03:05 6 60     
 
2、  按先来先服务(FCFS)的原则进行调度,输出作业调度的顺序及各自的等待时间。
3、  按最短作业优先(SJF)的原则进行调度,输出作业调度的顺序及各自的等待时间。
4、  按最小作业(存储空间)优先的原则进行调度,输出作业调度顺序及各自的等待时间。
5.建立3个子函数对应3种算法,在主函数中调用它们并按格式输出相关信息;
6.按调度顺序输出作业,输出格式为:
 作业编号、作业名、提交时间、运行时间、存储空间、等待时间

三、实验原理(黑体,小4号字)
作业调度算法和进程调度算法。其中作业调度算法主要有先来先服务法FCFS、短作业优先法SJF、最高响应比优先法HRN、定时轮转法和优先数法。在进程调度算法中主要介绍了先来先服务法FCFS、轮转法RR、多级反馈轮转法和优先数法。
   需要指出的是:(1)在作业调度和进程调度中同时出现的算法,如FCFS、RR、优先数法,其使用原理是基本相同的;(2)作业调度算法和进程调度算法应严格与存储管理中的“请求淘汰换页算法”相区别,注意不要混淆。
实验提示
1、  根据作业输入数据,定义JCB结构;
struct JCB{
char JobNum[2];
char JobName[8];

};
2、  定义数据结构装载后备作业
JCB JobArray[MaxNumber];
3、  三种调度算法的设计
4、  C++语言描述顺序
建立文件:jcb.h;其中存放:
最大作业数;
定义数据结构JCB;
三个作业调度函数;
 
建立主函数,其中包含:
#include<iostream.h>
#include”jcb.h”
void mian()
{
   JCB jobArray[MaxNumber];
   数据输入;
调用三种算法并输出调度结果;
}
四、实验所需仪器、设备、材料
PC机
五、实验预习要求、实验条件、方法及步骤
1)熟练掌握作业相关的基本概念。
2)熟练掌握作业调度的有关算法。
3)熟练掌握作业调度算法所需的数据结构和算法流程;
4)熟练掌握某一门编程语言,如C、C++或者Dephi等479

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有