进程调度模拟

进程调度模拟

ID:43470498

大小:111.00 KB

页数:7页

时间:2019-10-04

进程调度模拟_第1页
进程调度模拟_第2页
进程调度模拟_第3页
进程调度模拟_第4页
进程调度模拟_第5页
资源描述:

《进程调度模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、洛阳理工学院实验报告系别计算机系班级学号姓名课程名称计算机操作系统实验日期2012/10/24实验名称进程调度成绩实验目的:通过本次实验,加深对进程概念的理解,进一步掌握进程状态的转变及进程调度策略。实验条件:微计一台、MicrosoftVisualStudio2008实验原理:设计程序模拟进程的时间片轮转法调度过程。假设初始状态为:有ready个进程处于就绪状态,有blocked个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过counter个时间片,唤醒处于阻塞队列队首的进程。实验内容:#include"Common.h"#includ

2、e#includevoidcreateq(structQueue**queue);//创建队列voidenterq(structQueue*q,structQueueNodex);//x结点入队列qstructQueueNodedeleteq(structQueue*q);//删除队首结点voiddispatch(structQueue*rq,structQueue*bq,structQueue*runq,intcounter);//模拟调度函数intInit();structQueue*rq=NULL,*bq=NULL,*runq=NULL;//read

3、y队列、blocked队列、run队列voidmain(){intinterval=0;//唤醒处于阻塞队列队首的进程时间间隔interval=Init();printf("进程调度开始");dispatch(rq,bq,runq,interval);7/7printf("进程调度结束");getchar();getchar();}//创建进程队列(运行、就绪、阻塞)voidcreateq(structQueue**queue){*queue=(structQueue*)malloc(sizeof(structQueue));(*queue)->head=(*queue)->tail=

4、(structQueueNode*)malloc(sizeof(structQueueNode));}voidenterq(structQueue*q,structQueueNodex){if(q==NULL)return;structQueueNode*temp=(structQueueNode*)malloc(sizeof(structQueueNode));temp->PCB=x.PCB;q->tail->next=temp;q->tail=temp;}structQueueNodedeleteq(structQueue*q){structQueueNodedeleteQueueNode

5、,*temp;if(q->head!=q->tail){temp=q->head->next;if(q->head->next!=q->tail){q->head->next=temp->next;}else{q->tail=q->head;}deleteQueueNode.PCB=temp->PCB;free(temp);returndeleteQueueNode;}}7/7intInit(){structQueueNodequeueNode;intready=0,blocked=0,item=0;createq(&rq);//创建空队列createq(&bq);createq(&runq)

6、;printf("创建就绪进程队列->输入就绪进程个数:");scanf("%d",&ready);while(item++输入阻塞进程个数");scanf("%d",&blocked);item=0;whil

7、e(item++

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。