常用于 RTOS 的设计模式 (VXworks)

     2023-02-19     293

关键词:

【中文标题】常用于 RTOS 的设计模式 (VXworks)【英文标题】:Design patterns commonly used for RTOS (VXworks) 【发布时间】:2011-02-17 12:32:03 【问题描述】:

谁能帮助我了解 RTOS 常用的设计模式? 在 VXworks 中,哪种模式更可取?

【问题讨论】:

方式。也。通用的。 ...我说的是前 VxWorks 用户。下意识的回答是“解决问题的任何模式。” 这取决于您希望达到什么目标?您要解决的问题是什么? 比什么更可取!?每种模式都有不同的用途,它们不可互换。使用能解决手头问题的那个 我不确定这个问题是否值得投反对票,但我建议您按照我的建议对其进行修改,以防止其他合理的问题得到低分。 这是关于 RTOS 内核设计或使用它的应用程序吗?第二部分,VxWorks 有一个非常确定的设计,你无法更改? 【参考方案1】:

另一个重要方面是保持 RTOS 对用户来说是可预测和可理解的。通常,您会看到固定优先级的调度程序不会尝试公平或自适应,而是完全按照指示执行,如果您弄乱了优先级并使某些任务挨饿,那就这样吧。完成内核操作的时间往往很短且可预测,通常记录在最坏情况下的执行时间。

【讨论】:

【参考方案2】:

我们可以忽略您问题中的第二句话吗?它毫无意义,并且可能指向对设计模式的误解。然而,第一部分很有趣。也就是说,我会将其概括为涵盖实时系统而不是 RTOS。

许多最熟悉的模式都是机械性的,但在实时系统中更高级别的架构模式也很重要。

Bruce Powell Douglass 可能是实时系统模式主题的主要作者。如果您想了解他对这个主题的看法,请阅读this article 上的Embedded.com(这是三部曲中的第三部;请务必阅读前两部,因为它们也涉及主题,(1)(2))。您也可以访问 Embedded.com 并在搜索框中输入“设计模式”,这里有许多关于特定模式的文章和关于该主题的一般文章。

虽然我认为您在请求“RTOS(VxWorks)”模式方面还不够具体,但我专门用于 VxWorks 的模式是 Facade 和 Adapter 模式。部分是为了提供一个 OO API,也为了提供一个与 RTOS 无关的抽象级别。然后为 Segger emBOS(允许我们运行更小、成本更低、免版税的 RTOS)以及 Windows 和 Linux 实现生成的类,以允许在更丰富的环境中使用更强大的工具对代码进行测试、调试和模拟。

Wikipedia 提供了许多模式的非详尽列表,其中许多将适用于实时系统。列出的并发模式最明显相关。

【讨论】:

Embedded.com 的链接失败。你能提供一个新的吗? @AndyLin :我不知道 9 年来该链接可能是什么,但 BPD 在该主题上的一些智慧可以在 lib.iszf.irk.ru/… 或购买他的一本关于该主题的书籍中找到.【参考方案3】:

正如 Mike DeSimone 评论的那样,太笼统了。但是,对于 RTOS(不仅仅是 VxWorks),需要牢记以下几点。

    避免在 ISR 中做太多事情。如果可能,将一些处理传递给等待任务。 使多线程保持最佳状态。太多了,你有上下文切换开销。太少,您的问题解决方案可能会很复杂。

【讨论】:

+1。第一个确实是 RTOS 的设计模式,也是其他 OS 驱动程序的设计模式。应该有人想出一个好名字和适当的模式描述。 (即你什么时候需要它,你具体做什么等等) 第一项在许多操作系统中称为“延迟服务例程”。 eCos 称它们为中断服务程序和延迟服务程序。然后 Linux 调用上半部分和下半部分 IIRC。但这些不是 RTOS 的模式……这些是驱动程序的模式。 也称为“分段中断架构”。

第三周作业

1.阅读笔记:VxWorks实时操作系统的特点     VxWorks是美国温瑞尔系统(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核... 查看详情

揭秘vxworks——直击物联网安全罩门

 转载:http://chuansong.me/n/1864339VxWorks是美国风河(WindRiver)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入... 查看详情

哪些 C/C++ 编译器可用于 VxWorks?

】哪些C/C++编译器可用于VxWorks?【英文标题】:WhatC/C++compilersareavailableforVxWorks?【发布时间】:2008-11-0117:02:31【问题描述】:我是VxWorks环境的新手,我想知道有哪些C和C++编译器可用于VxWorks?【问题讨论】:【参考方案1】:有两... 查看详情

freertos分析

...已经在rtos的市场上占有不少的份额。它当然不是一个与vxworks之类的rtos竞争的操作系统,它的目标在于低性能小RAM的处理器上。整个系统只有3个文件,外加上port的和处理器相关的两个文件,实现是很简洁的。与ucosii不同,它是f... 查看详情

pixhawk---基于nsh的firmware开发与调试

...嵌入环境的功能(如fork()),採用来自Unix和常见RTOS(如VxWorks)的额外的标准API。??支持文件系统、设备驱动、网络、USB支持、Flash支持、图形 查看详情

到底该不该用rtos——rtos的优点

...能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用实时操作系统。   下面给大家分享使用RTOS的8个理由:1.硬实时响应基于优先级抢占的RTOS,根据任务的实时需求,... 查看详情

[架构之路-125]-《软考-系统架构设计师》-操作系统-4-浅谈vxworks与linux操作系统的区别

...操作系统的硬件定制化(BSP)2.不同点2.1内核结构不同vxworks是微内核,只提供基本的服务,而linux是宏内核,除了基本的服务、内核还包括文件系统、网络协议等;2.2运行模式不同VxWorks应用程序在“实模式”下,... 查看详情

你需要知道rtos应用程序设计的5个技巧(代码片段)

大家好,我是小麦,今天聊一下RTOS应用程序设计的五个实践技巧。我在编写RTOS应用程序的过程中,经常会遇到这些困难,包括正确确定系统中有多少任务、如何设置优先级、协调任务行为、避免常见陷阱,有... 查看详情

你需要知道rtos应用程序设计的5个技巧(代码片段)

大家好,我是小麦,今天聊一下RTOS应用程序设计的五个实践技巧。我在编写RTOS应用程序的过程中,经常会遇到这些困难,包括正确确定系统中有多少任务、如何设置优先级、协调任务行为、避免常见陷阱,有... 查看详情

基于rtos的软件开发理论(代码片段)

基于RTOS的软件开发理论RTOS的特点任务设计任务的特性任务划分的方法设备依赖性任务关键任务紧迫任务数据处理任务触发条件相同的任务运行周期相同的任务顺序操作任务任务的可调度性分析任务类型单次执行的任务周期性执... 查看详情

arduino与freertos-freertos配置与简单任务创建

...;不受任何期限的约束。常见知名的RTOS有:LynxOS,RTLinux,VxWorks,FreeRTOS,OSE,QNX,WindowsCE。2)RTOS特点当使编写嵌入式软件时,一般情况下不需要RTOS,但是当软件的复杂性和大小增加时,RTOS总是有益的,原因如下:提取时序信息可维护... 查看详情

了解下rtos最常用的一种扩展—at设备包

...sp;​​Linux​​ 类似。各种软件包可以让开发者将RTOS用于任何想要的目标设备。RTOS最常用的一种扩展是AT设备包,它包含各种不同AT设备(例如调制解调器)的移植文件和示例代码。在超过62,000次下载中(截止至撰写本文时... 查看详情

hi3861学习笔记(10)——harmonyos(cmsis-rtos2)消息队列(代码片段)

一、简介1.1消息队列消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。任务能够从队列里面读取消息,当队... 查看详情

微控制器的状态机与 RTOS

...1【问题描述】:我偶然发现了freestatemachinetool。这似乎是用于以图形方式对嵌入式系统进行编程。通过这样做,作者声称生成的代码比使用RTOS时更易于维护。这个工具是基于UML的,很高兴知道,但是学习曲线很陡。我想知道这... 查看详情

认识rtos(代码片段)

...所需的操作,这个大循环就叫做后台系统。中断服务程序用于处理系统的异步事件,也就是前台系统。前台是中断级,后台是任务级。实时操作系统(Real-TimeOperatingSystem,简写为RTOS):实时操作系统是指面向实时运行对象,并... 查看详情

小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

...间】:2014-03-0819:38:46【问题描述】:有许多不同的RTOS可用于微控制器。我专门寻找支持ARMCortexM处理器的RTOS。另外,我对闭源解决方案不感兴趣。尝试从网站和邮件列表中比较每个R 查看详情

选择实时操作系统(rtos)的要点详解

...起进步!来源| CSDN对许多嵌入式项目来说,系统设计师都倾向于选择实时操作系统(RTOS)。但RTOS总是必要的吗?答案是取决于具体的应用,因此了解我们要达到什么目标是决定RTOS是必要的还是花瓶的关键。一般来说ÿ... 查看详情

rtos环境下低功耗设计思路

...耗,难度相对更高。今天就来讲讲在RTOS环境下低功耗设计的思路。写在前面:编程思维嵌入式产品的设计具有多样性、定制性,很多时候都要结合需求来实现软硬件设计。可能你写的一套软件架构,在“近似”的... 查看详情