新建
上传
首页
助手
最?/div>
资料?/div>
工具

《通用处理机调度演示程序源代码?/p>

 

 

//

短作业优先算?/p>

 

#define MaxNum 100 

#include <stdio.h> 

#include <stdlib.h> 

#include <string.h> 

 

struct Process_struct{ 

 

int 

 

Number; 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//

进程编号

 

 

char Name[MaxNum]; 

 

 

 

 

 

 

 

 

 

 

//

进程名称

 

 

 

 

 

int 

 

ArrivalTime; 

 

 

 

//

到达时间

 

 

int 

 

ServiceTime; 

 

 

 

//

开始运行时?/p>

 

 

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(); 

 

 

 

//

短作业优?/p>

 

int SJF(){ 

 

 

 

 

 

 

//

短作业优先算?/p>

 

 

int temp_time=0; 

 

 

 

//

当期那时?/p>

 

 

int i=0,j; 

 

int number_schedul,temp_counter; 

 

 

 

 

 

//

进程编号,当前已执行进程个数

 

 

float run_time; 

 

run_time=Process[i].WholeTime; 

 

j=1; 

 

while((j<N)&&(Process[i].ArrivalTime==Process[j].ArrivalTime)) 

 

 

 

//

判断是否

有两个进程同时到?/p>

 

 

{ 

 

 

if(Process[j].WholeTime<Process[i].WholeTime) 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

《通用处理机调度演示程序源代码?/p>

 

 

//

短作业优先算?/p>

 

#define MaxNum 100 

#include <stdio.h> 

#include <stdlib.h> 

#include <string.h> 

 

struct Process_struct{ 

 

int 

 

Number; 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//

进程编号

 

 

char Name[MaxNum]; 

 

 

 

 

 

 

 

 

 

 

//

进程名称

 

 

 

 

 

int 

 

ArrivalTime; 

 

 

 

//

到达时间

 

 

int 

 

ServiceTime; 

 

 

 

//

开始运行时?/p>

 

 

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(); 

 

 

 

//

短作业优?/p>

 

int SJF(){ 

 

 

 

 

 

 

//

短作业优先算?/p>

 

 

int temp_time=0; 

 

 

 

//

当期那时?/p>

 

 

int i=0,j; 

 

int number_schedul,temp_counter; 

 

 

 

 

 

//

进程编号,当前已执行进程个数

 

 

float run_time; 

 

run_time=Process[i].WholeTime; 

 

j=1; 

 

while((j<N)&&(Process[i].ArrivalTime==Process[j].ArrivalTime)) 

 

 

 

//

判断是否

有两个进程同时到?/p>

 

 

{ 

 

 

if(Process[j].WholeTime<Process[i].WholeTime) 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

《通用处理机调度演示程序源代码?/p>

 

 

//

短作业优先算?/p>

 

#define MaxNum 100 

#include <stdio.h> 

#include <stdlib.h> 

#include <string.h> 

 

struct Process_struct{ 

 

int 

 

Number; 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//

进程编号

 

 

char Name[MaxNum]; 

 

 

 

 

 

 

 

 

 

 

//

进程名称

 

 

 

 

 

int 

 

ArrivalTime; 

 

 

 

//

到达时间

 

 

int 

 

ServiceTime; 

 

 

 

//

开始运行时?/p>

 

 

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(); 

 

 

 

//

短作业优?/p>

 

int SJF(){ 

 

 

 

 

 

 

//

短作业优先算?/p>

 

 

int temp_time=0; 

 

 

 

//

当期那时?/p>

 

 

int i=0,j; 

 

int number_schedul,temp_counter; 

 

 

 

 

 

//

进程编号,当前已执行进程个数

 

 

float run_time; 

 

run_time=Process[i].WholeTime; 

 

j=1; 

 

while((j<N)&&(Process[i].ArrivalTime==Process[j].ArrivalTime)) 

 

 

 

//

判断是否

有两个进程同时到?/p>

 

 

{ 

 

 

if(Process[j].WholeTime<Process[i].WholeTime) 

Ͼλ">
Ͼλ
Ŀ

计算机操作系统课程设计源代码《通用处理机调度演示程序源代码?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

《通用处理机调度演示程序源代码?/p>

 

 

//

短作业优先算?/p>

 

#define MaxNum 100 

#include <stdio.h> 

#include <stdlib.h> 

#include <string.h> 

 

struct Process_struct{ 

 

int 

 

Number; 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//

进程编号

 

 

char Name[MaxNum]; 

 

 

 

 

 

 

 

 

 

 

//

进程名称

 

 

 

 

 

int 

 

ArrivalTime; 

 

 

 

//

到达时间

 

 

int 

 

ServiceTime; 

 

 

 

//

开始运行时?/p>

 

 

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(); 

 

 

 

//

短作业优?/p>

 

int SJF(){ 

 

 

 

 

 

 

//

短作业优先算?/p>

 

 

int temp_time=0; 

 

 

 

//

当期那时?/p>

 

 

int i=0,j; 

 

int number_schedul,temp_counter; 

 

 

 

 

 

//

进程编号,当前已执行进程个数

 

 

float run_time; 

 

run_time=Process[i].WholeTime; 

 

j=1; 

 

while((j<N)&&(Process[i].ArrivalTime==Process[j].ArrivalTime)) 

 

 

 

//

判断是否

有两个进程同时到?/p>

 

 

{ 

 

 

if(Process[j].WholeTime<Process[i].WholeTime) 



ļ׺.doc޸Ϊ.docĶ

  • ҽִҵҽʦԳԤ⼰𰸽
  • ũƼѵĽ
  • 2018й--Ƕſκϰ⿼Դ
  • Ⱥͽ볣IJⶨ()
  • Фر˾ʫ
  • У
  • СѧѧСѧϰЧԿоⱨ
  • ҵλԡˮרҵ⡷⼰𰸽
  • 2016-2022йȨҵгչ״ʮͶ̻
  • Ŀ1

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)