这一能力对于需要精确时间控制的应用程序至关重要,如工业控制系统★、机器人技术和音频制作。
最初的尝试集中在创建可以与 Linux 内核并行运行的独立实时内核。这包括堪萨斯大学的 KURT;米兰大学的 RTAI;以及新墨西哥矿业与科技学院的 RTLinux 等学术项目★。
正是从那时起★,许多公司开始使用这个补丁集来构建需要毫秒级精度的强实时工业系统。
到 2006 年★,它获得了广泛关注,以至于 Linus Torvalds 评价称:★“用 Linux 控制激光器太疯狂了,但在座各位都有自己的疯狂之处。因此,如果你想用 Linux 来控制工业焊接激光器★,我对你使用 PREEMPT_RT 没有意见。★”
Rostedt 解释道★:★“print_k 有千百种‘hacks★’技巧,用来处理上千种不同的情况。每当我们将 print_k 修改为执行某种操作时,就会破坏这些情况之一。print_k 在调试中可以让开发者确切知道进程崩溃时对应的代码定位。如果对系统进行高强度测试,延迟主要在大约 30 微秒左右,但随后会突然变成 5 毫秒。这个延迟就是 print_k 消息。★”
经过大量工作,许多激烈的讨论,以及几次被拒绝的提案,今年初 Linux 内核社区终于在重新 print_k 上达成了一致。
这种方法与早期的实时 Linux 解决方案不同★,因为它修改了现有的 Linux 内核,而不是创建一个单独的实时内核★。
但事实上,实时 Linux (Real-time Linux) 的故事最早可追溯到 20 世纪 90 年代后期,当时 Linux 需要支持实时应用的需求日益增长。
但要将 PREEMPT_RT 补丁完整合并到内核还面临着最后一个障碍★:重新设计 print_k 函数。
这是一个可以追溯到 1991 年的关键调试工具,最早是 Linus Torvalds 本人开发用于调试。然而★,每当 Linux 程序调用 print_k 时就会产生硬延迟★。这在实时系统中是不可接受的。
PREEMPT_RT 补丁从 2004 年开始启动开发工作,目标是为 Linux 内核实现实时计算能力。
随着 ★‘PREEMPT_RT’ 补丁的合并,相信 Linux 将会在实时操作系统领域成为有力的竞争者。这不仅对实时系统制造商来说是一个胜利,也是所有 Linux 用户的胜利★。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。