linux优先级浅析

本文探讨了Linux中进程优先级的划分,包括0-139的140个级别,其中0-99分配给实时进程,100-139给非实时进程。实时进程使用FIFO或RR调度,非实时进程使用OTHER调度。在实时进程API中,设置优先级的反向转换导致数值越大,优先级在应用层看似越高,但实际上内核中0仍然具有最高优先级。

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

最近在优化RTlinux的实时APP,在各种资料之间查找关于linux优先级的相关资料,终于对linux进程优先级有一些了解。

首先在linux中优先级级别只有0-139这140个级别,这是固定的,数字越小优先级别越高,所以优先级为0的进程具有最高优先级。linux进程分为实时进程和非实时进程,这140个优先级中,linux把0-99分配给实时进程,100-139分配给非实时的普通进程,所以实时进程的优先级总是比非实时的普通进程要高,大部分情况下我们所用到的用户进程都是非实时的普通进程,用户进程都是在100-139这个优先级相对较低的范围折腾。

linux的进程调度策略分为FIFO,RR,和OTHER(NORMAL)三种。实时进程使用FIFO或RR调度,非实时进程使用OTHER调度。实时进程调度策略(FIFO,RR)和非实时进程调度策略上的主要不同点在于FIFO和RR在有高优先级进程的情况下,低优先级进程不可能运行。FIFO调度的特点是在没有更高优先级进程出现或主动释放CPU的情况下,进程可以一直运行,直到任务结束。RR调度将同优先级的进程放到一个队列,在没有更高优先级进程的情况下同优先级的进程公平分配CPU时间,也就是说相比于FIFO,RR调度的进程可以被同优先级的进程抢占,RR调度在同优先级的进程间引入时间片轮转机制。OTHER则是在所有不同优先级的进程间引入时间片轮转机制,所有优先级的进程根据优先级的高低进行分时运行,通过动态调整进程优先级使所有进程都有运行机会,在OTHER调度中就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值