操作系统实验报告-作业调度实验.docVIP

  • 4
  • 0
  • 约1.13千字
  • 约 4页
  • 2017-12-31 发布于江西
  • 举报
操作系统实验报告-作业调度实验

作业调度实验 一.实验目的及要求: 用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。 二 . 实验环境: 操作系统:Windows XP 编译环境:Visual C++ 6.0 三.算法描述 由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。 作业调度算法:采用先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。 每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 各个等待的作业按照提交时刻的先后次序排队,总是首先调度等待队列中队首的作业。 每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。 四. 实验步骤: 1.、作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF)调度算法。 对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间。 2.程序流程图 3、程序源码结构: void main() { void fcfs(); void sjf(); ... while(1){ printf(\n\t\t/* 1、fcfs */); printf(\n\t\t/* 2、sjf */); printf(\n\t\t/* 0、Exit */\n); printf(\n\n\t请选择:\t); scanf(%d,a); printf(\n); switch(a){ case 1: fcfs();break; case 2: sjf();break; default: break; } if(a!=1a!=2) break; } } void fcfs(){ ... } void sjf();{ ... } 3.、实验截图:

文档评论(0)

1亿VIP精品文档

相关文档