您好!欢迎光临深圳市润泽五洲电子科技有限公司,我们竭诚为您服务!

专业一站式SMTPCBA生产工厂

打造电子制造行业领军品牌

服务咨询热线:

13380355860
当前位置:首页>新闻资讯>技术文档 >

RTOS 与 GPOS:完整指南

  • 发表时间:2021-09-09 08:13:59
  • 来源:本站
  • 人气:30

在这个现代时代,我们看到了许多需要操作系统的软件和硬件解决方案。操作系统帮助这些设备平稳运行并处理大量不同的任务。但是,作为电子爱好者,您很可能需要更深入地了解您的项目需要哪种类型的操作系统。谢天谢地,我们有你需要的东西。在本文中,您将找到有关 RTOS 与 GPOS、它们的比较以及各种类型的应用程序的所有信息。此外,如果您只是想了解更多有关这些操作系统的信息,那么您来对地方了。

准备好?让我们开始。

通用操作系统 (GPOS)

GPOS 是一种操作系统,可以管理大量进程并在单位时间内完成一次执行——我们喜欢称之为吞吐量有时,通用操作系统会延迟一个高优先级线程的执行,以执行五个或六个低优先级进程。 

电脑工作站

电脑工作站

来源:Pixabay

因此,为了实现必要的高吞吐量,它将为五个低优先级任务提供服务,而不是执行一个高优先级进程。换句话说,如果多个低优先级任务排队等待执行,GPOS 将允许这些任务先运行,以保持其高吞吐量。

现在,大多数通用操作系统使用公平策略将进程和线程传送到 CPU。 

此外,此策略允许 GPOS 提供桌面和服务器应用程序高效工作所需的整体高输出。 

但是,它不能保证高优先级任务或时间关键线程会在低优先级线程之前执行。因此,通用操作系统更适合同时执行多项任务的设备。

个人电脑(PC)

个人电脑(PC)

来源:Pixabay

实时操作系统 (RTOS)

另一方面,RTOS 的设计能够以高精度处理对时间要求严格的应用程序。对于属于此类别的操作系统,它执行的每个关键操作都必须有一个最长的时间段。换句话说,它是一个有时限的系统。

实时操作系统相当复杂。不过别担心,我们会为你分解。RTOS 具有三个基本功能,即调度程序、RTOS 服务、同步和消息传递。

调度器

调度器具有三种状态:第一个是准备运行状态,适用于可以在必要时切换到运行状态的就绪任务。其次是运行状态,适用于任务执行时的状态。最后,阻塞状态是任务无法运行并被发送到阻塞状态。

此外,还有三种类型的调度技术,它们是:

抢占式任务调度方法/基于优先级的调度

抢占式调度技术涉及依赖于优先级的时间分配。在这里,您可以为每个任务分配一个唯一的优先级。 

合作调度

在这里,您可以为每个任务分配一个固定的插槽。但是,如果任务没有完成执行,它将丢失生成的数据并等待下一轮。

最后,内核负责创建任务、更改任务的优先级、更改任务的状态以及删除任务。

实时操作系统服务

每个操作系统的核心都是内核。内核负责管理和分配操作系统的资源。然而,任务并不总是能引起 CPU 的注意,因此内核必须提供其他服务,如时间服务、输入输出服务、中断处理服务、内存管理服务和设备管理服务。

内核图

内核图

来源:维基共享资源

消息传递和同步

消息传递功能为 RTOS 在任务之间与其他系统通信提供了一种方式。消息传递服务包括邮箱、管道、消息队列、事件标志和信号量。 

邮箱、消息队列和管道可以在任务之间发送消息,而事件标志可以同步所有任务间活动。此外,信号量可以同步对共享资源的访问。

RTOS(实时操作系统)与 GPOS(通用操作系统)

RTOS 和 GPOS 之间的基本区别在于应用程序的性质(是否对时间要求严格或单一或多用途)。时间关键型系统的一个很好的例子是自动柜员机。按下确认按钮后,一个人会等待 4 或 5 秒才能从 ATM 取钱。没有人愿意在按下确认按钮后等待五分钟。

自动柜员机

自动柜员机

另一方面,PC 有多种用途,使其成为一个对时间不敏感的系统。您可以使用 PC 同时运行各种应用程序。此外,没有特别的时间在 PC 甚至智能手机上做任何事情。例如,在某些情况下,保存文档可能需要几秒钟或几分钟。但是,这取决于正在运行的进程和任务的数量。

手机 

手机 

因此,通用操作系统适用于非时间关键的应用程序和系统,如 Linux、Windows 等。

Linux系统

Linux系统

虽然实时操作系统适用于需要快速和可预测响应的时间关键型应用程序,例如UCOSVxWorks等。

以下是进一步解释两种操作系统之间差异的类别:

任务调度

在任务调度类别中,GPOS 不关注优先级。它以提供高吞吐量的方式处理调度。而在 RTOS 的情况下,调度总是侧重于优先级。与 GPOS 不同,所有高优先级进程都在任何低优先级任务之前执行。

视窗

视窗

延迟问题

这是困扰 GPOS 的一个主要问题。大多数 GPOS 具有无限的调度延迟——这意味着要调度的线程越多,延迟加起来就越多。RTOS 不存在所有线程和进程都有有限延迟(线程将在设定的时间限制内执行)的问题。

经济和硬件因素

RTOS 适用于自动售货机或 ATM 等独立和低端系统。此外,与 GPOS 相比,RTOS 体积小、重量轻。此外,GPOS 适用于一般用途和高端设备,如工作站或个人计算机。

高端设备

高端设备

来源:维基共享资源

抢占式内核

首先涉及高优先级进程执行时的一个主要问题是可抢占内核。因此,如果内核不可抢占,那么来自该内核的请求将立即覆盖所有其他正在运行的进程。虽然 RTOS 的内核是可抢占的,但 GPOS 的内核不是。 

换句话说,GPOS 中的高优先级进程执行不能抢占内核调用,而 RTOS 中的高优先级进程总是会在必要时抢占低优先级任务,并将内核调用之外的任务视为外部任务过程。

RTOS 与 GPOS—— 评估和选择用于嵌入式产品开发的 RTOS

在评估满足嵌入式系统所有要求的嵌入式 RTOS 之前,请确保您检查预期的 RTOS 支持一些重要功能。 

为了让您更轻松,以下是这些关键功能的概述:

RTOS vs GPOS—— 调度器

操作系统的调度程序负责决定操作系统应该在什么时间执行每个任务。调度程序可以根据可用资源和优先级暂停和恢复任何任务。因此,嵌入式 RTOS 必须具有内置调度程序。它将允许 RTOS 执行任务的实时执行。

软件定时器

顾名思义,软件定时器可以在指定的时间窗口内执行功能。为您的 RTOS 手动创建软件计时器并不容易或不可取,因此请确保您选择具有内置软件计时器的 RTOS。

RTOS vs GPOS—— 排队机制

队列允许任务交换信息。具有内置排队机制的 RTOS 将支持任务之间的消息交换。

Ë xecution跟踪工具 

使用跟踪工具,您可以轻松观察实时系统的实时行为。因此,您的开发团队可以跟踪和检测任何错误和任务的执行。

RTOS 与 GPOS——低内存占用

由于您需要将 RTOS 集成到 MCU 平台中,因此预期的 RTOS 应该具有较低的内存占用。这意味着总大小不应超过 MCU 总大小的 10%。

实时操作系统架构

实时操作系统架构

来源:维基共享资源

包起来

简而言之,RTOS 和 GPOS 在为它们设计的应用程序中运行良好。尽管 RTOP 的吞吐量可能低于 GPOS,但这并不意味着其吞吐量低。 

GPOS 处理大量繁重的进程,而 RTOP 处理的任务较少,吞吐量相对于系统负载而言。

然而,RTOS 的主要关注点是提供更可预测的执行模式和及时的执行——而不是高吞吐量。不过,GPOS 的情况正好相反。好吧,这总结了有关 GPOS 与 RTOS 的所有内容。如果您有任何意见或问题,请随时与我们联系我们很乐意提供帮助。