首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

进程的定时有关问题

2012-03-25 
进程的定时问题问题如下: 在单处理器条件下,所有进程都是按照时间片来轮流使用CPU的,如果一个进程里设置了

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

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

探讨

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


[解决办法]
探讨

引用:

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


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

热点排行