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