嵌入式操作系统基础知识(二)

来源:互联网 发布:中文维基百科数据库 编辑:程序博客网 时间:2024/05/01 22:52

2016年4月13日,CATL


这次笔记是接上一篇笔记继续整理的。

uC/OS-Ⅱ基础本概念

  1. 任务优先级
    根据任务的重要性决定。

  2. 静态优先级
    任务以及任务的时间约束在程序编译时时已知的。

  3. 动态优先级
    实时内核需要在支持动态优先级时避免出现优先级反转。

  4. 优先级反转
    简单地来说,优先级反转就是因为低优先级任务先占用了互斥资源,高优先级任务如果也需要同一互斥资源,就必须等待低优先级任务释放资源之后才能执行,如果高低优先级任务之间有一个任务,那么这个任务会先于高优先级任务执行完毕,表现为优先级反转。
    解决办法:优先级继承,优先级天花板协议。
  5. 任务优先级分配
    • 单调执行率调度法RMS
    • 一种设计原则,CPU的利用率小于60%~70%
    • 长姿势了而已
  6. 互斥条件
    满足互斥条件的方法:
    • 关中断:实时内核需要尽量缩短关中断时间,中断互斥
    • 使用测试并置位指令:用一个简单的flag指示当前资源是否被占用,部分任务互斥
    • 禁止做任务切换:关闭任务调度,所有任务互斥
    • 利用信号量:完成部分任务间的互斥
  7. 死锁
    预防死锁的方法:
    • 先得到所有的资源再运行,做下一步工作;
    • 用同样的顺序申请多个资源;
    • 释放资源时使用相反的顺序;
0 0
原创粉丝点击