博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验五
阅读量:5036 次
发布时间:2019-06-12

本文共 2049 字,大约阅读时间需要 6 分钟。

#include
#include
#include
typedef struct PCB //定义进程控制块 { char ID[3]; //进程号 char name[10]; //进程名 char state; //运行状态 int arrivetime; //到达时间 int starttime; //进程开始时间 int finishtime; //进程结束时间 int servicetime; //服务时间 float turnaroundtime;//周转时间 float weightedturnaroundtime;//带权周转时间 struct PCB *next; //指向下个进程 }pcb; int time; //计时器 int n; //进程个数 pcb *head=NULL,*p,*q; //进程链表指针 void run_fcfs(pcb *p1) //运行未完成的进程 { time = p1->arrivetime > time? p1->arrivetime:time; p1->starttime=time; printf("\n现在时间是%d,开始运行作业%s\n",time,p1->name); time+=p1->servicetime; p1->state='T'; p1->finishtime=time; p1->turnaroundtime=p1->finishtime-p1->arrivetime; p1->weightedturnaroundtime=p1->turnaroundtime/p1->servicetime; printf("ID 到达时间 开始时间 服务时间 完成时间 周转时间 带权周转时间 \n"); printf("%s%6d%10d%10d%8d%10.1f%10.2f\n",p1->ID,p1->arrivetime,p1->starttime,p1->servicetime,p1->finishtime,p1->turnaroundtime,p1->weightedturnaroundtime); } void fcfs() //找到当前未完成的进程 { int i,j; p=head; for(i=0;i
state=='F') { q=p; //标记当前未完成的进程 run_fcfs(q); } p=p->next; } } void getInfo() //获得进程信息并创建进程 { int num; printf("\n作业个数:"); scanf("%d",&n); for(num=0;num
ID,&p->name,&p->arrivetime,&p->servicetime); if(head==NULL) {head=p;q=p;time=p->arrivetime;} if(p->arrivetime < time) time=p->arrivetime; q->next=p; p->starttime=0; p->finishtime=0; p->turnaroundtime=0; p->weightedturnaroundtime=0; p->next=NULL; p->state='F'; q=p; } } void main() { printf("先来先服务算法模拟"); getInfo(); p=head; fcfs(); }

实验总结

通过编写代码更加了解操作系统存储管理原理。

转载于:https://www.cnblogs.com/zzen/p/4628790.html

你可能感兴趣的文章
生日悖论
查看>>
VMware虚拟机配置文件(.vmx)损坏修复
查看>>
CSP URL映射
查看>>
LuoguP4357 [CQOI2016]K远点对
查看>>
外部类和内部类的创建调用实例2个
查看>>
理解JavaScript闭包(closure)
查看>>
1362
查看>>
理解信息管理系统
查看>>
post
查看>>
CentOs上搭建nginx
查看>>
对象遍历
查看>>
php点击排序
查看>>
jquery+php上传图片截图功能实现
查看>>
Git储藏与恢复
查看>>
【算法复习三】算法设计技巧与优化----算法设计技巧
查看>>
Linux-Ubuntu_ssh入门到精通
查看>>
Codeforces Round #450 (Div. 2) ABCD
查看>>
Jquery揭秘系列:实现$.fn.extend 和$.extend函数
查看>>
linux指令--赋予文件或文件夹执行权限
查看>>
VC++ 之 第八课 面向对象(四)
查看>>