操作系统短作业优先调度算法

2026/1/27 15:33:10

开 始 输入进程的个数: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

ocess[number_schedul].WholeTime;

Process[number_schedul].run_flag=1;

temp_time=Process[number_schedul].FinishTime; Process[number_schedul].order=1; temp_counter=1;

while(temp_counter

Process[number_schedul].FinishTime=Process[number_schedul].ServiceTime+Process[number_schedul].WholeTime; Process[number_schedul].run_flag=1; temp_time=Process[number_schedul].FinishTime; temp_counter++; Process[number_schedul].order=temp_counter; }return 0; }

int Pinput(); //进程参数输入 int Poutput(); //调度结果输出

void main() {

10

int option;

printf(\ ********************主菜单************************\\n\

printf(\ * 1 使用短作业优先 *\\n\

printf(\ * 0 *\\n\

printf(\

**************************************************\\n\

//system(\

system(\

scanf(\ switch(option) {

case 0: printf(\运行结束。\\n\ break; case 1: printf(\对进程用短作业优先调度。\\n\\n\ Pinput(); SJF(); Poutput(); break; }

}

int Pinput() //进程参数输入 {

int i;

printf(\请输入进程个数:\\n\ scanf(\ for(i=0;i

11

退出


操作系统短作业优先调度算法.doc 将本文的Word文档下载到电脑
搜索更多关于: 操作系统短作业优先调度算法 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219