您的位置:首页 > 运维架构 > Linux

每日阅读7之linux内核设计与实现——实时调度与调度系统调用

2013-03-28 13:45 246 查看
linux普通的进程调度策略是SCHED_NORMAL,实现在CFS调度器类中

linux 提供二种实时调度策略SCHED_RR,SCHED_FIFO,实现在linux实时调度器中,实现在kernel/sched_rt.c中。。

SCHED_FIFI为优先级抢占的实时调度策略,一旦较高优先级的进程获得资源,便会一直占用,值得阻塞或自己显示的放弃处理器资源。

SCHED_RR为待时间片的SCHED_FIFO,同一优先级的实时进程按照时间片轮流执行。。

静态优先级

软实时

实时优先级,默认为0~99,SCHED_NORMAL的优先级nice值共享了这一取值空间,nice(-20~19)对应100~139

linux提供了一个系统调用族,用来管理和调度程序相关的参数。

(1)操作处理进程优先级,调度策略 sched_setscheduer()/sched_getscheduer(),nice()

(2)进程与处理器绑定 cpu_allowed,sched_setaffinity()/sched_getaffinity()

(3)显示的将处理器交给其他进程 sched_yeild()系统调用

调度部分,暂时OVER!!!

下一步,研究内核中断机制。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: