Chinaunix首页 | 论坛 | 博客
  • 博客访问: 557297
  • 博文数量: 142
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 16:28
文章分类

全部博文(142)

文章存档

2016年(10)

2015年(60)

2014年(72)

我的朋友

分类: LINUX

2015-09-16 16:54:47

多任务系统分为两类: 抢占式和非抢占式
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:
     严格按照优先级执行,高优先级进程先执行,直到退出或者有更高优先级的进程抢占才退出

阅读(638) | 评论(0) | 转发(0) |
0

上一篇:python 爬虫

下一篇:sigsuspend

给主人留下些什么吧!~~