ucos-II 操作系统学习(6)-- 任务状态转换图 (上)

1、操作系统的任务状态图

![在这里插入图片描述](https://img-blog.csdnimg.cn/15dfdc730cf342fb90233f9cf981f4e3.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值