1、操作系统的任务状态图
1.1 睡眠态:
任务已经被装入内存了,但是还没有准备好运行。在调用OSTaskCreate EXT() 或 OSTaskCreate ()函数创建任务之前就是属于睡眠态。系统还没给它准备运行时所需要的数据结构(代码从电脑里面下载到开发板STM32 板子里面了)
1.2 就绪态:
调用ucos-II的系统函数OSTaskCreateEXT() 函数创建一个任务后,任务就进入了就绪态。处于就绪态的任务操作系统已经为其运行配置好了任务控制块等数据结构。
1.3 运行态:
任务真正的占有CPU,得到运行,这时运行的代码就是任务的代码。
1.4 阻塞态:
任务在等待资源(比如:信号量)的时候,就会在那里等待,等啊等啊等(小翠等傩送,阿珍等阿强),这种状态就叫阻塞态
1.5 挂起态:
当任务在运行的时候,突然来了一个中断,正在运行的任务被剥夺了CPU的使用权,就会进入挂起状态。
1.6 各个任务之间状态的切换就是操作系统对多任务的管理过程
2. 系统API 接口 os_task.c
2.1 创建任务:OSTaskCreateExt / OSTaskCreate
2.2 删除任务:OSTaskDel
2.3 挂起任务:OSTaskSuspend
2.4 恢复任务:OSTaskResume
2.5 其它相关接口:(看函数名字就知道函数的作用了)
2.5.1、 OSTaskChangePrio
2.5.2、OSTaskDelReq
2.5.3、OSTaskNameGet
2.5.4、OSTaskNameSet
2.5.5、OSTaskStkChk (检测每个任务使用了多大的堆栈空间)
2.5.6、OSTaskQuery
2.5.7、OSTaskRegGet
2.5.8、OSTaskRegGetID
2.5.9、OSTaskRegSet
2.5.10、OS_TaskReturn
2.5.11、OS_TaskStkClr
参考资料:https://www.bilibili.com/video/BV11E411F7UM/?spm_id_from=333.788.recommend_more_video.-1&vd_source=10218787c9c7290c47f5514ff94cbdbe