• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: C/C++
  • 标签:

资源简介

1.进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。 2.每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。    3.进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 4.进程的运行时间以时间片为单位进行计算。  5.每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 6.就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个

资源截图

代码片段和文件信息

#include “stdio.h“ 

#include  

#include  

#define getpch(type) (type*)malloc(sizeof(type)) 

#define NULL 0 

struct pcb { /* 定义进程控制块PCB */ 

char name[10]; 

char state; 

int super; 

int ntime; 

int rtime; 

struct pcb* link; 

}*ready=NULL*p; 

typedef struct pcb PCB; 

  

  

void sort() /* 建立对进程进行优先级排列函数*/ 



PCB *first *second; 

int insert=0; 

if((ready==NULL)||((p->super)>(ready->super))) /*优先级最大者插入队首*/ 



p->link=ready; 

ready=p; 



else /* 进程比较优先级插入适当的位置中*/ 



first=ready; 

second=first->link; 

while(second!=NULL) 



if((p->super)>(second->super)) /*若插入进程比当前进程优先数大*/ 

{ /*插入到当前进程前面*/ 

p->link=second; 

first->link=p; 

second=NULL; 

insert=1; 



else /

评论

共有 条评论

相关资源