资源简介

1、设计一个程序实现基于优先数的时间片轮转调度算法调度处理器。 2、假定系统有5个进程,每个进程用一个进程控制块PCB开代表 3、每次运行所设计的处理器调度程序调度进程之前,为每个进程任意确定它的要求运行时间。 4、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行 已运行时间+1 来模拟进程的一次运行,表示进程已经运行过一个单位时间。 .5、在所设计的程序中应有显示或打印语句,能显示或打印每次被选中的进程名以及运行一次后进程队列的变化。 6、为进程任意确定要求运行时间,运行所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。 7、设有一个就

资源截图

代码片段和文件信息

#include 
using namespace std;
#define NULL 0
typedef struct PCB
{
char name;
struct PCB *next;
double begin;
double need;
double dTime;
int prio;
char condition;
}PCB*linkList;


 typedef struct Queue
 {
linkList front;
linkList rear;
 }queueList;

void initQueue(queueList &q)
{
linkList p;
p = (linkList)malloc(sizeof(PCB));
q.front = q.rear = p;
}

void creatPCB(linkList *Waitint n)
{

cout<<“请输入进程名、优先数、到达时间、要求运行时间“< for(int i = 0;i < n ;i ++)
{
cin >>Wait[i]->name>>Wait[i]->prio>>Wait[i]->begin>>Wait[i]->need;
Wait[i]->condition = ‘d‘;//表示还未加入就绪队列的标志
Wait[i]->dTime = 0;

}


}

int Comepare(linkList *Waitint n)
{
int flag1 = 1;
for(int i = 0;i < n; i++)
{
if(Wait[i]->condition != ‘f‘)
{

评论

共有 条评论