- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[调研报告]调度算法
#include iostream
#include string
#define SIZE 100
#define OVERFLOW NULL
using namespace std;
//构建进程结构体
typedef struct QNode
{
string ProcessName;//进程名
int Priority;//进程优先级
int AllTime;//进程运行需要时间
int LeftTime;//完成进程还需的时间
}Node, *Process;
//函数声明
void Sort( Process process[], int size); // 按优先级从大到小排列
void sort1(Process process[], int size); // 按运行时间时间从小到大排列
void FCFS( Process process[], int num, int Timepice); // 先来先服务算法
void TimeTurn(Process process[], int num, int Timepice); // 时间片轮转算法
void PriorityProcess(Process process[], int num, int Timepice); // 优先级算法
void QueueProcess(Process process[], int num, int Timepice,Process a1[],Process a2[],Process a3[]);//多级反馈队列
//主函数
void main()
{
int a;
Process *process= new Process [SIZE];
Process *a1= new Process [SIZE];//用数组模拟队列的功能
Process *a2= new Process [SIZE];
Process *a3= new Process [SIZE];
for(int i=0;iSIZE;i++)//指针数组初始化
{
process[i]=new QNode;
a1[i]=new QNode;
a2[i]=new QNode;
a3[i]=new QNode;
}
for(int i1=0;iSIZE;i++)
{
a1[i]=new QNode;
}
int num;
cout输入进程个数:;
cinnum;
for(int j=0; jnum; j++)
{
string name;
int CpuTime;
int Leval;
cout输入第 j+1个进程的名字、运行时间和优先级:;
cinname;
cinCpuTimeLeval;
process[j]-ProcessName=name;
process[j]-AllTime=CpuTime;
process[j]-Priority=Leval;
}
for(int k=0;knum;k++)
process[k]-LeftTime=process[k]-AllTime;//对进程剩余时间初始化
coutendl;
cout1:先来先服务 2:时间片轮换 3:优先级调度 4:最短作业优先 5:多级反馈队列调度endl;
cout选择调度算法;
cina;
int TimePice;//时间片大小
cout输入此进程时间片大小:;
cinTimePice;
system(pause);
system(cls);
if(a==1)
FCFS(process,num,TimePice);
else if(a==2)
TimeTurn(process,num,TimePice);
else if(a==3)
{
Sort(process,num);
PriorityProcess(process,num,TimePice);
}
else if(a==4) // 最短作业算法,先按时间从小到大排序,再调用FCFS算法即可
{
sort1(process,num);
FCFS(process,num,TimePice);
}
else if(a==5)
{
您可能关注的文档
- [工学]数值分析与实验实践课程设计---复化辛卜生公式和龙贝格算法.pdf
- [工学]机械基础试题及答案.doc
- [四年级其他课程]小学第七册美术教学计划.doc
- [计算机]计算机信息系统安全管理制度.doc
- [建筑]宁波帮扶基金管理办法.doc
- [基础科学]环氧树脂压电复合材料性能的影响.pdf
- [计算机]第十四章硬盘的分区与格式化.ppt
- [计算机]dos模式下可以进行的命令行.doc
- [高三理化生]第三章 第三讲 针对训练 测与评.doc
- [其他资格考试]物业经营管理—第05章房地产市场与市场分析练习题.doc
- 广东省湛江市徐闻县(2024年)七年级下学期期中考试地理试题(含解析).docx
- 江西省南昌县(2024年)七年级下学期历史期末试卷.docx
- 广东省深圳市龙岗区四十八校(2024年)七年级下学期历史期中试卷.docx
- 广东省肇庆市高要区(2024年)七年级下学期历史4月期中历史试卷.docx
- 广东省阳江市江城区(2024年)七年级下学期生物期中考试试题.docx
- 广西贺州市八步区(2024年)七年级下学期历史期末试卷.docx
- 甘肃省定西市临洮县(2024年)七年级(下)月考历史试卷(含解析).docx
- 江西省赣州市经开区多校联考(2024年)七年级下学期历史期中试卷.docx
- 贵州省铜仁市沿河土家族自治县(2024年)七年级下学期历史4月期中试卷.docx
- 广西壮族自治区河池市宜州区(2024年)七年级下学期生物4月期中试卷.docx
文档评论(0)