- 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.、实验截图:
您可能关注的文档
最近下载
- 第七章测试·提升卷(考试版A4)(含答案)初中地理人教版(2024)八年级下册.docx VIP
- 亲子科学实验60例(家庭版).docx
- 第七章测试·基础卷(考试版A4)(含答案)初中地理人教版(2024)八年级下册.docx VIP
- 现代大学英语精读2_第三版__教师教案.doc VIP
- 建筑电气施工技术.pptx VIP
- 腰椎骨折的术后护理.ppt VIP
- 2025年河北省唐山市新质生产力发展研判:钢铁之城新智飞跃,4+4+N现代化产业体系激活唐山新质生产力[图].docx VIP
- 肉制品企业规章制度.docx VIP
- DB13_T 5366-2021 危险化学品企业安全风险管控与隐患排查治理规范DB13T5366-2021_6537.docx VIP
- 南阳市方城县2024年四上数学期末质量跟踪监视试题含解析.doc VIP
原创力文档

文档评论(0)