- 29
- 0
- 约1.3万字
- 约 15页
- 2020-07-22 发布于江苏
- 举报
题 目 先来先服务 FCFS 和短作业优先 SJF 进程调度算法
姓 名 :
学 号 :
专 业:
学 院:
指导教师 : 林若宁
二 零 一 八 年 十 一 月
一、实验目的
模拟单处理器系统的进程调度, 分别采用短作业优先和先来先服务的进程调度算法作为
进程设计算法,以加深对进程的概念及进程调度算法的理解.
二、实验内容
1. 短作业优先调度算法原理
短作业优先调度算法, 是指对短作业或断进程优先调度的算法。 它们可以分别可以用于
作业调度和进程调度。 短作业优先调度算法, 是从后备队列中选择一个或若干个运行时间最
短的作业, 将它们调入内存运行。 短进程优先调度算法, 是从就绪队列中选出一个估计运行
时间最短的进程, 将处理机分配给它使它立即执行并一直执行到完成, 或发生某事件而被阻
塞放弃处理机时再重新调度。
2. 先来先服务调度算法原理
先来先服务 (FCFS) 调度算法是一种最简单的调度算法, 该算法既可用于作业调度, 也可
用于进程调度。 当在作业调度中采用该算法时, 每次调度都是从后备作业队列中选择一个或
多个最先进入该队列的作业,将它们调入内存,为它们分配资源、 创建进程,然后放入就绪
队列。 在进程调度中采用 FCFS 算法时, 则每次调度是从就绪队列中选择一个最先进入该队
列的进程, 为之分配处理机, 使之投入运行。 该进程一直运行到完成或发生某事件而阻塞后
才放弃处理机。
三、程序设计
1.概要设计
程序包括主函数、 FCFS 算法函数、 SJF 算法函数、输出函数; 主函数流程:输入文件
中的数据—显示各进程数据—选择算法—调用相应算法的函数—输出结果
2.算法流程
SJF 算法流程图:
3.详细设计
(1)定义一个结构体
typedef struct PCB
{
char job_id[10]; // 作业 ID
float Arr_time; // 到达时刻
float Fun_time; //估计运行时间
float Wait_time; // 等待时间
float Start_time; // 开始时刻
float Fin_time; // 完成时刻
float Tur_time; //周转时间
float WTur_time; // 带权周转时间
int Order; // 优先标记
}list;
(2 )先来先服务算法函数
void fcfs(list *p,int count) //先来先服务算法
{
list temp; // 临时结构体变量
int i;
int j;
for(i = 1;i count;i++) // 按到达时刻直接插入排序
{
您可能关注的文档
最近下载
- 【公务员资料】2023陈老司综应B类刷题课-综合讲义部分 –合并 –考公 -2024-.docx
- 大学生学业情绪评估量表(AEQ)中文版实务指南.pdf VIP
- 大学生学业情绪量表(AEQ)中文版详解:结构、应用与评分指南.pdf VIP
- 《广告创意与设计》 课件 项目五 遵守广告创意伦理与法规.pptx
- 深川CHINSC S200系列通用矢量变频器说明书.pdf VIP
- 餐厅卤鸭标准化操作教程.docx
- 影视广告创意设计和制作全套完整教学课件.pptx
- 2025年江苏省南京市中考数学试题【含答案、解析】.docx
- 网约车全国公共科目理论考试题与答案.docx VIP
- 《信息技术高级》课件——5文档编辑软件WPS文字.pptx
原创力文档

文档评论(0)