RTOS与GPOS详解:哪个操作系统适合你的项目
现代软硬件解决方案大多需要操作系统。操作系统帮助设备平稳运行并处理海量任务。作为电子爱好者,你可能需要深入了解项目需要哪类操作系统。本文提供RTOS与GPOS对比、各类应用及详细信息。若你只是想了解这些操作系统,也来对地方了。
准备好了吗?开始吧。
通用操作系统(GPOS)
GPOS能管理大量进程并完成单位时间内的执行——即吞吐量。有时为达高吞吐量,GPOS会延迟高优先级线程执行,转而执行五六个低优先级进程。若多个低优先级任务排队,GPOS会先运行这些任务以维持高吞吐量。
计算机工作站
大多数GPOS使用公平策略调度进程和线程到CPU。此策略让GPOS提供桌面和服务器应用所需的高整体输出。但无法保证高优先级任务或时间关键线程在低优先级线程前执行。因此GPOS更适合同时执行多任务的设备。
个人电脑(PC)
实时操作系统(RTOS)
RTOS设计用于高精度处理时间关键应用。属于此类的操作系统必须为每个关键操作规定最大时间周期,即时限系统。RTOS较复杂,我们为你拆解。RTOS三大基本功能:调度器、RTOS服务、同步与消息传递。
调度器
调度器有三种状态:就绪态(可切换至运行态)、运行态(任务执行中)、阻塞态(任务无法运行,被发送至阻塞态)。三种调度技术:
抢占式任务调度/基于优先级调度
涉及优先级依赖的时间分配。可为每个任务分配唯一优先级。
协作式调度
为每个任务分配固定时间片。若任务未完成执行,将丢失生成数据并等待下一轮。内核负责创建任务、改变任务优先级、改变任务状态、删除任务。
RTOS服务
每个操作系统核心是内核,负责管理和分配资源。任务不总能引起CPU注意,内核必须提供其他服务:时间服务、输入输出服务、中断处理服务、内存管理服务、设备管理服务。
内核图示
消息传递与同步
消息功能提供RTOS与任务间通信方式。消息服务包括邮箱、管道、消息队列、事件标志、信号量。邮箱、消息队列、管道可在任务间发送消息;事件标志同步所有任务间活动;信号量同步共享资源访问。
RTOS(实时操作系统)与GPOS(通用操作系统)对比
基本区别在于应用性质(是否时间关键、单一或多用途)。自动取款机(ATM)是时间关键系统典型:按确认键后等待4-5秒取款,没人愿等五分钟。PC多用途,非时间关键,可同时运行多应用。智能手机同理:保存文档可能耗秒或分,取决于运行进程数。GPOS适用于非时间关键应用和系统(Linux、Windows等)。RTOS适用于需快速可预测响应的时间关键应用(UCOS、VxWorks等)。
ATM
智能手机
Linux系统
以下类别进一步解释差异:
任务调度
GPOS调度不关注优先级,以高吞吐量方式处理。RTOS调度始终聚焦优先级,所有高优先级进程在低优先级任务前执行。
Windows
延迟问题
GPOS主要问题:非确定性调度延迟——线程越多延迟累积越大。RTOS无此问题,所有线程和进程有有界延迟(在设定时间限内执行)。
经济与硬件因素
RTOS适用于独立和低端系统(售货机、ATM),体积小、重量轻。GPOS适用于通用和高端设备(工作站、个人电脑)。
高端设备
可抢占内核
高优先级进程优先执行的主要问题是可抢占内核。若内核不可抢占,内核请求会立即覆盖所有其他运行进程。RTOS内核可抢占,GPOS内核不可抢占。即GPOS中高优先级进程不能抢占内核调用,而RTOS中高优先级进程必要时总抢占低优先级任务,将内核调用外任务视为外部进程。
评估与选择用于嵌入式产品开发的RTOS
评估符合嵌入式系统要求的嵌入式RTOS前,确保候选RTOS支持关键特性。为方便你,列出关键特性清单:
调度器
操作系统调度器决定何时执行各任务。可根据可用资源和优先级挂起/恢复任务。嵌入式RTOS必须内置调度器,允许实时任务执行。
软件定时器
软件定时器使函数在指定时间窗口执行。手动为RTOS创建软件定时器不易也不建议,确保选用内置软件定时器的RTOS。
队列机制
队列允许任务交换信息。内置队列机制的RTOS支持任务间消息交换。
执行跟踪工具
跟踪工具可观察实时系统实时行为,开发团队可追踪检测错误和任务执行。
低内存占用
需将RTOS集成到MCU平台,候选RTOS内存占用应低,总大小不超过MCU总大小的10%。
RTOS架构
总结
简而言之,RTOS和GPOS在各自适用应用中表现良好。RTOS吞吐量虽低于GPOS,不代表其吞吐量低。GPOS处理大量重进程,RTOS处理较少任务,吞吐量相对系统负载。RTOS核心关注可预测执行模式和及时执行,而非高吞吐量;GPOS则相反。以上是GPOS与RTOS全部内容。如有评论或问题,欢迎联系,我们乐意帮助。
工业技术