操作系统之优先数法


操作系统之优先数法

#include 
using namespace std;
const int maxn = 1000;
/*  短进程优先法 */
struct P{
    string s;/// 进程名字
    string status; /// 进程当前的状态
    int prority;/// 优先数
    int need_time; /// 进程处理所需要的时间
    int time_remain;/// 还剩余多长时间需要处理

}pcb[maxn];
int n;///总共进程运行的数目
bool cmp(P a,P b)///按照优先数从大到小
{
    return a.prority>b.prority;
}
void put()
{
   for (int i=1;i<=n;++i)
   {
       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].prority;
        pcb[i].time_remain = pcb[i].need_time;/// 剩余时间,当前没有运行就
    }
    sort(pcb+1,pcb+1+n,cmp);/// 优先数大优先,进行排序
    run();
    return 0;
}