标签: hard-real-time

硬实时,软实时和坚实实时之间的差异?

我已经阅读了不同实时概念的定义,为硬实时系统和软实时系统提供的示例对我来说很有意义.但是,没有真正的解释或坚实的实时系统的例子.根据上面的链接:

公司:不经常的最后期限错失是可以容忍的,但可能会降低系统的服务质量.在截止日期之后,结果的有用性为零.

企业实时与硬实时或软实时之间是否有明显的区别,是否有一个很好的例子来说明这种区别?

在评论中,Charles要求我为新标签提交标签维基.我为标签提供的"公司实时系统"的例子是牛奶服务系统.如果系统在到期时间后输送牛奶,则认为牛奶"无用".人们可以忍受吃不含牛奶的谷物,但体验质量会降低.

这只是我在最初阅读定义时在脑海中形成的想法.我正在寻找一个更好的例子,也许是对实时公司的更好定义,这将改善我对它的看法.

real-time hard-real-time soft-real-time firm-real-time

96
推荐指数
7
解决办法
18万
查看次数

将Haskell用于大型实时系统:如何(如果?)?

我一直很想知道是否有可能将Haskell的强大功能应用到嵌入式实时世界,并且在谷歌搜索中找到了Atom软件包.我假设在复杂的情况下,代码可能具有所有经典的C错误 - 崩溃,内存损坏等,然后需要将其追溯到导致它们的原始Haskell代码.所以,这是问题的第一部分:"如果您有使用Atom的经验,那么您是如何处理调试已编译C代码中的低级错误并将其修复为Haskell原始代码的任务的?"

我搜索了Atom的更多示例,这篇博文提到了生成的C代码22KLOC(显然没有代码:),包含的示例是一个玩具.这个这个引用有一些更实用的代码,但这是结束的地方.我在这个主题中加入"相当大"的原因是,如果您可以分享使用300KLOC +范围内生成的C代码的经验,我最感兴趣.

因为我是一名Haskell新手,显然可能有其他方法由于我未知的未知因素而未找到,所以在这方面任何其他自我教育的指针都会非常感激 - 这是问题的第二部分 - "在Haskell中进行实时开发会有什么其他实用方法(如果)?" 如果多核也在图片中,这是一个额外的加号:-)

(关于Haskell本身用于此目的的用法:从我在这篇博文中读到的内容,Haskell中的垃圾收集和懒惰使其在调度方面具有相当不确定性,但可能在两年内发生了一些变化.现实世界的Haskell编程问题在SO上是我能找到的最接近这个话题的人)

注意:上面的"实时"将更接近"硬实时" - 我很好奇是否可以确保主要任务未执行的暂停时间小于0.5ms.

embedded haskell real-time hard-real-time

56
推荐指数
3
解决办法
1万
查看次数

测试实时操作系统的硬度

我有一个嵌入式设备(Technologic TS-7800),宣传实时功能,但没有说"硬"或"软".当我等待制造商的回复时,我认为自己测试系统不会有什么坏处.

在实时/确定性行为(延迟和抖动)方面,有哪些既定程序可以确定特定设备的"硬度"?

在大学期间,我可以使用一些非常整洁的硬件(良好的示波器和信号发生器),所以我认为我不会在测试设备,只是专业知识方面遇到任何问题.

embedded real-time hard-real-time

5
推荐指数
3
解决办法
1401
查看次数


使用Linux进行实时编程

我刚刚构建并设置了一个应用了RT补丁的vanilla Linux内核.一切都很顺利,我现在可以正确启动进入新内核.

令我疑惑的是:我有一个我在C中制作的模拟器程序,我希望它以硬实时模式执行,新内核应该允许它.可能整个模拟器不需要以实时优先级运行,但内部的一些任务可以.

我怎么能做到这一点?我认为只是运行该程序是行不通的.

c linux kernel real-time hard-real-time

2
推荐指数
1
解决办法
8334
查看次数