就绪态是指得到了CPU的控制权并正在运行的任务所处的状态
在进入临界区之前必须开中断,执行完临界区代码之后要立即关中断。
μC/OS-II完成任务切换所需要的时间取决于任务的自用栈的大小。
任务控制块TCB是用于保存任务状态和属性的数据结构,在任务创建时被初始化。
μC/OS-II在任务切换前需要保存CPU寄存器,还要在就绪表中查出优先级最高的任务(由OSSched()任务调度函数完成),所以完成任务切换所需要的时间是CPU 有多少寄存器需要出入栈,以及相关调度函数的执行速度。
所谓临界区,即某些大家都使用到的一些变量,例如全局变量,当我们的某个函数要修改全局变量时,如果有中断打断了该中断过程,就会造成全局变量的混乱,为了避免此时其他中断打断该修改过程,我们可以在修改前将中断关闭,修改完成之后再开中断。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题