最短进程优先(Shortest Process First,SPF)调度算法

本文介绍了最短进程优先(SPF)调度算法的实验目的,通过模拟五个并发进程的调度,加深对进程调度算法理解。实验中,程序运用C++的sort函数和自定义比较函数,按进程执行时间选择最短的进行分配。程序运行结果符合预期,验证了算法的正确性。
摘要由CSDN通过智能技术生成

一、实验目的
在批处理系统、分时系统和实时系统中,进程数目一般都大于处理机的个数,导致各个进程互相争夺处理机。这就需要进程调度程序按照相应的调度方式和调度算法,从处于就绪状态的诸多进程中选择一个进程将处理机分配给它,使之执行。
本实验利用高级语言编写和调试进程调度程序,模拟进程调度的过程,从而加深对进程概念和进程调度算法的理解,帮助学生加深了解处理器调度的工作。

二、实验内容
1. 设计有五个进程并发执行的模拟调度程序,每个程序由一个PCB表示。
2. 模拟调度程序可任选两种调度算法实现。
3. 程序执行中应能在屏幕上显示出各种进程的状态变化。
4. 实验过后书写实验报告。

三、实验方法
1. 算法设计思路
最短进程优先调度算法每次从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。我这里就是每次在决定调度进程前,比较就绪的所有作业,选择运行时间最短的作业运行

2.程序中主要的数据结构和函数说明
程序主要使用了c++标准模板库中的sort排序函数,其中自定义了compare比较函数,并以每个作业的到达时间为关键字从小到大排序,做这一步的目的是为找出第一个运行的作业

3.主要模块
本实验包含四个模块,数据的输入模块,初始时对一个进程的选择模块,对数据的处理计算模块,数据的输出模块,其中最重要的是对数据的处理这一模块,其不单单实现了对数据的计算功能,还实现了在已经就绪的进程中选择运行时间最短的作业运行

四、源程序代码

#include"iostream&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值