读书人

进程的定时有关问题

发布时间: 2012-03-25 20:55:17 作者: rapoo

进程的定时问题
问题如下: 在单处理器条件下,所有进程都是按照时间片来轮流使用CPU的,如果一个进程里设置了一个timer,那么定时器就开始计时,在定时器到点的时候操作系统是怎么处理的?直接切换成那个进程?原理是什么?

[解决办法]
所有进程按照时间片来轮流使用CPU这一功能是内核自行调度完成的,与进程内部的定时器无关;
一个进程内部设置的timer时间到了之后,除非此时进程自己主动申请调度,否则与调度无关;
如何时刻,一个进程主动申请调度,内核则按优先策略调度运行最优先的进程;如果不存在比申请进程更优先的进程,该进程将继续运行。
[解决办法]

探讨

那如果存在比申请进程更优先的进程,那不是就会出现系统不能及时响应申请进程的定时函数,申请进程的定时跟实际不就会有误差了吗?


[解决办法]
探讨

引用:

那如果存在比申请进程更优先的进程,那不是就会出现系统不能及时响应申请进程的定时函数,申请进程的定时跟实际不就会有误差了吗?


同一时刻,CPU只能做一件事情,既然进程主动申请调度,就意味它愿意主动放弃权力,让给具有更高优先级的进程。出现误差是他自愿的,有什么问题?
任何系统,多个进程运行时,任一时刻,也只有一个进程在运行,其他进……

读书人网 >单片机

热点推荐