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

linux 进程调度

2016-04-06 17:29 337 查看
linux进程优先级

1. nice值 -20 ~ 19 默认0

nice值越大,进程优先级越低

2. 实时优先级 0 ~ 99

实时优先级越高,进程优先级越高

任何实时进程的优先级都高于普通的进程,也就是说实时优先级和nice优先级处于互补相交的两个范畴

linux默认的进程调度模型是时间循环共享 SCHED_OTHER

1.每个进程轮流使用CPU一段时间(时间片),满足了公平性和响应度(一个进程使用CPU前无需等待太长的时间)

2.nice值允许进程间接地影响内核的调度算法,进程的调度不是严格按照nice值的层次进行,nice高的进程,不会无法用到CPU,只是使用CPU的时间变少,即权重减少了

实时进程调度策略

1.实时应用要求能快速地获取CPU的控制权,抢占当前所有的进程

2. 一般有两种策略 SCHED_RR和SCHED_FIFO

SCHED_RR的进程和SCHED_FIFO的进程如果优先级一样? 先入队列的先处理

SCHED_RR:

1.高优先级的先运行,直到1)时间片到了2)自行退出3)被终止4)被高优先级的进程抢占了

2.同一优先级的进程,按照时间片轮询

SCHED_FIFO:

严格按照优先级执行,高优先级进程先执行,直到退出或者有更高优先级的进程抢占才退出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: