UCOS/II任务切换不是每个时钟节拍一次吗?
UCOS切换任务是不是只有在当前任务自己延时、等待邮件、等待信号量、等待消息队列等这几个情况发生的时候才会执行任务调度?我原来以为每个时钟节拍都会检查调度一次任务,今天又...
UCOS切换任务是不是只有在当前任务自己延时、等待邮件、等待信号量、等待消息队列等这几个情况发生的时候才会执行任务调度?我原来以为每个时钟节拍都会检查调度一次任务,今天又看了下源码发现OSTimeTick里没有执行调度,只是把准备好的任务放进就绪表望前辈指导!
展开
2个回答
2013-07-16
展开全部
任务切换不是每个tick一次的,切换任务需要有触发的,例如你提到的自己延时、等待邮件、等待信号量、等待消息队列...一般是等待任务自己延时到了。要注意任务的优先级和延时的关系---即高优先级的任务的延时要低于低优先级任务的延时--个人见解,错误请纠正。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
2013-07-16
展开全部
节拍中断返回前会调用OSINTEXIT函数,在这个函数里会发生高优先级任务切换,每个时钟节拍系统会进行一次任务切换,保证当前执行的任务永远是就绪表中的最高优先级任务。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询