操作系统进程调度之多级反馈队列算法模拟实现

进j

 

以上为结果截图

 

进程类头文件

/
//进程类的头文件

// LProcess.h
#include <string.h>
#include <iostream>
using namespace std;


//进程类
class LProcess
{
private:
	int process_ID;            //进程号
	string process_Name;       //进程描述
	int	exeu_time;             //进程要求的执行时间
	int priority;              //进程优先级
	int completed_time;        //进程已经获得的时间片
	int TimeForCurrentQueue;   //已获得当前队列的时间片
public:
	//构造函数
	LProcess();
	LProcess(int id);
	LProcess(int id, int time, string name);
	// 获得进程ID(进程号)
	int getId();
	// 设置进程ID(进程号)
	void setId(int id);
	// 设置进程描述
	void setProName(string name);
	// 读取进程描述
	string getProName();
	// 设置进程执行时间
	void setExeuTime(int time);
	// 获得进程执行时间
	int getExeuTime();
	// 设置进程优先级
	void setPriority(int pri);
	// 获得进程优先级
	int getPriority();
	// 设置进程已完成的时间片
	void setCompleTime(int time);
	// 设置进程已完成的时间片
	int getCompleTime();
	//已获得当前队列的时间片
	int getTFCQ();
	// 设置已经获得当前队列的时间片
	void setTFCQ(int time);
};


 

//进程类的实现

//LProcess.cpp
#include "LProcess.h"


LProcess::LProcess()
{
	process_ID = 0;
	process_Name = "Undefined";
	exeu_time = 1;
	priority = 0;
	completed_time = 0;
	TimeForCurrentQueue = 0;
}
//构造函数
LProcess::LProcess(int id)
{
	process_ID = id;
	process_Name = "Undefined";
	exeu_time = 1;
	priority = 0;
	completed_time = 0;
	TimeForCurrentQueue = 0;
}
//构造函数
LProcess::LProcess(int id, int time, string name)
{
	process_ID = id;
	process_Name.assign(name);
	exeu_time = time;
	priority = 0;
	completed_time = 0;
	TimeForCurrentQueue = 0;
}

//  获得进程号
int LProcess::getId()
{
	return process_ID;
}
// 设置进程ID(进程号)
void LProcess::setId(int id)
{
	process_ID = id;
}
// 设置进程描述
void LProcess::setProName(string name)
{
	process_Name.assign(name);
}

// 读取进程描述
string LProcess::getProName()
{
	return process_Name;
}

// 设置进程执行时间
void LProcess::setExeuTime(int time)
{
	exeu_time = time;
}
// 获得进程执行时间
int LProcess::getExeuTime()
{
	return exeu_time;
}

// 设置进程优先级
void LProcess::setPriority(int pri)
{
	priority = pri;
}
// 获得进程优先级
int LProcess::getPriority()
{
	return priority;
}

// 设置进程已完成的时间片
void LProcess::setCompleTime(int time)
{
	completed_time += time;
}
// 设置进程已完成的时间片
int LProcess::getCompleTime()
{
	return completed_time;
}

//已获得当前队列的时间片
int LProcess::getTFCQ()
{
	return TimeForCurrentQueue;
}
// 设置已经获得当前队列的时间片
void LProcess::setTFCQ(int time)
{
	TimeForCurrentQueue += time;
}





进程的测试函数
//进程的测试函数
//LProcess *lp1 = new LProcess(1);
//LProcess *lp2 = new LProcess(2);
//LProcess *lp3 = new LPro
  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值