#include<bits/stdc++.h>
using namespace std;
struct PCB{
//进程名
char process_name[20];
//进程id
int process_id;
//优先数
int priority_number;
//到达时间
int arrive_time;
//运行时间
int run_time;
//已经运行cpu的时间
int already_run_cpu;
//进程状态
char process_state[10];
//阻塞原因
char obstruction cause[20];
//创建PCB的优先顺序
friend bool operator < (const PCB x,const PCB y)
{
return x.priority_number<y.priority_number;
}
}PCB;
//系统当前的进程数
int system_all_process;
//系统当前CPU运行的时间
int system_run_cpu;
//创建进程process的优先队列
priority_queue <PCB>process;
//创建一个就绪队列
queue<PCB>queue_ready;
//创建一个运行队列
queue<PCB>queue_run;
//创建一个阻塞队列
queue<PCB>queue_block;
//创建一个进程
void create_process(char name[20],int priority,int arrive,int run_time,int run_cpu)
{
PCB pcb=(PCB)malloc(sizeof(PCB));
pcb.process_name=name;
pcb.already_run_cpu=run_cpu;
pcb.arrive_time=arrive;
pcb.obstruction_cause="暂未阻塞";
pcb.priority_number=priority;
pcb.run_time=run_time;
pcb.process_state="就绪";
pcb.process_id=system_all_process;
queue_ready.push(pcb);
}
void Calculation_run_cpu()
{
cout<<"当前系统CPU运行时间为:";
cout<<system_run_cpu<<endl;
}
//根据进程的id让进程执行I/O事件
void implement_io(int pbc_id)
{
}
int main()
{
return 0;
}