进程调度——优先数算法

本文探讨了进程调度中的优先数算法,重点讲解了在系统中如何处理优先级高的进程,尤其是当进程进入over状态但未从调度队列中删除的情况。内容包括如何将这些进程转移到gameover数组,确保调度的公平性和效率。
摘要由CSDN通过智能技术生成


自己写的小程序,实验作业,有什么不对的地方还请高手指导啊啊啊啊-------------



#include<stdio.h>
#include<stdlib.h>
typedef struct process {
 int symbol;//进程号
 struct process *conn;//指向下一个进程的指针,但是饿哦写的程序中没有用到,只是赋了值
 int ordernum;//优先数,通过优先数排序决定进程占用cpu顺序,后面的程序中党两个进程优先数相等时,也要交换位置
 int cpunum;//占用cpu的时间,初值为0
 int neednum;//进程所需要执行的时间
 int state;//进程状态,1表示ready,2表示running,3表示over,初始化时为1
}pro;

void createpro(pro *p) {//此函数通过输入创建进程
 int sy, co, ord, cpu, nee, stat;//刚开始的时候输入写的比较复杂。。。
 printf("Symbol");
 scanf("%d",&sy);
 printf("ordernum");
 scanf("%d",&ord);
 printf("cpunum");
 scanf("%d",&cpu);
 printf("neednum");
 scanf("%d",&nee);
 printf("state");
 scanf("%d",&stat);
 p->symbol = sy;
 p->ordernum = ord;
 p->cpunum = cpu;
 p->neednum = nee;
 p->state = stat;
}
//另外下面注释掉的三个函数都是一开始不知道怎么给结构体排序写的。。。
/*
测试数据
1
12
0
3
1
2
9
0
4
1
3
6
0
2
1
4
3
0
3
1
*/
/*int reordernum(pro* p) {
 return p->ordernum;
}*/
void ino
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值