等了20年,实时Linux进主线了

C语言与CPP编程 2024-11-22 09:01

推荐关注↓

本文源:

https://www.zdnet.com/article/20-years-later-real-time-linux-makes-it-to-the-kernel-really/


多年来,在实时Linux上所做的工作使开源操作系统受益匪浅,但直到本周,Linus Torvalds才将其最后一部分纳入主流内核。到底是什么花了这么长时间?


高级实时Linux开发人员Steven Rosedt和Steven Vaughan Nichols在维也纳举行的Linux欧洲峰会上合影---sjvn/ZDNET


维也纳——20年后,实时Linux(PREEMPT_RT)终于——终于——进入了主流内核。Linus Torvalds在欧洲开源峰会上为代码祈福。为什么这是一件大事?让我们从解释实时操作系统(RTOS)是什么以及它有什么好处开始。


1. 什么是RTOS?

RTOS是一种专门的操作系统,旨在精确可靠地处理时间关键任务。与Windows或macOS等通用操作系统不同,RTOS的构建是为了在严格的时间限制内响应事件和处理数据,通常以毫秒或微秒为单位。正如著名的实时Linux开发人员和谷歌工程师Steven Rosedt所说,“实时是最快的最坏情况(Real-time is the fastest worst-case scenario.)。”


他的意思是RTOS的本质特征是它的确定性行为。RTOS保证关键任务将在指定的截止日期内完成。许多人认为RTOS是用于快速流程的。他们不是。速度不是RTOS的重点,可靠性才是。这种可预测性在计时至关重要的应用中至关重要,如工业控制系统、医疗设备和航空航天设备。


目前使用的实时操作系统的一个例子是VxWorks,它被用于美国国家航空航天局的火星探测车,以引导它们,并被用于波音787梦想飞机,以控制航空电子系统,确保飞行控制的实时响应性。另一个例子是QNX Neutrino,它广泛应用于汽车的信息娱乐和高级驾驶员辅助系统,如防抱死制动器。


2. 实时Linux的历史

从即将推出的 Linux 6.12 内核开始,所有发行版都将包含实时 Linux 代码。这意味着 Linux 将很快开始运行在更多的任务关键设备和工业硬件上。这标志着它经历了很长时间的发展才走到今天这一步。


实时Linux的故事始于20世纪90年代末,当时对Linux支持实时应用程序的需求日益增长。最初的工作重点是创建与Linux内核一起运行的独立实时内核。这包括堪萨斯大学的KURT等学术项目;来自米兰大学RTAI;以及新墨西哥矿业与技术学院的RTLinux。


Linux内核高级开发人员Ingo Molnar于2004年开始收集和重塑这些技术,为实时抢占补丁集PREEMPT_RT奠定基础。


这种方法与早期的实时Linux解决方案不同,因为它修改了现有的Linux内核,而不是创建一个单独的实时内核。到2006年,它已经获得了足够的吸引力,Linus Torvalds观察到,“用Linux控制激光器是疯狂的,但这个房间里的每个人都以自己的方式疯狂。所以如果你想用Linux来控制工业焊接激光器,我不反对你使用PREEMPT_RT。


到2009年,包括Thomas Gleixner、Peter Ziljstra和Rosedt在内的一个内核开发小组已经完成了将之前的原型开发整合到一个单独的树外补丁集中的工作。就在那时,许多公司开始使用这个补丁集来构建需要毫秒精度的硬实时特性的工业系统。


随着项目的推进,它的许多元素都转移到了内核中。Rosedt告诉我,在某种程度上,说实时性现在才出现在Linux中是错误的。多年来,它的许多功能已被引入主流Linux。事实上,其中一些对于你每天使用的Linux来说是必不可少的。


例如,您可能从未听说过“NO_HZ”,它可以降低空闲系统的功耗。NO_HZ使Linux能够在具有数千个CPU的机器上高效运行。Rostedt强调:“你没有意识到Linux因为实时补丁而得到了多大的改进。”。“Linux今天在数据中心运行的唯一原因是我们所做的工作。


因此,如果没有NO_HZ,Linux就不会在所有的数据中心中运行。这反过来解释了为什么Linux运行云端。我不知道如果没有这种实时贡献,世界会是什么样子,但它肯定不会像今天这样。


实时Linux也以一开始无人想到的方式被证明是有用的。Rostedt回忆道:“早在2005年,我收到了一个实时bug报告,我发送了一个补丁并说,‘嘿,这是修复程序。你能应用它吗?” 那家伙说,‘我不知道我在做什么。’我回答说,‘等等,你不是内核开发者吗?’他回答说:‘我是个吉他手。’“


原来他使用的是早期的实时补丁,因为他使用的是JACK,一种用于低延迟音频连接的声音服务器。他使用它是因为,像大多数音乐家一样,他太穷了,买不起高端设备,所以,Rostedt继续说,“他买了一台便宜的笔记本电脑,装了Linux和JACK,因为有了实时补丁,它就能很好地录音,而不是在写入硬盘时跳过。  


事实证明,许多音乐家都是早期的实时Linux用户,因为它可以让他们以低廉的价格制作高质量的录音。谁知道呢?这些年来进入主流内核的其他实时Linux特性包括:


1. 互斥锁的引入

2. Ftrace,可以说是最重要的Linux调试工具

3. 用户空间应用程序的优先级继承


3. 为什么实时Linux花了这么长时间?

那么,为什么实时Linux现在只在内核中得到完全的支持呢?Rostedt解释说:”事实上,除非我们认为它已经准备好了,否则我们不会把它推上去。“”几乎所有内容在进入主流之前都要重写至少三次,因为我们对内容的要求太高了。“

此外,通往主线的道路不仅仅是技术挑战。政治和认知也发挥了作用。Rostedt回忆道:“一开始,我们甚至不能提到实时。”。“每个人都说,‘哦,我们不在乎实时性。’”


另一个问题是钱。多年来,实时Linux的资金一直不稳定。2015年,Linux基金会建立了实时Linux (RTL)协作项目,以协调围绕PREEMPT_RT主线的工作。

完全集成的最后一个障碍是重新编写内核的print_k函数,这是一个可以追溯到1991年的关键调试工具。Torvalds 特别保护 printk ——他编写了原始代码,并仍将其用于调试。然而,每当调用 printk时,它也会在 Linux 程序中产生硬延迟。这种减速在实时系统中是不可接受的。


Rosedt 解释说:“printk 有一千种技巧来处理一千种不同的情况。每当我们修改 printk 时,它都会破坏其中一种情况。printk 调试的好处在于,你可以精确地知道进程崩溃时的位置。当我非常努力地测试系统时,延迟通常在 30 微秒左右,然后突然增加到 5 毫秒。”这种延迟正是 printk 消息造成的。

经过大量的工作、多次激烈的讨论和几项被拒绝的提案,今年早些时候终于达成了妥协。Torvalds 很高兴,实 Linux 开发人员也很高兴,printk 用户同样感到满意。最终,实 Linux 成为了现实。


经过二十年的发展,Linux 实时补丁终于被合并到主流内核中。这一里程碑标志着内核开发人员多年来为 Linux 带来确定性、低延迟性能的工作达到了顶峰。

有了这一补丁,Linux 内核实现了完全可抢占,这使它能够在微秒内对事件做出响应。这种能力对于需要精确计时的应用至关重要,例如工业控制系统、机器人和音频制作。


随着实时补丁的合并,Linux 现在有望成为实时操作系统(RTOS)领域的重要参与者。这不仅是实时制造商的胜利,也是所有 Linux 用户的胜利。

- EOF -

分享一个福利

最近极客时间出了一个《MySQL底层原理精讲》的专栏,目前还在内测阶段,主要是看市场反馈来定价,所以现在还是免费阶段,等上线了估计就可能收费了

一次吃透 MySQL 底层原理👉 架构篇、事务篇、索引与锁篇全覆盖

这里分享一下极客时间的这份内测专栏,只申请到30个内测名额,扫描下方二维码自取。。。

扫描上方二维码自领

C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 113浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 98浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 83浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 66浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 103浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 40浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 63浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 167浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦