操作系统之轮转法
#include
using namespace std;
const int maxn = 1000;
/* 轮转时间片法 无须排序 */
struct P{
string s;/// 进程名字
string status; /// 进程当前的状态
int Rotation;/// 轮转时间片
int need_time; /// 进程处理所需要的时间
int time_remain;/// 还剩余多长时间需要处理
int take_cpu;/// 已经运行的时间(指的是当前连续占用了多长时间,一旦其他程序调用就归零)
}pcb[maxn];
int n;///总共进程运行的数目
int sum = 0;
void put()
{
cout<<"-------------------"<<"当前所有进程状态"<<"-----------------------"<>n;
for (int i=1;i<=n;++i)/// 进程一般从1开始
{
pcb[i].status = "Ready";/// 开始都处于就绪状态
cout<<"请输入第"<>pcb[i].s;
cout<<"请输入第"<>pcb[i].need_time;
cout<<"请输入第"<>pcb[i].Rotation;
pcb[i].time_remain = pcb[i].need_time;/// 剩余时间
pcb[i].take_cpu = 0;/// 当前还未运行,没有占用
}
run();
return 0;
}