偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Asahi Linux首席開發(fā)者發(fā)辭職信引熱議:Rust和C的混合堪比毒瘤癌癥

原創(chuàng) 精選
開發(fā) 前端
那些編寫 C 和 C++ 代碼的人注意到了對 Rust 日益增長的興趣,并承認需要解決內(nèi)存安全問題。因此,有許多項目正在進行中,例如 TrapC、FilC、Mini - C 和 Safe C++,旨在使 C 和 C++ 更不容易受到內(nèi)存漏洞的影響,此外還有像 DARPA 的 TRACTOR 這樣的努力,以自動將 C 代碼轉(zhuǎn)換為 Rust。

出品 | 51CTO技術(shù)棧(微信號:blog51cto)

又過去一年,Linus 的 Rust for Linux項目進展如何了?情況不太好。

試圖將 Rust 代碼添加到 Linux 內(nèi)核的開發(fā)人員,仍在繼續(xù)面臨來自內(nèi)核維護者的反對,這些維護者認為:使用多種語言是一種不受歡迎且風險較高的復雜情況。

去年 9 月,當微軟軟件工程師韋德森·阿爾梅達·菲略(Wedson Almeida Filho)因?qū)Α胺羌夹g(shù)性胡鬧”感到沮喪而退出 Rust for Linux 項目時,問題首次浮出水面。

內(nèi)核維護者的煎熬

別強迫我應(yīng)付你當下流行的時髦語言。維護多語言項目是件痛苦的事?!?/span>

上個月,當提出一個抽象方案以允許用 Rust 編寫的設(shè)備驅(qū)動程序調(diào)用主要基于 C 的內(nèi)核核心 DMA API 時,問題再次引發(fā)爭議,內(nèi)核維護者克里斯托夫·赫爾維格(Christoph Hellwig)對此表示反對。

具體來說,提交了一個補丁,允許 Rust 驅(qū)動程序使用 DMA API 的 dma_alloc_coherent() C 函數(shù)來分配和映射用于直接內(nèi)存訪問的大內(nèi)存區(qū)域。

在給 Linux 內(nèi)核郵件列表的一封信中,赫爾維格寫道:“請不要在 kernel/dma 中使用 Rust 代碼。” 值得一提的是,該補丁將代碼添加到了 Linux 源代碼樹的 rust/kernel 部分,而不是 kernel/dma,至少據(jù)我們所知是這樣。

Rust for Linux 項目的米格爾·奧赫達(Miguel Ojeda)請求赫爾維格提出替代方案。

赫爾維格回應(yīng)道:“把包裝器留在你的代碼里,而不是讓別人的日子變得痛苦?!彼€接著憤憤不平地說,“DMA API 的接口應(yīng)該保留在可讀的 C 代碼中,而不是用奇怪的綁定,這樣它才能保持可查找性和可維護性。”

赫爾維格似乎希望非 C 驅(qū)動程序有自己的私有 C 代碼綁定,并且這些抽象不應(yīng)該單獨維護,即使在 rust/kernel 樹中也不行。

紅帽軟件工程師丹尼洛·克魯姆里奇(Danilo Krummrich)參與了 Rust for Linux 項目,他質(zhì)疑赫爾維格,赫爾維格明確表示他根本不想處理 Rust 代碼。

“別強迫我應(yīng)付你當下流行的時髦語言,”他寫道,“維護多語言項目是我不愿處理的痛苦。如果你想用非 C 語言,無論是匯編還是 Rust,你寫到 C 接口,并且自己處理阻抗不匹配的問題,就我而言。”

對此,克魯姆里奇解釋說,Rust for Linux 項目正在創(chuàng)建抽象 C API 的 Rust 代碼,供所有 Rust 驅(qū)動程序使用,并由 Rust 開發(fā)者維護。換句話說,內(nèi)核的 C 端保持不變,Rust 驅(qū)動程序使用對 C 代碼的抽象,并且這些抽象由 rust/kernel 中的團隊集中維護,這可以說比驅(qū)動程序各自擁有獨立的 C 綁定要好得多。

混合C和Rust是一種癌癥

但赫爾維格似乎對單獨維護 DMA Rust 抽象層并不感興趣。他解釋說,他不想要另一個維護者:

如果你想因為跨語言代碼庫而使 Linux 難以維護,那就去做吧,這樣你必須自己處理,而不是將這種“癌癥”擴散到核心子系統(tǒng)。(這里的“癌癥”明確指的是跨語言代碼庫,而不是 Rust 本身,只是為了避開那些喜歡煽風點火的人)。

熟悉技術(shù)歷史的人可能會記得,2001 年,時任微軟首席執(zhí)行官的史蒂夫·鮑爾默(Steve Ballmer)曾將 Linux 比作癌癥?!癓inux 是一種癌癥,它從知識產(chǎn)權(quán)的角度附著在它接觸到的一切事物上,”鮑爾默說,那時 Linux 還沒有擴散到 Windows 子系統(tǒng) for Linux。

赫爾維格接著爭辯說,讓其他人維護 DMA 內(nèi)存分配器的 Rust 抽象層作為一個單獨的組件并不能改善情況,反而會阻礙內(nèi)核的可維護性:

每一種額外的語言滲入,都會極大地降低內(nèi)核作為一個集成項目的可維護性。Linux 能夠存活這么久的唯一原因是它沒有內(nèi)部邊界,而添加另一種語言則完全打破了這一點。你可能不喜歡我的回答,但我將盡我所能阻止這種情況。這不是因為我討厭 Rust。盡管它不是我最喜歡的編程語言,但它肯定是最好的新語言之一,我鼓勵人們在適合的項目中使用它。我絕對不希望它出現(xiàn)在我需要維護的巨大 C 代碼庫附近。

Ashai Linux 項目負責人赫克托·馬丁(Hector Martin)表示,他認為赫爾維格的言論構(gòu)成了違反行為準則的行為,但他懷疑不會采取任何紀律處分?!蹲詧蟆吩儐栺R丁是否打算提交行為準則投訴,但我們尚未收到回復。

Linus的態(tài)度決定Rust for Linux項目的存亡

馬丁認為,Rust for Linux 的開發(fā)人員應(yīng)該忽視赫爾維格的擔憂,并提交他們的補丁以供內(nèi)核負責人林納斯·托瓦爾茲(Linus Torvalds)批準:

“如果林納斯沒有在這個話題上給出權(quán)威性的答案,米格爾和其他 Rust 人員應(yīng)該在補丁經(jīng)過審查并準備好后直接合并這個系列,忽略克里斯托夫試圖破壞項目的明顯企圖。如果林納斯[接受拉取請求],克里斯托夫說什么都不重要。如果林納斯不[接受],[Rust for Linux]項目基本上就死了,除非林納斯或克里斯托夫采取行動。其他一切都是在兜圈子?!?/span>

有外媒曾詢問赫爾維格是否愿意就上面馬丁的評論發(fā)表意見,他拒絕了。

支持Rust的理由

2022 年 10 月 3 日,Linux 內(nèi)核增加了對 Rust 代碼的支持,此前不久,微軟 Azure 首席技術(shù)官馬克·魯西諾維奇(Mark Russinovich)曾主張新的編程項目應(yīng)該用 Rust 而不是 C 或 C++ 來編寫。

“為了安全性和可靠性,行業(yè)應(yīng)該宣布這些語言已經(jīng)過時,”魯西諾維奇說。

他的理由是,Rust 代碼可以編寫得避免困擾 C 和 C++ 代碼的內(nèi)存安全漏洞(例如緩沖區(qū)溢出),這些漏洞是大型項目中大多數(shù)嚴重漏洞的根源。這種觀點隨后得到了世界各地政府安全機構(gòu)的支持。

Linus:有些人不希望 Rust 侵入他們的領(lǐng)域

那些編寫 C 和 C++ 代碼的人注意到了對 Rust 日益增長的興趣,并承認需要解決內(nèi)存安全問題。因此,有許多項目正在進行中,例如 TrapC、FilC、Mini - C 和 Safe C++,旨在使 C 和 C++ 更不容易受到內(nèi)存漏洞的影響,此外還有像 DARPA 的 TRACTOR 這樣的努力,以自動將 C 代碼轉(zhuǎn)換為 Rust。

在菲略去年宣布退出 Rust for Linux 之后不久,Linux 領(lǐng)袖林納斯·托瓦爾茲(Linus)在奧地利維也納的 Linux 基金會開源峰會上,就 C 和 Rust 開發(fā)者之間的摩擦發(fā)表了看法。

“顯然,有些人就是不喜歡 Rust 的概念,也不希望 Rust 侵入他們的領(lǐng)域,”托瓦爾茲說,“甚至有人在談?wù)?Rust 集成是一個失敗……我們已經(jīng)做了兩年了,現(xiàn)在就說這個還為時過早,但我認為,即使它最終成為一個失敗——而我不認為它會——這也是學習的過程。”

到目前為止,Linux 開發(fā)者社區(qū)已經(jīng)了解到 Rust 并不總是受歡迎的。

剛剛!馬丁請求辭去Linux內(nèi)核維護者的職務(wù)

最新消息,本周五(2月7日發(fā)搞當天),赫克托·馬丁已請求辭去 Linux 維護者的職務(wù)。

圖片圖片

“我對內(nèi)核開發(fā)流程或社區(qū)管理方式已經(jīng)沒有任何信心了,”他在給 Linux 內(nèi)核郵件列表的信中寫道。

“蘋果/ARM 平臺的開發(fā)將繼續(xù)在下游進行。如果我以后自己想為任何子樹提交一些補丁到上游,我可能會,也可能不會。任何愿意自己為上游提交而戰(zhàn)的人都可以這么做?!?/span>

參考鏈接:https://www.theregister.com/2025/02/05/mixing_rust_and_c_linux/?td=rt-3a

責任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2021-09-07 11:36:52

首席軟件官基礎(chǔ)設(shè)施安全建設(shè)

2013-01-18 14:00:59

VMware

2013-05-20 17:00:34

LinuxLinux兼容

2010-02-01 10:11:46

朱駿陳曉薇

2013-03-25 14:10:02

Windows Blu

2009-11-30 15:05:54

2014-11-11 14:31:07

應(yīng)用交付/地鋪科技

2012-01-05 15:52:47

移動游戲開發(fā)者

2024-01-10 17:37:17

概率token模型

2015-02-11 14:53:58

微信SDK

2025-01-26 16:12:52

PythonRust開發(fā)

2011-08-25 09:17:24

庫克喬布斯蘋果

2023-09-07 13:33:00

開發(fā)者大會

2015-04-24 15:24:39

搜狗手機輸入法

2013-02-22 15:06:46

WPS陳歐體金山軟件

2018-08-16 21:31:58

微信小程序開發(fā)者

2021-06-18 15:15:51

機器學習Rust框架

2021-03-05 15:58:45

AI 數(shù)據(jù)人工智能

2021-12-21 21:52:05

微信冬至移動應(yīng)用

2024-03-01 12:03:00

AI模型
點贊
收藏

51CTO技術(shù)棧公眾號