资源简介

基于FCFS和SPF的进程管理系统,进程调度,fcfs和spf,用c语言编写,有完整的源代码和实验报告,可执行,方便使用,代码简单易学,方便理解

资源截图

代码片段和文件信息


#include 
#include 
#include 
#include 
#include 

//定义链表的结构体
typedef struct {
char id[20]; //进程名称
int arrive_time; //到达时间
int service_time; //服务时间
int start_time; //开始时间
int finish_time; //完成时间
int wait_time; //周转时间
float wait_time_daiquan; //带权周转时间
}datatype;

//定义链表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
typedef struct node{
datatype data;
struct node * prior;//前一节点指针
struct node * next; //后一节点指针
}listnode* linklist;
linklist headlist_staticlist_rp;
listnode *p*q*m*n*rear*z;

//函数声明
int menu_select();
linklist enter(void);
void display(linklist head);
void display_static(linklist head);
void display_rp(linklist head);

//主函数
void main()
{
for(;;){
switch(menu_select())
{
case 1:
printf(“\t*******************************\n“);
printf(“\t************创建进程***********\n“);
printf(“\t*******************************\n“);
head=enter();
system(“cls“);
break;

case 2:
printf(“\t*******************************\n“);
printf(“\t**********显示就绪队列*********\n“);
printf(“\t*******************************\n“);
display(head);
break;
case 3:
printf(“\t*******************************\n“);
printf(“\t***********先来先服务**********\n“);
printf(“\t*******************************\n“);
display_static(head);
break;
case 4:
printf(“\t*******************************\n“);
printf(“\t***********短作业优先**********\n“);
printf(“\t*******************************\n“);
display_rp(head);
break;
case 0:
printf(“\n\t再 见!\n“);
return;

default :
break;
}
}
}

//****************
//菜单选择函数程序
//****************
int menu_select()
{
char sn;
printf(“\tFCFS和SJF的进程管理系统\n\n“);
printf(“\t==========================================\n“);
printf(“\t1.创建进程队列\n“);
printf(“\t2.显示就绪队列\n“);
printf(“\t3.先来先服务\n“);
printf(“\t4.短作业优先\n“);
printf(“\t0.退出\n“);
printf(“\t==========================================\n“);
printf(“\t请选择0-4:“);

while(true){

     
       scanf(“%d“&sn);
   getchar();
   if(52    {
 printf(“\n\t输入错误,重选0-4:“);
             sn=NULL;
 continue;
   }
  else
 break;
}
return sn;
}

//****************
//**建立进程队列**
//****************
linklist ente

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-06-23 23:57  os\
     目录           0  2011-06-23 23:57  os\Debug\
     文件       82944  2011-06-23 23:54  os\Debug\os.bsc
     文件      221232  2011-06-23 23:54  os\Debug\os.exe
     文件      261564  2011-06-23 23:54  os\Debug\os.ilk
     文件       20879  2011-06-23 23:54  os\Debug\os.obj
     文件      294288  2011-06-21 18:23  os\Debug\os.pch
     文件      541696  2011-06-23 23:54  os\Debug\os.pdb
     文件           0  2011-06-23 23:54  os\Debug\os.sbr
     文件       50176  2011-06-23 23:54  os\Debug\vc60.idb
     文件       69632  2011-06-23 23:54  os\Debug\vc60.pdb
     文件       11128  2011-06-24 12:32  os\os.cpp
     文件        4234  2011-06-20 14:17  os\os.dsp
     文件         512  2011-06-19 16:00  os\os.dsw
     文件       41984  2011-06-23 23:57  os\os.ncb
     文件       49664  2011-06-23 23:57  os\os.opt
     文件        1375  2011-06-23 23:54  os\os.plg
     文件       76571  2011-06-27 14:12  操作系统课程设计报告.DOC

评论

共有 条评论