uCOS-II学习笔记:实时操作系统(一)

本文介绍了uCOS-II实时操作系统的基础知识,包括前后台系统、代码临界区、任务、任务切换、调度算法等概念。重点讨论了不可剥夺型和可剥夺型内核的优缺点,以及解决优先级反转的方法,如动态改变任务优先级和优先级继承。还涵盖了互斥条件、死锁避免、任务间通信机制如消息邮箱和消息队列,以及中断延迟和响应时间的分析。
摘要由CSDN通过智能技术生成

1.前后台系统:前后台系统的架构用一句话来形容的话,就是一个大的循环,加上中断,就形成了一个整的体系。


假设来了中断需要处理模块3,如果模块3的处理是最紧迫的,但是当前cpu 只运行到模块1, 这样的话,必须还要承受模块2的运行时间延迟,才能轮到模块3的处理,当模块越多的时候很可能情况更糟糕。单个循环要解决此类问题的话,只能在中断里面去处理紧急事件,这样会造成中断执行太长,造成多层的中断嵌套,最终可能导致中断栈空间爆掉。更重要的是:不是所有的中断都是紧急的重要的,很可能各个要处理的模块优先级要大于不紧急的中断处理。这样造成的后果是不但各个模块间不能相互通讯,而且实时模块完全得不到处理,在一个中大型软件项目中,采用此类方法可以说是一种管理的灾难。(实时性差)

2.代码临界区

3.资源:任何为任务所占用的实体都可称为资源,可以是输入设备/输出设备,如打印机;也可以是一个变量,一个结构或一个数组。

4.任务:即线程,每个任务都是一个无限的循环,都可能处于以下5种状态之一:休眠态(相当于任务驻留在内存中,但并不被多任务内核所调度)、就绪态、运行态、挂起态(等待某一事件发生)和被中断态。

5.任务切换:保存正在运行任务的当

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于UCOSII实时操作系统 第一讲 初识uCOSII 4 1、uCOSII单任务实验: 4 2、uCOSII多任务实验: 6 3、任务状态之间的转换: 9 4、空闲任务和统计任务简介: 9 5、任务的三要件: 9 程序代码、私有堆栈、任务控制块 9 6、任务控制块TCB(P80) 9 7、创建任务 9 8、任务的栈空间 10 9、栈的增长方向: 10 第二讲 调度运行机制 11 1、任务挂起和恢复 11 2、任务挂起、恢复的状态转换 13 3、时钟节拍ISR 15 4、时钟节拍函数OSTimtick() 16 5、延时系统调用 16 第三讲 任务管理uCOSII 17 1、任务删除 17 2、任务请求删除实验 19 3、在源码中增加打印信息一般步骤 24 4、OSTaskDelReq()函数理解流程图 25 第四讲 互斥性信号量管理 26 1、优先级反转 26 2、信号量SEM使用 26 3、互斥信号量Mutux使用 29 4、关于信号量程序分析 32 5、关于互斥信号量分析 32 6、OSMutexPend()函数流程图 33 7、OSMutexPost()函数流程图 33 第五讲 消息邮箱 34 1、基本概念 34 2、对于OSMboxPend()理解 34 3、对于OSMboxPost()理解 34 4、消息邮箱管理一般程序 35 5、使用OSMboxQuery() 38 6、OSMboxPend()函数Timeout等待超时程序 38 7、OSMboxPost()函数邮箱状态为FUll程序 40 8、关于OSTimeTickHook(void)使用 41 第六讲 信号量集 43 1、信号量集案例 43 2、OSFlagPend()源码 46 3、OSFlagPost()源码 51 第七讲 动态内存 54 1、内存管理基本概念 54 2、内存管理基本概念 54 3、内存管理案例 54 4、案例分析 69 5、教学案例: 71
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值