版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《传感与测试技术》2023-2024学年第一学期期末试卷
- 国有土地委托经营管理合同
- 合同编504条与民法典61条
- 大班音乐课件P《春雨沙沙》
- 2024年六盘水客运从业资格证考试一点通
- 2024个人短期借款合同书
- 会议备忘录范文6篇-20220308150300
- 2024中国工商银行借贷合同范本
- 2024版家政服务合同样本
- 2024个人小额贷款合同书范本
- 《万维网服务大揭秘》课件 2024-2025学年人教版新教材初中信息技术七年级全一册
- 2024年新华社招聘应届毕业生及留学回国人员129人历年高频难、易错点500题模拟试题附带答案详解
- 人教版(2024新版)七年级上册英语Unit 5单元测试卷(含答案)
- (完整版)新概念英语第一册单词表(打印版)
- 美食行业外卖平台配送效率提升方案
- 中国民用航空局信息中心招聘笔试题库2024
- 芯片设计基础知识题库100道及答案(完整版)
- 2025届高考语文一轮复习:文言文概括和分析 课件
- 年产10万套新能源车电池托盘项目可行性研究报告写作模板-申批备案
- 《大学美育》 课件 4.模块五 第二十四章 时空综合的影视艺术之美
- 2022-2023学年广东省广州市天河区六年级(上)期末数学试卷(含答案)
评论
0/150
提交评论