自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux加入對Rust的支持?Linus:保持觀望,驅(qū)動程序是首選

系統(tǒng) Linux
Rust 是一款流行的系統(tǒng)編程語言,將對性能的低級(low-level)控制與現(xiàn)代語言功能結(jié)合在一起,語法上類似于 C ++,但是可以保證內(nèi)存安全。

 Linux 內(nèi)核對 Rust 的支持一直是個備受關(guān)注的話題。此前,Linus Torvalds 曾回應(yīng)稱可以默認(rèn)啟用 Rust 支持;Linux 內(nèi)核的穩(wěn)定分支維護者 Greg Kroah-Hartman 也表示愿意接受用 Rust 開發(fā) Linux 驅(qū)動,社區(qū)正在推動用 Rust 來編寫內(nèi)核代碼的進展。針對此事,外媒 ZDNet 近日則進一步采訪了 Linus 和 Greg,以詢問他們的具體看法。

Rust 是一款流行的系統(tǒng)編程語言,將對性能的低級(low-level)控制與現(xiàn)代語言功能結(jié)合在一起,語法上類似于 C ++,但是可以保證內(nèi)存安全。目前,Debian Linux 開發(fā)者 Sylvestre Ledru 已將 Rust 版本的 Coreutils(GNU shell 的核心工具)移植到了 Linux。

近年來,Rust 語言已越來越受到微軟、AWS 等大廠的偏愛;這些都跟它注重內(nèi)存安全的特性脫不了干系。AWS 產(chǎn)品經(jīng)理 Samartha Chandrashekar 稱,Rust 有助于確保線程安全,并防止與內(nèi)存相關(guān)的錯誤(例如可能導(dǎo)致安全漏洞的緩沖區(qū)溢出)。他這一看法也得到了很多其他開發(fā)者的贊同。

目前,大約有三分之二的 Linux 內(nèi)核漏洞均源自于內(nèi)存安全問題。開發(fā)人員認(rèn)為,理論上 Rust 可以通過使用該語言天生更安全的 API 來完全避免這些問題。Linux 開發(fā)者 Nelson Elhage 稱,Linux Rust 的支持者并不是提議將 Linux 內(nèi)核重寫成 Rust,他們只是專注于走向一個可以用 Rust 編寫新代碼的世界。在 2020 Linux Plumbers 大會上,與會者曾集中討論了 Linux 內(nèi)核對 Rust 的支持可能涉及到的三個方面:內(nèi)核中現(xiàn)有的 API、架構(gòu)支持,和 ABI 與內(nèi)核的兼容性問題。

對此,Linus Torvalds 則表明,自己仍持一個觀望的態(tài)度。“我對這個項目很感興趣,但我認(rèn)為這是由那些對 Rust 非常上頭的人推動的,我想看看它最終如何在實踐中發(fā)揮作用”。

就個人而言,Linus 認(rèn)為自己并不是一個推崇 Rust 的人,但考慮到該語言所允諾的一些優(yōu)勢以及其可以解決一些安全隱患的能力,Linus 對它仍持開放態(tài)度。不過 Linus 也表示,“但我也知道,有時候承諾是不會兌現(xiàn)的。”

在 Linux 內(nèi)核中的嘗試方面,Linus 指出,Rust 的首要目標(biāo)應(yīng)該是驅(qū)動程序。因為在那里可以找到許多不同的可能目標(biāo),且內(nèi)核的這些各個部分都相當(dāng)小且獨立。“對一些人來說,這可能不是一個非常有趣的目標(biāo)。但卻是'obvious one'”。

而先拿驅(qū)動程序開刀還有一個原因是,"任何對驅(qū)動程序的初步試驗都只是架構(gòu)方面的問題";Linus 稱,很多驅(qū)動程序都只與幾個目標(biāo)架構(gòu)有關(guān),因此,即使 Rust 代碼在某些架構(gòu)上不被支持,問題也不會顯得很嚴(yán)重。

Greg 也贊同認(rèn)為,驅(qū)動程序可能是第一個進行此等嘗試的地方;因為它們依賴于核心內(nèi)核功能,但卻沒有任何東西依賴于它們。

此外,有些人曾向 Linus 反饋稱他們根本不喜歡在用戶空間中使用 Rust;并抱怨,用戶空間中的 Rustification 對于未來內(nèi)核的使用并不是一個好兆頭。

對此,Linus 則表示,內(nèi)核與用戶空間項目并不相同。內(nèi)核“在某些方面更加困難(我們使用了很多非常奇怪的頭文件,這些頭文件突破了 C 的界限),但在許多其他方面卻也比較容易(主要是因為內(nèi)核是相當(dāng)獨立的,因此最終二進制文件不依賴其他項目)。”

最后,Greg 總結(jié)稱,"這一切都將歸結(jié)于如何將用 C 語言編寫的內(nèi)核核心結(jié)構(gòu)和壽命規(guī)則之間的交互映射到 Rust 結(jié)構(gòu)和壽命規(guī)則中,以使得 Rust 中的驅(qū)動程序能夠正確使用它們。為此,開發(fā)者們需要做很多細致的工作,我祝他們好運。"

雖然短時間內(nèi)我們還不會看到 Linux 從 C 語言移植到 Rust 中。但鑒于人們對將基于 Rust 的用戶空間程序、驅(qū)動程序,以及最終將基于 Rust 的 Linux 內(nèi)核引入 Linux 操作系統(tǒng)的興趣和行動力,未來幾年內(nèi)的發(fā)展或許值得期待。

 

 

責(zé)任編輯:張燕妮 來源: 開源中國
相關(guān)推薦

2021-03-26 13:12:22

LinusLinuxRust

2022-05-13 09:14:47

NVidia開源Linux

2022-05-23 13:17:32

Linux開源NVIDIA

2013-10-31 16:29:10

Linux內(nèi)核

2011-01-06 16:29:08

linuxtasklet機制

2011-01-10 18:21:38

linux編寫程序

2010-01-07 13:27:22

Linux驅(qū)動程序

2023-10-28 09:57:04

FocusriteLinux

2021-11-29 07:55:45

Linux GPIO Linux 系統(tǒng)

2009-12-07 09:39:04

Linux設(shè)備驅(qū)動硬件通信

2021-06-10 10:39:14

Linux 5.14驅(qū)動程序Hyper-V DRM

2021-07-22 23:24:44

Windows 11Windows微軟

2021-12-06 07:47:36

Linux 驅(qū)動程序Linux 系統(tǒng)

2009-07-06 18:17:46

JDBC驅(qū)動程序

2009-10-23 10:25:27

驅(qū)動程序技巧

2021-10-08 15:59:39

Linux 代碼 開發(fā)

2023-09-26 19:20:09

微軟開源windows

2021-06-08 11:31:11

WineWaylandVulkan

2022-09-24 19:44:14

AMD開源

2009-07-16 13:26:43

DB2 JDBC驅(qū)動
點贊
收藏

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