1 / 5
文档名称:

处理机调度时间片轮转调度算法.doc

格式:doc   大小:76KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

处理机调度时间片轮转调度算法.doc

上传人:799474576 2020/6/24 文件大小:76 KB

下载得到文件列表

处理机调度时间片轮转调度算法.doc

相关文档

文档介绍

文档介绍:实验一处理机调度算法的实现1、实验名称:处理机调度算法的实现2、预****要求:了解操作系统处理机调度的基本概念,处理机调度程序的功能,常用的处理机调度算法。C或C++编程方法与语句格式,提前初步编好实验程序。3、实验方式:通过实验室的微机上机,实际调试程序。4、实验要求:正确的设计有关的数据结构与各个功能模块,画出程序的流程图,编写程序,程序执行结果应正确。5、实验环境:windows操作系统环境下的个人微机C或C++程序设计语言6、实验分组:1人/组7、实验容:1、设定系统中进程数,每一个进程用一个进程控制块表示。输入每个进程的“优先数”和“要求运行时间”。3、为了调度方便,将进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队列的连接情况。4、处理机调度总是选队首进程运行。采用时间片轮转调度算法5、若要求运行时间为零,则将其状态置为“结束”,且退出队列。6、运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程8、其它要求:根据自己实验容在课下查资料,设计出基本的程序框架。在实验课堂规定的时间,自己独立完成程序的编制。在规定的时间,书写上交实验报告书。程序截图:源程序#include<iostream>#include<string>usingnamespacestd;intNum;int*priority=newint[Num];int*time=newint[Num];char*name=newchar[Num];voidshowData(){ for(inti=0;i<Num;++i) { cout<<"\t进程名字:"<<name[i]<<"\t进程时间:"<<time[i]<<"\t进程优先度:"<<priority[i]<<endl; }}voidinitValue(){ for(inti=0;i<Num;++i) { cout<<"进程名字:"; cin>>name[i]; cout<<"进程时间:"; cin>>time[i]; cout<<"进程优先度:"; cin>>priority[i]; cout<<endl; } system("cls"); cout<<endl<<"没有排序的进程:"<<endl; showData(); for(inti=0;i<Num;i++) { for(intj=0;i+j<Num-1;j++) { if(priority[j]<priority[j+1]) { inttemp=priority[j]; chartemp1=name[j]; inttemp2=time[j]; priority[j]=priority[j+1]; name[j]=name[j+1]; time[j]=time[j+1]; priority[j+1]=temp; name[j+1]=temp1; time[j+1]=temp2; } } } cout<<endl<<"排序后的进程:"<<endl; showData(); cout<<"-----------------------------------------------"<<endl;}voidRound_robin_method(){ intflag=Num;//记录剩余进程数 intround=0;//轮转数