任何人都可以帮助我了解常用于RTOS的设计模式吗?
在VXworks中,哪种模式更可取?常用于RTOS(VXworks)的设计模式
回答
我们可以忽略你的问题,第二句?这是没有意义的,也许是对设计模式的误解。然而,第一部分很有趣。也就是说,我将其推广到覆盖实时系统而不是RTOS。
许多最熟悉的模式是机械的,但在实时系统中更高层次的架构模式也很重要。
Bruce Powell Douglass可能是对的模式进行实时系统这一主题的最重要作者。如果你想要的是什么,他不得不在随后的Embedded.com阅读this article主题说的味道(这是三个系列的第三部分,请务必仔细阅读前两个为好,因为他们还对主题触摸,(1)(2) )。您也可以访问Embedded.com并在搜索框中输入“设计模式”,还有一些关于该主题的特定模式和一般文章的文章。
尽管我认为您对“RTOS(VxWorks)”的请求模式的要求很高,但我特别使用的VxWorks模式是Facade和Adapter模式。部分提供OO API,并提供一定级别的RTOS不可知抽象。随后为Segger emBOS实现了最终的类(以允许我们运行更小,成本更低,免版税的RTOS),并且Windows和Linux都允许在更强大的工具的更丰富的环境中测试,调试和模拟代码。设置在Wikipedia,其中许多将适用于实时系统
的非穷尽很多模式的列表。列出的并发模式最为明显。
正如Mike DeSimone所评论的那样,过于通用。但是,对于RTOS(不仅仅是VxWorks),要记住几件事情。
- 避免做过多的ISR。如果可能的话,将一些处理传递给等待的任务。
- 保持多线程最佳。太多,你有背景切换的开销。太少,你的问题解决方案可能会很复杂。
+1。第一个实际上是RTOS的设计模式,但也是其他操作系统驱动程序。有人应该想出一个好名字和一个适当的模式描述。 (即:你什么时候需要它,准确地做什么,等等) – MSalters 2010-05-10 10:44:38
许多操作系统中的第一个项目被称为“延期服务程序”。 – 2010-05-10 20:41:51
eCos将它们称为中断服务例程和延期服务例程。 Linux调用然后是上半部分和下半部分,IIRC。但是这些不是RTOS的模式......这些模式是用于*驱动程序的。* – 2010-05-11 18:20:55
另一个重要方面是让RTOS保持可预测性并且可以让用户理解。通常情况下,您会看到固定优先级的调度程序不会公平或不具有适应性,而是完全按照所讲的方式执行,如果您搞砸优先级并挨饿某些任务,那就这样做吧。完成内核操作的时间往往很短并且可以预测,通常记录下它们最糟糕的执行时间。
- 1. VXWORKS RTOS RTP应用程序
- 2. C++异常设计模式
- 3. IOC设计模式是否独立于工厂设计模式?
- 4. OO设计模式要用于验证
- 5. 模式/用于设计师webdeveloper通信
- 6. 用于常见数据模型设计模式的任何资源?
- 7. 关于MongoDb模式设计的建议
- 8. 关于sharepoint的设计(模式)
- 9. 用于Vxworks的RTP项目
- 10. 适用的设计模式
- 11. 设计模式:异常/错误处理
- 12. 设计模式:提取常见功能
- 13. 错误/异常累积设计模式
- 14. 设计模式常见条件检查
- 15. 适用于多模块Web应用程序的设计模式
- 16. 基于Agent/Actor的并发设计的设计模式
- 17. 设计模式
- 18. 设计模式:
- 19. 设计模式
- 20. 设计模式
- 21. 设计模式
- 22. 设计模式
- 23. 设计模式
- 24. 设计模式?
- 25. 设计模式
- 26. XamlParseExceptions设计模式 - 使设计模式无用
- 27. 用于传递翻译对象的设计模式?对于PHP
- 28. 适用于Android的设计模式 - 确保设置GPS位置
- 29. 用于同步共享域模型的设计模式
- 30. 用于Visual Paradigm的免费设计模式模板?
方式。太。通用。 ...我说这是一个以前的VxWorks用户。膝盖混乱的答案是“任何模式解决问题。” – 2010-05-10 04:24:22
更喜欢什么!?每种模式都有不同的用途,它们不可互换。使用解决问题的人 – Clifford 2010-05-10 18:43:41
我不确定这个问题是否值得赞成,但我建议您根据我的建议对其进行修改,以防止其他合理的问题得到不好的分数。 – Clifford 2010-05-28 08:35:37