如果您在Vxworks中启用了循环,并且您的任务被更高优先级的任务抢占,那剩下的时间片会发生什么?
您的任务将恢复执行并完成剩余的时间片 .
请注意,由于时间切片的粒度为1个时钟周期,因此您将发生一次性抖动 .
例如:您使用10个时钟滴答时间片启用了循环法 . 一个时钟滴答是10毫秒 . 您希望每个时间片100毫秒 .你会在5毫秒(第一个勾号中间)被抢先一步 . 你应该跑95ms以上,但VxWorks认为你还有10个滴答 .
如果任务以11ms的速度恢复cpu,则会执行99ms以上 .如果任务以19ms的速度恢复cpu,则会执行91ms以上 .
每当你被抢占时,你的任务可能会在绝对时间内执行/ - 1滴答 .
1 回答
您的任务将恢复执行并完成剩余的时间片 .
请注意,由于时间切片的粒度为1个时钟周期,因此您将发生一次性抖动 .
例如:
您使用10个时钟滴答时间片启用了循环法 . 一个时钟滴答是10毫秒 . 您希望每个时间片100毫秒 .
你会在5毫秒(第一个勾号中间)被抢先一步 . 你应该跑95ms以上,但VxWorks认为你还有10个滴答 .
如果任务以11ms的速度恢复cpu,则会执行99ms以上 .
如果任务以19ms的速度恢复cpu,则会执行91ms以上 .
每当你被抢占时,你的任务可能会在绝对时间内执行/ - 1滴答 .