历经20年Linux主线内核总算兼并史诗级‘PREEMPT_RT’补丁——最终妨碍竟是Linus“一手形成”
发布时间:2024-12-10 04:17:38 来源:雷电竞下载APP官网这一才能对需求准确时刻操控的运用程序至关重要,如工业操控办理体系、机器人技能和音频制造。
PREEMPT_RT 补丁从 2004 年开端发动开发作业,方针是为 Linux 内核完成实时核算才能。
但事实上,实时 Linux (Real-time Linux) 的故事最早可追溯到 20 世纪 90 时代后期,其时 Linux 需求支撑实时运用的需求日益增长。
开始的测验会集在创立能够与 Linux 内核并行运转的独立实时内核。这包含堪萨斯大学的 KURT;米兰大学的 RTAI;以及新墨西哥矿业与科技学院的 RTLinux 等学术项目。
这种办法与前期的实时 Linux 解决方案不同,由于它修改了现有的 Linux 内核,而不是创立一个独自的实时内核。
到 2006 年,它获得了广泛重视,以至于 Linus Torvalds 点评称:“用 Linux 操控激光器太张狂了,但在座各位都有自己的张狂之处。因而,假如你想用 Linux 来操控工业焊接激光器,我对你运用 PREEMPT_RT 没有定见。”
正是从那时起,许多公司开端运用这个补丁集来构建需求毫秒级精度的强实时工业体系。
但要将 PREEMPT_RT 补丁完好兼并到内核还面临着最终一个妨碍:从头规划 print_k 函数。
这是一个能够追溯到 1991 年的要害调试东西,最早是 Linus Torvalds 自己开发用于调试。但是,每逢 Linux 程序调用 print_k 时就会产僵硬推迟。这在实时体系中是不行承受的。
Rostedt 解释道:“print_k 有千百种‘hacks’技巧,用来处理上千种不同的情况。每逢咱们将 print_k 修改为履行某种操作时,就会损坏这一些情况之一。print_k 在调试中能够让开发者切当知道进程溃散时对应的代码定位。假如对体系来进行高强度测验,推迟主要在大约 30 微秒左右,但随后会忽然变成 5 毫秒。这个推迟便是 print_k 音讯。”
通过很多作业,许多剧烈的评论,以及几回被回绝的提案,今年初 Linux 内核社区总算在从头 print_k 上达成了共同。
跟着 ‘PREEMPT_RT’ 补丁的兼并,信任 Linux 将会在实时操作体系范畴成为有力的竞争者。这不仅对实时体系制造商来说是一个成功,也是一切 Linux 用户的成功。