操作系统之轮转法


操作系统之轮转法

#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;
}