版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 一、实验项目名称:进程调度算法的设计二、实验原理:时间片轮转法:系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的队尾;然后,再把处理机分配给就绪队列中的新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一个给定的时间内均能获得一时间片的处理机执行时间。三、实验目的:通过对进程调度算法的设计,深入理解进程调度的原理四、实验内容:1编写程序实现RR算法五、实验器材(设备、元器件):装有VC+6.0的P
2、C机一台六、实验步骤:1打开VC,设计编写程序的源代码2编译运行程序的源代码3分析检验程序的结果是否正确4总结实验结果及结论时间片轮转法源代码:#include <stdio.h>#define M 5 /物理页数#define Myprintf printf("|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|n")typedef struct PCBint ID;int ReachTime;int TotalTime;PCB;/进程号,到达时间和服务时间typedef struct NOTE /备份int ID;int TotalTi
3、me;NOTE;PCB AM; /5个进程PCB aM;NOTE temp;int queue50; /记录调度的进程int K=0;/调度进程数组的标识void INIT()/初始化int i;for(i=0;i<M;i+)Ai.ID=-1;int GetNum()/计算进程数int i,j=0;for(i=0;i<M;i+)if(Ai.ID!=-1)j+;return j;int GetReach(int time)/找出到达进程号int i;for(i=0;i<M;i+)if(ai.ReachTime<=time)ai.ReachTime=100;return i
4、;return -1;int GetInsert()/找出插入位置int i;for(i=0;i<M;i+)if(Ai.ID=-1)return i;return -1;void Forward(int num)/前移int i;for(i=0;i<num-1;i+)Ai.ID=Ai+1.ID;Ai.TotalTime=Ai+1.TotalTime;Anum-1.ID=-1;void Process()/执行进程queueK=A0.ID;K+;A0.TotalTime-;temp.ID=A0.ID;temp.TotalTime=A0.TotalTime;void main()int
5、 i;int time;int t=0;int reach;int insert;int num;printf("RR算法nn");INIT();for(i=0;i<M;i+)printf("请输入进程ID:");scanf("%d",&ai.ID);printf("请输入到达时间:");scanf("%d",&ai.ReachTime);printf("请输入服务时间:");scanf("%d",&ai.TotalTime)
6、;for(i=0;i<M;i+)/运行时间t=t+ai.TotalTime;for(i=0;i<50;i+)/初始化queuei=-1;for(time=0;time<=t;time+)reach=GetReach(time);if(reach!=-1)/有进程到达insert=GetInsert();Ainsert.ID=areach.ID;Ainsert.TotalTime=areach.TotalTime;num=GetNum();if(num=1)continue;/进程数为1else/进程数不为1Process();Forward(num);if(temp.Tota
7、lTime!=0)Anum-1.ID=temp.ID;Anum-1.TotalTime=temp.TotalTime;else/没有进程到达num=GetNum();if(num=1)/进程数为1Process();if(temp.TotalTime=0)A0.ID=-1;else if(num=0)continue;/进程数为0elseProcess();Forward(num);if(temp.TotalTime!=0)Anum-1.ID=temp.ID;Anum-1.TotalTime=temp.TotalTime;printf("n");printf("调度顺序为:n");Myprintf;for(i=0;i<50;i+)if(queuei!=-1)printf("|%2d ",queuei);printf("|n");Myprintf;printf("n");八、实验数据及结果分析:时间片轮转调度算法结果:九、实验结论: 本次实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年无人机遥感工程师资格考试试题及答案
- T/ICIA 0024-2024内蒙古自治区建筑业优秀企业认证标准
- 公司元宵节晚会主持词
- 2026年广东省深圳市保安员上岗资格证考试题库及答案
- 2026年货运车辆安全管理实务考试试卷试题及答案
- 2026年秋季学期小学辽师大版(三起)(新教材) 英语五年级上册教学计划含教学进度表
- 2026年深圳市社区工作者(专职网格员)招聘考试试卷(第二套·含答案)
- 2026年注册建筑师考试备考冲刺模拟试卷含答案解析
- 2026秋小学湘艺版音乐一年级上册(新教材)教学计划含教学进度表
- T/ZGCSC 004-2024物联网操作系统微内核接口技术要求
- 2026年迪庆州德钦县国投(集团)公司及下属二级公司工作人员招聘(25人)笔试备考试题及答案详解
- 第3课 云中锦书来课件2026-207学年人教版五年级上册美术
- 烟草遴选历年试题及答案
- 中国垂体瘤诊疗指南2025版
- 审计技能大赛试题及答案
- 钢筋模板混凝土监理实施细则
- 学校招生奖惩制度
- 2025年注册验船师资格考试(A级-船舶检验专业能力)历年参考题库含答案
- 养殖场生物安全课件
- 材料物理性能检验员岗位面试问题及答案
- 北京老旧小区加装电梯的可行性分析与研究
评论
0/150
提交评论