进程调度:最大(静态)优先数优先算法+简单轮转法代码设计

8 篇文章 0 订阅 ¥99.00 ¥99.00

原题:实验一 进程调度-代码设计并调试实验

1.编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。

“最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。

静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。

动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如:在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。

我选择使用静态优先数实现最大优先数优先算法,编写代码如下:

#include<stdio.h>
#include<stdlib.h>
#define getpcb(type) (type*)malloc(sizeof(type))
 
struct pcb { /*定义进程控制块PCB*/
    char name[10];//进程名或进程标识符
    char state;//进程状态:w即wait,R即Running
    int super;//进程优先数
    int ntime;//运行时间
    int rtime;//已消耗处理机时间
    struct pcb* link;//指向就绪队列下一个进程的PCB
}*ready=NULL,*p;//指向队首、当前进程PCB
typedef struct pcb PCB;
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赴星辰大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值