柠檬试题库
search
首页 计算机 公务员 驾照 关于

在uC/OS-II中,OSSched()函数是任务调度的前导函数,用于判断进行任务调度的条件是否满足。下列满足条件的变量值为( )。


  • A.OSIntNesting=0,OSLockNesting=0
  • B.OSIntNesting=0,OSLockNesting=1
  • C.OSIntNesting=1,OSLockNesting=0
  • D.OSIntNesting=1,OSLockNesting=1
热度🔥258
参考答案:A
解析:

【解析】OSSched()函数是任务调度的前导函数,判断进行任务调度的三个条件是否满足。这三个条件是:(1)中断嵌套层数共享全程变量OSIntNesting=0,也就是所有的ISR已经执行完毕。(2)任务调度加锁层数共享全程变量OSLockNesting=0,也就是调度没有被禁止。调度器上锁函数OSSchedlock()对共享变量OSLockNesting做加1操作,用于禁止任务调度,直到任务完成后,再调用给调度器开锁函数OSSchedUnlock()对共享变量OSLockNesting做减1操作。(3)就绪表查找到的最高优先级任务的优先级比当前任务的优先级高。故本题选择A。
复制题目向AI提问