c语言进程调度报告,进程调度(C语言实现).doc
進(jìn)程調(diào)度(C語言實現(xiàn)).doc
#include
#include
#include
typedef struct ProcessNode{ // 進(jìn)程結(jié)點的基本結(jié)構(gòu)
char name; //進(jìn)程名
int service_time; //服務(wù)時間
int arrive_time; //到達(dá)時間
int priority; //優(yōu)先級
struct FCFS_time{ //先到先服務(wù)
int finish_time; //完成時間
int turnaround_time; //周轉(zhuǎn)時間
float weigtharound_time;//帶權(quán)周轉(zhuǎn)時間
}FCFS_time;
struct SJF_time{ //短作業(yè)優(yōu)先
int finish_time;
int turnaround_time;
float weigtharound_time;
int flag;
}SJF_time;
struct RR_time{ //時間片輪轉(zhuǎn)的結(jié)點
int finish_time;
int turnaround_time;
float weigtharound_time;
int flag_time;//賦值為進(jìn)程的服務(wù)時間,為0則進(jìn)程完成
}RR_time;
struct Pri_time{ //優(yōu)先權(quán)非搶占式
int finish_time;
int turnaround_time;
float weigtharound_time;
}Pri_time;
struct ProcessNode*next;
}ProcessNode,*Linklist;
void main()
{
int choice;
Linklist p,head;
Linklist read_information();
Linklist FCFS_scheduling(Linklist head);
Linklist SJF_scheduling(Linklist head);
Linklist RR_scheduling(Linklist head);
Linklist Pri_scheduling(Linklist head);
head=read_information();//讀入進(jìn)程的基本信息
do{
p=head->next;
printf("\n");
printf("**********進(jìn)程初始信息輸出********** \n"); //輸出初始化后的進(jìn)程基本信息
printf("\n");
printf("進(jìn)程名稱 ");
printf("到達(dá)時間 ");
printf("服務(wù)時間 ");
printf("優(yōu)先級 ");
printf("\n");
while(p)
{
printf(" %c ",p->name);
printf(" %d ",p->arrive_time);
printf(" %d ",p->service_time);
printf(" %d ",p->priority);
printf("\n");
p=p->next;
}
printf("\n");
printf("************************************ \n");//輸出進(jìn)程的調(diào)用選擇項
printf("\n");
printf("1、FCFS----先到先服務(wù)\n");
printf("2、SJF-----短作業(yè)優(yōu)先\n");
printf("3、RR------時間片輪轉(zhuǎn)\n");
printf("4、Pri-----優(yōu)先權(quán)調(diào)度\n");
printf("5、退出\n");
printf("\n");
printf("************************************ \n");
printf("\n");
printf("請在1—5之間選擇:
總結(jié)
以上是生活随笔為你收集整理的c语言进程调度报告,进程调度(C语言实现).doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言语法分析源程序,深入浅出编译原理-
- 下一篇: c语言前后指针怎么用,详解一下——C语言