【发布时间】:2014-04-10 01:54:14
【问题描述】:
我正在阅读this 文章,但我的问题是笼统的,我的想法如下:
- 可以仅仅因为内核具有实时调度程序就将其称为实时内核吗?或者换句话说,假设我有一个 linux 内核,如果我将默认调度程序从
O(1)或CFS更改为real time scheduler,它会成为 RTOS 吗? - 是否需要硬件支持?一般来说,我见过具有 RTOS(例如 VxWorks、QNX)的嵌入式设备,这些设备是否有任何特殊规定/硬件来支持它们?我知道 RTOS 进程的运行时间是确定性的,但是可以使用 longjump/setjump 在确定的时间内获取输出。
非常感谢您对此的一些意见/见解,如果我对某些事情有误,请纠正我。
【问题讨论】:
-
所有“实时”意味着中断延迟(中断被禁用的时间)保证小于某个指定的微秒数。换句话说,内核保证它可以以某个最大频率(1/maxlatency)响应传入的外部事件。为了保证这一点,需要对所有中断处理路径进行大量仔细的编程和测试。如何实现这一点的实际细节将取决于内核架构。
-
@Jim:那么,它需要硬件支持吗?
-
@JimGarrison:您能否将您的评论复制到答案中?
标签: linux linux-kernel scheduler rtos