没有合适的资源?快使用搜索试试~ 我知道了~
CPU调度模拟完整算法 zqruc班的同学资源共享啊CPU调度模拟完整算法 zqruc班的同学资源共享啊
资源推荐
资源详情
资源评论
#include <string.h>
#include <windows.h>//Sleep(ms)
#include <stdio.h>
#include <stdlib.h>
//#include <malloc.h>
typedef struct PCB
{/*定义进程控制块PCB*/
char name;//进程名A B C D E
int cputime;//占用CPU时间
int runtime;//运行时间即周转时间:从进程提交到完成的时间
int super;//进程优先数
int state; //进程状态,等待0,运行1,结束-1
struct PCB *next;
}PCB,*Link;
//typedef struct pcb PCB;
int disp(Link r)
{/*建立进程显示函数,用于显示当前进程*/
printf("\nPCBname state super cputime runtime\n");
printf("|%c\t",r->name);
printf("|%d\t",r->state);
printf("|%d\t",r->super);
printf("|%d\t",r->cputime);
printf("|%d\t",r->runtime);
printf("\n");
return 0;
}
int resetPCBList(Link &L)
{
PCB* p;
for(p=L->next;p;p=p->next)
{
p->state=0;
p->runtime=p->cputime;
}
return 0;
}
int Creat_Pcb_Queue(Link &L,int &num)
{//创建以L为头指针的PCB链队
printf("下面开始进程创建\n");
PCB *p,*r;
int i;
L=(Link)malloc(sizeof(PCB));
L->next=NULL;
L->cputime=0;
L->name ='0';
L->runtime=0;
L->state=-1;
L->super=0;
printf("请输入需要创建的进程数目\n");
scanf("%d",&num);
getchar();//万分重要!!!!!!!!!!!!!!
for(i=1,r=L;i<=num;i++)
{
p=(PCB*)malloc(sizeof(PCB));
// printf("创建进程成功");
r->next=p;
r=r->next;
r->next=NULL;
printf("\n");
{
p->state=0;
p->runtime=p->cputime;
}
return 0;
}
int Creat_Pcb_Queue(Link &L,int &num)
{//创建以L为头指针的PCB链队
printf("下面开始进程创建\n");
PCB *p,*r;
int i;
L=(Link)malloc(sizeof(PCB));
L->next=NULL;
L->cputime=0;
L->name ='0';
L->runtime=0;
L->state=-1;
L->super=0;
printf("请输入需要创建的进程数目\n");
scanf("%d",&num);
getchar();//万分重要!!!!!!!!!!!!!!
for(i=1,r=L;i<=num;i++)
{
p=(PCB*)malloc(sizeof(PCB));
// printf("创建进程成功");
r->next=p;
r=r->next;
r->next=NULL;
printf("\n");
剩余10页未读,继续阅读
资源评论
lizhicq2
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功