我是Rtlinux的新手,并试图了解基本面。我在某处读到了一个可执行文件也可以使用 rtlinux 命令运行,但我没有找到有关该命令的更多信息。使用Rtlinux命令运行可执行文件和使用带有rtlinux补丁的FIFO策略调度进程/线程之间有什么区别。
提前致谢!!
更新:看到从here下载的rtlinux书中使用的相同命令:页码:7
The resulting object binary must be inserted into the kernel, where it will be executed by RTLinux.
Use the command 'rtlinux' (you need to be the 'root' to do so).
$ rtlinux start hello
答案 0 :(得分:1)
由于RTLinux使用微内核架构,它允许您绕过常规Linux内核引入的任何延迟。考虑这个草图:
----- ----- -----
| App | App | App | (1)
----------------- --------- ---------
| Linux (RTL App) | RTL App | RTL App | (2)
-------------------------------------
| RTLinux |
-------------------------------------
| HW |
-------------------------------------
使用Linux的FIFO调度程序安排程序时,它将在第(1)层运行。 Linux内核本身是RTLinux调度程序中最低(通常)优先级的“进程”。
但是当您将程序编译为RTLinux模块并在第(2)层运行时,它可以在收到中断时以最小的延迟抢占Linux内核。
注意:据我所知,RTLinux不再被积极开发。请考虑查看Xenomai或PREEMPT_RT补丁集。