本文共 658 字,大约阅读时间需要 2 分钟。
******************************************* 一、任务 ******************************************* 任务状态:挂起、阻塞、就绪、睡眠。 任务可以在任何一种状态被删除。 Wind内核里有256种优先级,0最高,255为最低。 任务调度控制函数 kernelTimeSlice() 控制轮转调度 taskPrioritySet() 改变任务优先级 taskLock() 禁止任务调度 taskUnlock() 允许任务调度
当任务访问一个可能会被中断服务程序访问的变量或者数据结构时,可以使用intLock()实现互斥。 通过taskLock()、taskUnlock()抢占上锁可禁止优先级的抢占,中断服务程序仍然可以执行。 所有应用任务的优先级应该在100-250之间;但是驱动程序支持的任务(与中断服务程序关联的任务)优先级能够位于51-99。 任务堆栈的空间分配:为了避免堆栈溢出和破坏任务堆栈可使用下列方法: 在最初分配堆栈空间时,分配比预先估计大一些的空间;然后周期性地调用checkStack()函数监控;若可以安全使用更小的空间,将修改分配空间的尺寸。 一般vxWorks使用任务ID号来定位任务,约定ID号为0的表示任务调用。 vxWorks操作系统不需要惟一的任务名,但为了避免混乱,建议使用惟一的任务名。 vxWorks操作系统的任务命名规则:所有从目标机启动的任务以字母t开头,而从主机启动的任务以字母u开头。
转载地址:https://mao0514.blog.csdn.net/article/details/21078047 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!