μC/OS-Ⅱ操作系统有多种在任务间共享数据和实现任务间通信的方法。下列说法中正确的是( )。

admin2021-05-11  34

问题 μC/OS-Ⅱ操作系统有多种在任务间共享数据和实现任务间通信的方法。下列说法中正确的是(    )。

选项 A、函数OSQAccept(  )在没有接收到消息时会挂起任务
B、函数OSSemPost(  )释放信号量
C、函数OSFlagCreate(  )可以被任务或中断服务程序调用
D、中断服务程序不能通过ECB向任务发出信号

答案B

解析 函数OSSemPost()释放信号量。OSSemPost()首先检查是否有任务正在等待该信号量,如果没有,则OSSemPOSt()函数将信号量的计数值加1,函数返回。如果有任务正在等待该信号量,则其中最高优先级的任务将得到信号量并进入就绪状态。如果得到信号量的任务的优先级比调用OSSemPost()函数的任务的优先级高,则任务调度函数将进行任务切换。否则,调用OSSemPost()的任务将继续执行。如果在中断服务程序中调用OSSemPost()函数,则不会发生任务切换。如果需要,任务切换要等到中断嵌套的最外层中断服务程序调用OSIntExit()函数时才进行。根据OSSemPOSt()函数的返回值可以判断信号量释放是否成功:OS_NO_ERR表示信号量释放成功;OS_SEM_OVF表示信号量的值溢出。故本题选择B选项。
转载请注明原文地址:https://kaotiyun.com/show/DH0Z777K
0

最新回复(0)