uocs实时操作系统学习 4

  • 陌路绝途
  • LV5工程师
  • |      2014-06-18 18:02:41
  • 浏览量 849
  • 回复:5
3.1.8 调度器上锁和开锁
调度器上锁函数 OSSchedlock()的功能是用于禁止任务的调度,使任务保持对cpu的控制权。调度器开锁函数OSSchedUnlock()的功能是解除对任务调度的禁止。
调度器的开锁和上锁实现的原理是:对全局变量锁定嵌套计数器OSLockNesting进行操作的,OSLockNesting跟踪OSSchedLock()函数被调用的次数,允许嵌套深度达255层。调度器上锁即对变量OSLockNesting进行加1的操作,开锁即对OSLockNesting减1的操作。
空闲任务
空闲任务OSTaskIdle()是ucos必不可少的系统函数,当没有其他任务进入就绪态时,该任务立即转入运行态。空闲任务的优先级永远设为最低,即OS_LOWEST_PRIO永远不被挂起,也永远不能被删除。
void OSTaskIdle(void *pdata)
{
 pdata=pdata;
 for(;;){
         OS_ENTER_CRITICAL();
         OSIdleCtr++;
         OS_EXIT_CRITICAL();

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:5
我在164 2015-02-11
谢谢分享!
0   回复
举报
发布
凤凰息梧桐 2014-09-14
顶一下楼主
0   回复
举报
发布
小宝 2014-06-19
谢谢分享
0   回复
举报
发布
空中翱翔的老虎 2014-06-19
看看 顶顶
0   回复
举报
发布
冰山一角 2014-06-19
顶起。。。。
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子