
RTOS基础知识实时操作系统RTOS是一种体积小巧确定性强时序可预测的执行模式的计算机操作系统通常用于需要在严格时间限制内对外部事件做出反应的嵌入式系统且RTOS比通用操作系统体积更小重量更轻因此非常适用于内存计算和功率受限的设备。FreeRTOS只提供核心的实时调度功能任务间通信定时和同步原语。多任务处理多任务处理操作系统在同一时间内通过CPU时间轮转优先级调度或多队列等方式同时管理多个任务进程或线程使每个任务看似每一时刻都独占CPU。相比于linux等通用操作系统像FreeRTOS这样小型的RTOS通常将线程称为任务由于不支持虚拟内存因此对于FreeRTOS来说进程与线程之间没有区别。FreeRTOS不支持虚拟内存所有任务共享同一地址空间即没有内存保护任务间可以相互访问内存上下文切换开销更小调度策略更灵活优先级抢占为主更强调确定性实时性上下文切换开销小的原因寄存器集少通常只有8~16个核心寄存器而linux除了30寄存器外还需要保存页表基地址寄存器ASID等因此上下文保存与恢复量小无内存管理单元MMU开销无需切换页表刷新TLB栈结构简单只需保存必要寄存器每个任务有独立的栈但都在同一个地址空间调度器设计精简就绪列表只有几个按优先级分组查找下一个就绪任务O(1) 复杂度。每个任务都有独立堆栈但由于所有任务共享同一地址空间所以所有栈也都在同一地址空间相互之间无隔离任务间可相互访问栈因此当其中一个任务栈溢出时会破坏其他任务。实时调度实时嵌入式系统旨在对现实世界的事件作出及时响应。这些事件通常有截止时间实时嵌入式系统必须在此事件之前响应RTOS调度策略必须确保遵循这些截止时间要求。以优先级为主确保最高优先级任务能先被执行若存在多个能够运行的同等最高优先级任务则可选择在这些任务之间公平地分配处理时间。kernel 特性FreeRTOS 锁信号量FreeRTOS任务与协程FreeRTOS 队列FreeRTOS任务通知FreeRTOS软件定时器FreeRTOS 内存管理FreeRTOS 事件组 钩子函数 低功耗支持 SMPFreeRTOS debug参考FreeRTOS 文档 - FreeRTOS™