【操作系统】实验一:处理机调度仿真

这篇博客详细介绍了如何使用C++进行操作系统中的处理机调度仿真实验,涵盖了作业调度和进程调度的重要概念。
摘要由CSDN通过智能技术生成

修改了很多,目前最新版。

以下是代码(C++):

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


using namespace std;


typedef struct
{
    string name;//作业名。
    int RunTime;//运行时间。次关键字。
    int PRI;//优先级。
    int ATime;//到达时间。主关键字。
    //struct iWork* next;//下个作业。
} iWork;


iWork Work[100];//输入队列。
iWork SupportWork[100];//后备队列。
iWork ReadyWork[100];//就绪队列。
iWork FinishWork[100];//完成队列。
int Number=0,Number1=0,Number2=0;
int Qian1=0,Qian2=0,Qian3=0;
int Pidao=0,N=0;


void Print(string n,int t1,int t2,int p)
{
    Work[Number].name=n;
    Work[Number].RunTime=t1;
    Work[Number].PRI=p;
    Work[Number].ATime=t2;
}


void PrintWork(int i)
{
    cout<<"  "<<Work[i].name
        <<"         "<<Work[i].ATime
        <<"          "<<Work[i].RunTime
        <<"            "<<Work[i].PRI<<endl;
}


void PrintSupportWork(int i)
{
    cout<<"               "<<SupportWork[i].name
        <<"           "<<SupportWork[i].ATime
        <<"          "<<SupportWork[i].RunTime
        <<"       "<<SupportWork[i].PRI<<endl;
}


void PrintReadyWork(int i)
{
    cout<<"               "<<ReadyWork[i].name
        <<"           "<<ReadyWork[i].ATime
        <<"          "<<ReadyWork[i].RunTime
        <<"       "<<ReadyWork[i].PRI<<endl;
}


void SortWork()
{
    iWork A;
    for(int i=0; i<Number-1; i++)
        for(int j=0; j<Number-1-i; j++)
            if(Work[j].ATime>Work[j+1].ATime)
            {
                A=Work[j];
                Work[j]=Work[j+1];
                Work[j+1]=A;
            }
            else if(Work[j].ATime==Wo
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值