谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

什么是实时 Linux?

by Canonical on 28 March 2023

我们将在此博文中评估实时(Real-Time)系统的关键特征。例如,了解具有实时功能的 Linux 内核与主线的不同之处,并涵盖在选择实时内核或低延迟内核时需要权衡的性能因素。

尽管阅读本系列博文没有知识门槛,但我们建议您对 Linux 在嵌入式计算领域扮演的角色具有基本的了解。如果您是该领域的新手,刚刚从零开始,请先阅读嵌入式 Linux 简介,或深入研究针对嵌入式应用的 Linux 官方指南

什么是实时 Linux?

根据 IDC 的预测,到 2025 年,全球将近 30% 的数据需要实时处理[1]。虽然工作负载需要不同级别的实时性能,所需周期时间也因具体的系统配置而异,但分析师认为,未来几年市场会继续并加快采用实时计算

对具有实时功能的驱动控制系统、工业边缘服务器、PLC、机器人和无人机等工业计算机的需求正在上升。在软件方面,由于对硬件设备和外围设备的大力支持,通过 Linux 内核进行实时计算正成为一种具有价值的解决方案。在将实时功能植入内核的各种方法中,PREEMPT_RT 补丁旨在通过修改现有内核代码来提高可预测性并减少延迟。

具有实时能力的 Linux 内核旨在为外部事件提供有限的响应时间

本博客系列旨在说明什么是实时 Linux。遗憾的是,这个话题颇具争议性,术语上似乎也并未完全统一。第一部分,我们将探究实时的两个确切定义。您将很快了解到,实时系统具有时间限制,并有明确规定的定时限制

但是,还有其他一些实时定义,其中一些甚至互相矛盾。由于这种混乱的情况,我们先看一看关于实时 Linux 的常见误解,以拨开迷雾。稍后我们将高度概括一些可能需要实时的领域,以进一步阐明其用例。

之后的第二篇博文,我们将再深入介绍实时 Linux 内核,了解在具有和不具有实时计算能力的 Linux 内核中的优先权,以及用户空间转换为内核空间的差异。最后,将在第三篇介绍 PREEMPT_RT,并学习补丁集减少内核延迟的实现机制。

话不多说,赶快开始吧。

对实时 Linux 的误解

只要有一个实时内核就能实现实时系统

在更深入地了解实时 Linux 的构成部分之前,请务必了解实时 Linux 内核本身并不一定构成实时系统。内核只是实时系统的一个组件,即使是最高效的实时操作系统(RTOS,real-time operating system),在存在其他延迟接收器的情况下也可能毫无用武之处。即使是具有实时功能的内核,每个系统通常也会需要特定调参。要满足实时计算需求,则需要仔细理解整体堆栈,从底层硅芯片、操作系统,到网络层和应用程序。

实时 = 性能优化

另一个常见误解是实时会带来所谓的性能优化。这种误解通常来自被称作实时(因为延迟通常不被察觉而被称作实时)的视频应用程序。这些通常只是尽力而为系统,性能卓越,足以消除人类能够察觉到的任何错过截止时间。实时 Linux 内核并不会带来性能优化。我们研究的是对外部事件的确定性响应,目的是尽可能减少响应延迟,而不是优化吞吐量。实际上,实时 Linux 内核除了任务调度响应,在其他方面几乎肯定会逊色于 CFS 或其他调度程序。

总是必不可少

此外,实时操作系统也并非总是必不可少。「实时」听起来不错,因为通常暗含了性能很好的意思,但必须考虑错过截止时间的实际后果,以及它们是否保证实时要求。例如,如果截止时间为秒级,经过适当调参的多 GHz CPU 则很可能不会错过它。

为什么 Linux 是物联网设备的首选操作系统?

嵌入式应用 Linux 官方指南

何时使用实时 Linux

记住上述说明,那么何时应该使用实时 Linux 内核呢?

根据众所周知的定义,实时系统中的计算正确性不仅取决于结果的逻辑正确性,还取决于结果的生成时间。如果不满足系统的时间限制,便会发生系统故障[2]。POSIX 标准 1003.1 也有类似定义。该标准规定,实时性是操作系统在有限的响应时间内提供所需级别服务的能力[3]

简而言之,实时系统非常适用于极度依赖延迟的用例,在这种情况下,错过截止时间会导致故障而不仅仅是系统降级。我们通常会在哪里看到这些场景?

目标领域和应用程序中的实时 Linux

医疗保健

想一想像生命支持设备这样的专用医疗设备,操作员希望计算系统在给定的截止时间内完成任务,如果错过便会造成灾难性后果。

工厂

除了医疗保健行业的医疗机器人,实时功能在各种用例和垂直行业中都发挥着重要作用。在领先的细分市场中,我们看到了工业领域中的过程和离散自动化。确定性和实时能力在工厂车间至关重要。例如,在装配线上的 PLC 必须实时传输和处理数据,以维护系统完整性和持续性生产,而错过截止时间则会危及整条生产线。

电信公司

实施虚拟化的 Open RAN 架构能够让移动运营商部署特定的网络功能,从而实现更大的灵活性,更高效地利用网络资源。在 Open RAN 架构中运行实时 Linux,运营商可构建现代化、可扩展、节能和经济高效的 5G 网络,确保 6G 准备就绪,并为用户部署创新性新服务。 

汽车

实时系统也应用于汽车行业,因为该行业的延迟需求非常严格,若错过截止时间便会导致灾难性后果,例如汽车制动未能防止撞车。汽车行业已广泛部署 RTOS 来满足延迟相关需求。然而目前,原始设备制造商及其一级供应商在信息娱乐系统和人机交互界面等应用上日益依赖 Linux 内核。

航空

实时 Linux 另一个有趣的用例是自动驾驶飞机上的伺服回路。例如,飞机传感器必须不断向控制计算机提供正确的测量值。在这种情况下,只要测量延误,飞机性能便会下降,有时甚至会导致不可接受的后果。

总结

除了上述应用,实时 Linux 还有更广泛的市场应用,如产品质量保证和安全到对自动化系统有严格精度要求的石油、天然气以及运输。
如何知道是选用低延迟操作系统,还是选用实时 Linux 内核?要回答这个问题,您必须考虑低延迟要求以及错过截止时间的后果。明智的决定只会来自于这些数据。如果您的延迟需求非常严苛,而且错过截止时间会造成系统故障,则实时 Linux 可能是必要之选。另一方面,如果延迟需求没那么严格,后果也没那么严重,则低延迟内核可能已经足够。

想在正式环境中执行实时 Linux 吗?

与我们联系

其他參考資源

实时 Linux 基础介绍(英文)

汽车产业中的安全性与实时 Linux(英文)

实时 Linux 如何加速工业转型(英文)

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 发布 Ubuntu Core 26

Ubuntu Core 26 推出精准化 Linux 构建、优化的 OTA 更新、实时内核补丁,以及面向关键任务部署的增强型硬件级安全防护。 2026 年 5 月 19 日,Canonical 宣布正式发布 Ubuntu Core 26。该系统为极简不可变操作系统,提供长达 15 年的安全维护支持。  Ubuntu Core 26 针对关键任务操作与低延迟 AI 工作负载实现重大系统改进:安装时长缩短、OTA 更新包体积缩减 90%,并借助 Chisel 工具实现精准化系统构建。与以往版本一致,所有组件均为经过沙箱隔离、加密签名的 Snap 软件包,构建可信启动链,仅允许运行经验证的软件。凭借这款全新长期支持(LTS)版本,Ubuntu Core 仍是适用于关键任务系统的 […]

代码热风险 – 软件供应链视角下,容器交付前要先“冷却”

已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]

现代化 Linux 身份管理:让 Ubuntu 从本地认证迈向云端

现代企业在混合环境中运营,本地基础设施与云服务并存,安全威胁也在不断演变。IT 管理员肩负着一项艰难的平衡工作:在维护传统本地工作流程的同时,还需应对不可避免的云原生架构转型。身份已成为新的安全边界,取代了传统的基于网络的防御体系。  在 Canonical,我们开发了一套全面框架,用以提升 Ubuntu 服务器与桌面端部署的身份管理安全性,弥合传统 Active Directory 环境与现代云身份提供商之间的差距。 在这篇博客中,我们将探讨 Canonical 的框架如何通过弥合传统 Active Directory 环境与现代云身份提供商之间的差距,增强认证与访问管理控制的安全性。 基础:本地认证及其局限性 传统上,Linux 认证机制依赖于存储在本地 /etc/p […]