进程调度——简单轮转算法

本文深入探讨了操作系统中进程调度的简单轮转算法,详细解释了其工作原理、优缺点,并通过实例分析了算法的执行过程。通过对时间片的设定和调度策略的说明,展示了如何实现进程的有效切换,以达到系统资源的公平分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct process{//进程控制块
    int symbol;//进程标识符
    struct process *next;//指向下一个进程的指针,也是只赋了值
    int neednum;//进程所需要运行的时间
    int cpunum;//占用cpu的时间,初始值为0
    int timepiece;//时间片
    int state;//状态,1为ready,2为running,3为over,初始为1
}pro;
int judge(pro *p){//判断进程占用cpu的时间是否够了一个时间片,或是时间片的倍数
    int flag=0;
    if((p->cpunum%p->timepiece)==0){
        flag=1;
    }
    return flag;
}
void reorder(pro *p[],int n){//当某个进程够了一个时间片后,将它换到队尾
    pro *t;
    int i;
    t=p[0];
    for(i=0;i<n-1;i++){
        p[i]=p[i+1];
    }
    p[n-1]=t;
}
void createpro(pro *p){//进程初始化
    printf("symbol    ");
    scanf("%d",&p->symbol);
    printf("neednum    ");
    scanf("%d",&p->neednum);
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值