linux 进程调度
来源:互联网 发布:淘一兔淘宝信誉查询 编辑:程序博客网 时间:2024/06/09 20:09
linux 进程调度
参考Robert love的著作:
2.6内核版本以后的linux实现了抢占式内核,实现了内核抢占。
进程调度顺序:
1. 实时进程 > 非实时进程
2. 实时进程之间,比较实时优先级,0到99,越大越高。
3. 实时优先级相同的实时进程之间,根据调度策略来执行。分FIFO和RR两种。
1)其中RR方式,是轮询的,在3.5.3内核版本中,rt_sched_class中task_tick的RR_TIMESLICE为100ms。当RR时间片超时后,进程被放到“实时优先级”相同的实时进程队列的队尾。
2)FIFO方式,则不轮询。
3)新加入的实时进程,放在同优先级队列的头部?尾部?3.5.3版本中不一定?
4. 非实时进程之间,采用完全公平调度策略CFS进行调度,与nice值有很大关系。nice值越小,“处理器使用比”越小,如果“使用比”比当前进程小,则新进程投入运行。
5. 内核线程的执行有自己的时机,不在此范围内,不用考虑。
进程调度的时机:
一、用户抢占:当有TIF_NEED_RESCHED标记
1.系统调用返回用户空间时;
2. 中断处理程序返回用户空间时;
二、内核抢占:
1、中断处理程序返回内核空间时;
2、内核再一次具有可抢占性的时候;如执行spin_unlock等。具体参见preempt_check_resched函数,要求当前进程有TIF_NEED_RESCHED标记,并且thread_info的preempt_count为0,则表示可以抢占了。
3、显示调用schedule();
4、进程被阻塞;阻塞为调用prepare_to_wait,修改了当前进程的状态,并且释放锁的时候进行了类似于情况2的检查。
进程的阻塞和唤醒很好!(prepare_to_wait,wake_up)
1、案例:当年vxworks时?????????
select也可以换成epoll,效率更好!
2、内核中大量使用此方法,效率高。
- Linux 进程调度工具
- linux进程调度解析
- linux进程调度策略
- Linux 进程调度原理
- linux进程调度政策
- Linux进程调度时机
- Linux 进程调度机制
- Linux 进程调度原理
- linux进程调度方法
- Linux 进程调度原理
- linux 进程调度
- Linux 进程调度分析
- Linux 进程调度原理
- linux进程调度关键词
- linux进程调度浅析
- linux进程调度浅析
- linux进程调度
- linux进程调度
- oracle 如何增加一天,增加一小时,增加一分钟
- 如何修改NavigationController的后退按钮标题
- 无线网络-LTE (05) 通信过程之 S1 Release procedure
- 基于openCV的png读取透明图片
- linux 消息序列(进程间通信)
- linux 进程调度
- UVA 10189
- servlet小结~面试用
- Android Camera(三)
- Ajax 通过XMLHttpRequest 对象完成首页的登录功能
- CPU卡的线路加密与线路保护(附源码)
- 今生,不再许你那一世的春暖花开
- android http
- LINQ编程之LINQ to SQL