先来先服务实验报告_第1页
先来先服务实验报告_第2页
先来先服务实验报告_第3页
先来先服务实验报告_第4页
先来先服务实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构实验报告安徽大学 先来先服务算法完成进程调度实验报告一、 实验目的:(1) 加深对进程的理解(2) 理解进程控制块的结构(3) 理解进程运行的并发性(4) 掌握先来先服务算法进程调度算法二、 实验内容:(1) 进程的调度策略采用先来先服务算法(2) 设计三个链队列,分别表示运行队列、就绪队列和完成队列(3) 用户输入进程标识符以及进程所需的时间,申请空间存放进程PCB信息。(4) 每个进程结束时,输出各进程的进程号,进程到达的时间,进程开始执行的时间,进程执行完成的时间,以及状态(即用W表示等待,R表示运行,F表示完成)三、 提示:先来先服务调度:按照进程进入的先后次序来分配处理器。先

2、进入就绪队列的进程优先被挑选,运行进程一旦占有处理器将一直运行下去,直到运行结束或被阻塞,这是中非剥夺式调度。进程控制块可以采用如下定义:typedef struct pcbchar ID3;char name10;char state;int arrivetime;int beginttime;int finishtime;int servicetime;float turnaroundtime;float weightedturnaroundtime;struct PCB *next;pcb;4、 实验代码: #include"stdio.h"#include"

3、;stdlib.h"typedef struct pcbchar ID3;char name10;char state;int arrivetime;int beginttime;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->arriveti

4、me:time;p1->begintime=time;printf("n现在时间是%d,开始运行作业%sn",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("

5、ID 到达时间 开始时间 服务时间 完成时间 周转时间 带权周转时间n");printf(""%s%6d%10d%8d%10.1f%10.2fn"",p1->ID,p1->arrivetime,p1->begintime,p1->servicetime,p1->finishtime,p1->turnaroundtime,p1->weightedturnaroundtime);void fcfs()int i,j;p=head;for(i=0;i<n;i+)if(p->state='F

6、')q=p;run_fcfs(q);p=p->next;void getInfo()int num;printf("n作业个数:");scanf("%d",&n);for(num=0;num<n;num+)p=(pcb*)malloc(sizeof(pcb);printf("依次输入:nID 进程名 到达时间 服务时间n");scanf("%st%st%dt%d",&p->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->begintime=0;p->finishtime=0;p->turnaroundtime=0;p->weightedturnaroundtime=0;p->next=NULL;p-state='F'q=p;void main()printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论