所以我从源代码构建了自己的Ubuntu 12.04.4内核并对其应用了实时补丁。我想确定我确实运行了一个实时内核。我尝试使用ltp,但对如何阅读信息感到困惑。有没有一种简单的方法来判断我的内核是否真的是实时的?
感谢任何帮助!
乔治
答案 0 :(得分:1)
要查看当前运行的内核是否具有RT_PREEMPT补丁,请使用uname并查找PREEMPT和RT:
ubuntu10:~$ uname -a
Linux ubuntu10 2.6.31-11-rt #154-Ubuntu SMP PREEMPT RT Wed Jun 9 12:28:53 UTC 2010 i686 GNU/Linux
如果您要求提供RT_PREEMPT实时性能的证据或证据,请搜索互联网,有很多选择。这是一个开始的地方:http://elinux.org/Realtime_Testing_Best_Practices
答案 1 :(得分:1)
首先,你必须知道实时内核是什么 - 或者至少你认为它是什么或想要它。这是一项艰巨的工作,因为实时计算社区对“实时”的含义没有明确的共识。要看到这一点,请阅读供应商文献,查看继续教育课程,甚至学术(不可避免的“嵌入式系统”)课程,按照网络上的论坛,阅读从业者杂志(例如,RTC等)。用普通波特斯图尔特的话来说,“共识”是“我不知道什么是”实时“的意思,但是当我看到它时我就知道了。”在你问一个指明“实时内核”对你意味着什么的问题之前,你的问题就没有答案了(至少)。
然后,您可以定义和应用测试,例如中断持续时间和内核服务时间,这些持续时间的可预测性,任务可预先性,预防和最小化任务资格的持续时间(通常是优先级),以及整个主机在网络上详细描述的其他问题。
BTW,术语“内核”也存在争议。从历史上看,在OS社区中,它意味着内核空间中的最低级别机制,操作系统在用户空间中构建。嵌入式系统社区通常使用它来表示最小的“操作系统”,这是主流操作系统社区对“执行”的意思。我在我的网站上详细说明了这一点,但遗憾的是我在更新时已将其置于维护模式。
我还在LinkedIn RTOS小组的讨论中通过评论逐渐回答这个问题及其他相关问题。