• 大小: 1.83MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: 其他
  • 标签:

资源简介

FCFS HRN SJF 多级反馈队列 时间片轮转 首次适应算法 最高优先数 最坏适应算法 最佳适应算法 九个算法的代码及可执行文件,包括实验报告

资源截图

代码片段和文件信息

#include 
#include 
#include 
#define getpch(type) (type*)malloc(sizeof(type))
//#define NULL 0
struct jcb { /* 定义作业控制块JCB */
int jnum;      //作业号
char jname[10];   //作业名
char state;      //作业状态
int atime;  //作业提交时间
int ntime;    //作业需运行时间
int stime;   //作业开始执行时间
int ftime; //作业完成时间
int ctime;   //作业周转时间
float wtime;//作业带权周转时间
struct jcb* next;//下个节点的指针
}*p;
typedef struct jcb JCB;
jcb *ready=NULL*rear=NULL;  //未完成作业队列
jcb *finish=NULL*frear=NULL;  //完成作业队列
int t=0;        //cpu时间计数器用于显示cpu当前时刻

void insert()
{
  if(ready==NULL)
  {
  ready=p;
  rear=ready;
  }
  else
  {
rear->next=p;
rear=p;
  }
}

int getident()//让用户只能输入正整数
{
char ch;
int i = 0;
fflush(stdin);
ch = getchar();
while(ch == ‘\n‘){
printf(“\tf输入不能为空..请重新输入\n“);
fflush(stdin);
ch = getchar();
}
while(ch != ‘\n‘){
if(ch > ‘9‘ || ch < ‘0‘){
printf(“\t输入有误!!输入只能为正整数,请重新输入...\n“);
fflush(stdin);
i = 0;
ch = getchar();
}else{
i =  i*10 + (ch-‘0‘);
ch = getchar();
}
}
return i;
}

void input() /* 建立作业控制块输入函数*/ 

  int inum; 
  printf(“\n 请输入作业总个数:“); 
  num=getident();
  for(i=1;i<=num;i++) 
  { 
p=getpch(JCB);
    printf(“\n 请输入作业号“);
p->jnum=getident();
    printf(“\n 输入作业名:“); 
    scanf(“%s“p->jname); 
printf(“\n 输入作业提交时间:“);
p->atime=getident();
    printf(“\n 输入作业需运行时间:“); 
    p->ntime=getident(); 
    printf(“\n“); 
p->stime=0;  //作业开始时间默认为0
    p->ftime=0;  //作业完成时间默认为0
p->ctime=0;     //作业周转时间默认为0
p->wtime=0;      //作业带权周转时间默认为0
    p->state=‘w‘;  //状态默认为等待态
    p->next=NULL; 
    insert();    /* 调用insert函数*/ 
  } 


int count()  //用于计算JCB个数

  int l=0; 
  JCB* pr=ready; 
  while(pr!=NULL) 
  { 
    l++; 
    pr=pr->next; 
  } 
  return(l); 
}

void disp(JCB *pr) /*建立作业显示函数用于显示当前作业*/ 

  printf(“\njnum \t jname \t state \t atime \t ntime \t stime \t ftime \t ctime \t wtime \n“); 
  printf(“ %d\t %s\t %c\t %d\t %d\t %d\t %d\t %d\t %f\t\n“pr->jnumpr->jname
       pr->statepr->atimepr->ntimepr->stimepr->ftimepr->ctimepr->wtime); 

void check() /* 建立作业查看函数 */ 

  JCB* pr; 
  pr=p;
  if(pr!=NULL)
  {
   printf(“\n当前正在运行的作业是:%s“pr->jname); /*显示当前运行作业*/ 
   disp(pr);
  }   
  pr=ready; 
  printf(“\n当前就绪队列状态为:\n“); /*显示就绪队列状态*/ 
  while(pr!=NULL) 
  { 
    disp(pr); 
    pr=pr->next; 
  }
  pr=finish;
  printf(“\n当前完成队列状态为:\n“); /*显示完成队列状态*/
  while(pr!=NULL) 
  { 
    disp(pr); 
    pr=pr->next; 
  }

void finsert() /*建立作业完成插入函数*/ 

  printf(“\n 作业 [%s] 已完成.\n“p->jname); 
  if(finish==NULL)
  {
    finish=p;
    frear=finish;
  }
  else
  {
frear->next=p;
frear=p;
  }
  p=NULL;

void running() //建立作业就绪函数作业运行时间到更改状态 

  if(p->atime>=t)
  {
  p->stime=p->atime;
  t=(p->stime)+(p->ntime);
  p->ftime=t;
  }
  else
  {
    p->stime=t;
t+=p->ntime;
p->ftime=t;
  }
  p->ctime=t-(p->atime);
  p->wtime=(float)(p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1798656  2015-01-15 19:42  3212005944林翠丽\操作系统实验报告.doc

     文件       4545  2015-01-14 03:07  3212005944林翠丽\FCFS.cpp

     文件      94540  2015-01-14 03:07  3212005944林翠丽\FCFS.exe

     文件       6430  2015-01-14 03:14  3212005944林翠丽\HRN.cpp

     文件      95162  2015-01-14 03:14  3212005944林翠丽\HRN.exe

     文件       5705  2015-01-14 03:11  3212005944林翠丽\SJF.cpp

     文件      94559  2015-01-14 03:11  3212005944林翠丽\SJF.exe

     文件       3906  2015-01-14 02:25  3212005944林翠丽\多级反馈队列.cpp

     文件      93415  2015-01-14 02:25  3212005944林翠丽\多级反馈队列.exe

     文件       4012  2015-01-14 01:38  3212005944林翠丽\时间片轮转.cpp

     文件      93047  2015-01-14 01:38  3212005944林翠丽\时间片轮转.exe

     文件       7336  2015-01-14 03:42  3212005944林翠丽\最佳适应算法.cpp

     文件      94653  2015-01-14 03:42  3212005944林翠丽\最佳适应算法.exe

     文件       7334  2015-01-14 03:45  3212005944林翠丽\最坏适应算法.cpp

     文件      94653  2015-01-14 03:45  3212005944林翠丽\最坏适应算法.exe

     文件       5882  2015-01-14 01:44  3212005944林翠丽\最高优先数.cpp

     文件      94270  2015-01-14 01:44  3212005944林翠丽\最高优先数.exe

     文件       6664  2015-01-14 03:48  3212005944林翠丽\首次适应算法.cpp

     文件      94095  2015-01-14 03:48  3212005944林翠丽\首次适应算法.exe

     目录          0  2015-01-14 04:46  3212005944林翠丽

----------- ---------  ---------- -----  ----

              2698864                    20


评论

共有 条评论