第一范文网 - 专业文章范例文档资料分享平台

OS短作业优先调度算法C语言 (2)

来源:用户分享 时间:2020-06-09 本文由雨润静荷 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

六、程序运行结果

1 进入操作界面如下

2输入进程的信息

3 各时刻进程的状态

5

4 进程信息

5 平均带权周转时间界面

6

七、流程图

本次课程设计主要是通过比较各个进程的优先级以及各进程所需要占用的CPU时间来确定哪个作业优先运行,短作业优先调度算法除了能保证优先级更高的作业优先运行外,还能使相同优先级的前提下,所需CPU时间最短的那个作业优先运行,次外,本次课程设计还增加了阻塞时间和被阻塞时间来对个进程的运行加以控制。 此次课程设计的总体流程图如下:

7

开 始 输入进程的个数:num 输入进程的信息:name starttime servicetime r Sort() 队列中是否只有一个进程? N 执行判断函数:Run() Y执行时间处理函数:Time() 输出最后信息:Output() 结 束

8

八、源程序文件

#include #define MaxNum 100 using namespace std; struct Process_struct{

int Number; //进程编号 char Name[MaxNum]; //进程名称 int ArrivalTime; //到达时间 int ServiceTime; //开始运行时间 int FinishTime; //运行结束时间 int WholeTime; //运行时间 int run_flag; //调度标志 int order; //运行次序

double WeightWholeTime; //周转时间

double AverageWT_FCFS,AverageWT_SJF; //平均周转时间

double AverageWWT_FCFS,AverageWWT_SJF; //平均带权周转时间 }Process[MaxNum];

int N; //实际进程个数 int SJF(); //短作业优先

int SJF(){ //短作业优先算法 int temp_time=0; //当期那时间 int i=0,j;

int number_schedul,temp_counter; //进程编号,当前已执行进程个数 float run_time;

run_time=Process[i].WholeTime; j=1;

while((j

//查找下一个被调度的进程 //对找到的下一个被调度的进程求相应的参数 number_schedul=i;

Process[number_schedul].ServiceTime=Process[number_schedul].ArrivalTime; Process[number_schedul].FinishTime=Process[number_schedul].ServiceTime+Pr

9

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新IT计算机OS短作业优先调度算法C语言 (2)全文阅读和word下载服务。

OS短作业优先调度算法C语言 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1078629.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top