-
如何理解裸机系统与RTOS
-
什么是裸机系统
裸机系统:(前后台系统)
前台系统 中断处理系统
后台系统 应用程序
裸机系统缺点:
结构复杂 实现功能都放在无限循环
实时性差 (应用程序)轮流执行
Delay 空等待,CPU不执行其他代码
什么是RTOS
RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。(及时处理)
RTOS有哪些特点:
分而治之 实现功能划分为多个任务
无限循环 每个任务都是无限循环
抢占式 高优先级任务抢占低优先级任务
延时函数 任务调度
注意:中断可以打断任意任务
任务可以同等优先级
RTOS工作机制:
1. 任务管理和调度
RTOS通过任务管理器(TaskScheduler)对任务进行管理和调度。每个任务都是一个独立的执行单元,具有独立的栈空间和任务控制块(TCB)。任务的创建可以通过特定的函数(如xTaskCreate)完成,并需要指定任务函数、任务名、栈大小、优先级等参数。任务调度器根据任务的优先级和状态,决定下一个执行的任务。任务的切换是由RTOS内核自动完成的,无需开发者手动干预。FreeRTOS中,任务调度器采用抢占式调度策略,即高优先级的任务可以抢占正在执行的低优先级任务。
2. 实时性和可靠性
RTOS的主要特点是提供及时响应和高可靠性。RTOS能够在规定时间内对事件进行响应,确保事件得到实时处理。RTOS提供了一些组件用于简化任务对资源的访问、事件的处理、以及任务之间的通信,有效降低任务之间的代码耦合,从而提高系统的可靠性。
3. 多任务处理和资源管理
RTOS支持多任务处理,通过“虚拟化”,每个任务好像独占CPU。这种机制提升了CPU利用率,避免等待造成的CPU空转。当不得不空转时,RTOS也可以让CPU进入低功耗模式,减少能量消耗。RTOS还提供了资源管理的机制,确保关键任务得到及时执行,同时有效管理系统资源。
4. 调度策略和优先级
在RTOS中,每个任务都有一个优先级,优先级越高的任务在就绪态时越容易被调度执行。RTOS通过巧妙设置任务的优先级,可以实现对系统资源的有效管理。抢占式调度策略允许高优先级的任务中断低优先级任务的执行,确保关键任务能够及时得到处理。
5. 系统响应和事件处理
RTOS的核心功能之一是快速响应外部事件。当外部事件发生时,RTOS能够迅速接受事件并进行处理,其处理结果能够在规定时间内控制生产过程或对处理系统做出响应。这种快速响应能力是通过RTOS内核的高效调度和任务管理实现的。
6. 低功耗模式和节能
RTOS还支持低功耗模式,当CPU不需要执行任务时,可以进入低功耗状态以减少能量消耗。这种机制对于电池供电的嵌入式设备尤为重要,可以显著延长设备的使用寿命。
通过上述机制,RTOS能够为实时应用程序提供稳定、可靠、高效的运行环境。无论是在工业控制、医疗设备、消费电子产品还是其他需要快速响应的领域,RTOS都发挥着至关重要的作用。
OneOS简介
OneOS是一个可裁剪、可剥夺型、轻量型的物联网操作系统 (硬实时操作系统)
OneOS不仅包含RTOS所需的所有功能,还包含设备驱动以及组件的功能
OneOS主要针对物联网领域,因此“网络”以及传感器连接是其重点实现功能。
OneOS架构:
OneOS Lite总体架构采用分层设计,主体由驱动、内核、组件、安全框架组成。采用一个轻量级内核加多个系统组件的模式,加上海量硬件的适配支持,使OneOS Lite 具备极高的可伸缩性与易用性。操作系统整体架构如下图:
OneOS有哪些特点:
图形工具辅助开发 OneOS-Cube:系统配置,项目构建以及MDK工程
无需手动移植 使用图形工具构建MDK工程
CubeMX配置 针对驱动配置
丰富的组件 网络协议、文件系统、第三方组件等等
简易开发 一站式开发工具OneOS Studio
OneOS与FreeRTOS的区别:
OS内核对比:
包含设备驱动框架比较:
包含组件比较:
OneOS与其他很多RTOS如FreeRTOS、uC/OS的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件。