μcos-II任务堆栈、任务控制块和任务代码

来源:互联网 发布:为什么要探索宇宙 知乎 编辑:程序博客网 时间:2024/06/05 02:53

μcos-II中的任务由任务堆栈、任务控制块和任务代码三部分所组成,其每部分具体作用如下:


任务堆栈——任务堆栈是用来保存一个任务运行时CPU的一些寄存器里面存放的一些数据、任务指针、程序状态字PSW等等,而当该任务需要挂起时,任务堆栈会保存该任务的运行现场,即保存运行到此时的一些数据等,然后当该任务重新运行时,就会把堆栈里的内容重新复制到CPU的相关寄存器,从而使任务继续从挂起的部分重新运行下去。


任务控制块——任务控制块简单来讲就是结构体,它结构体里面记录的内容是任务的堆栈指针、任务的当前状态、任务的优先级别和任务的等待延迟时间等一些任务的基本信息,因此同样如果当任务挂起时,该任务当前的一些基本状态便会保存在任务控制块中,而当任务重新运行时,那么CPU就可以重新获得该任务挂起那一刻的状态。


任务代码——这个就很容易理解了,就是具体任务运行的代码程序。


这三个具体关系可参考下图:


总的来说,任务控制块记录任务的基本状态信息,任务堆栈存储任务中的一些基本数据,任务代码就是具体的执行程序。


原创粉丝点击