Linux 6.1 RC1, cái nhìn đầu tiên về Rust trên Linux

RustLinux

Việc tích hợp Rust vào Linux đã được cộng đồng và các nhà phát triển chấp nhận ở mức độ cao

Với sự xuất hiện của RC đầu tiên của Linux 6.1 đã tích hợp nhiều thay đổi quan trọng trong phiên bản 6.1, nhưng một trong những thay đổi nhận được nhiều sự chú ý nhất cũng sẽ có ít ảnh hưởng ngắn hạn nhất đến người dùng hạt nhân: sự ra đời của hỗ trợ Rust.

Linus Torvalds đã hứa tại Hội nghị thượng đỉnh nguồn mở vừa qua điều này sẽ dẫn đến việc bao gồm Rust cho Linux trên phiên bản hạt nhân 6.1 và từ đó khung công tác Rust ban đầu đã được hợp nhất vào cây Linux Git chính.

Cái này mới mã dòng 12 ban đầu chỉ cung cấp cơ sở hạ tầng cơ bản và tích hợp rất cơ bản, trong khi các yêu cầu kéo trong tương lai sẽ thêm nhiều trừu tượng hệ thống con hơn, các trình điều khiển khác nhau được viết bằng Rust, v.v., cộng với việc biên dịch hạt nhân Linux với hỗ trợ Rust vẫn là tùy chọn.

Trong một thông báo gửi tới cộng đồng hạt nhân, Torvalds nói:

“Cây mới có nền tảng gần đây, nhưng về cơ bản đã có mặt trên Linux-tiếp theo trong một năm rưỡi. Được cập nhật dựa trên phản hồi từ Hội nghị bảo trì hạt nhân. Miguel là người bảo trì chính và tôi giúp đỡ khi cần thiết. Kế hoạch của chúng tôi là để cây chuyển sang thực hành tiêu chuẩn là không thay đổi cơ sở khi vòng cơ sở hạ tầng ban đầu này hoàn thành. Nội dung là mức tối thiểu tuyệt đối để cho phép mã Rust được tích hợp vào hạt nhân, với nhiều giao diện khác (và trình điều khiển: NVMe, 9p, GPU M1) trên đường. "

Vì không có hệ thống nào có nhân 6.1 sẽ chạy mã Rust, những gì nó cung cấp thay đổi này đó là cơ hội cho các nhà phát triển hạt nhân có thể "chơi" với ngôn ngữ trong ngữ cảnh của hạt nhân và cảm nhận về quá trình phát triển Rust diễn ra như thế nào. Kết luận khả dĩ nhất đối với hầu hết các nhà phát triển là không có đủ Rust trong lõi để làm bất cứ điều gì đáng giá.

Làm việc trên Rust cho nhân Linux đã diễn ra được vài năm và đã dẫn đến rất nhiều mã hỗ trợ và một số trình điều khiển thú vị để xem xét. Các sáng kiến ​​khác đang được tiến hành, bao gồm viết trình điều khiển đồ họa Apple bằng ngôn ngữ Rust.

Đối với sự hợp nhất ban đầu với cốt lõi chính, Linus Torvalds đã nói rõ là bao gồm càng ít tính năng càng tốt. Do đó, các trình điều khiển này và mã hỗ trợ của chúng đã bị xóa và phải chờ bản phát hành hạt nhân trong tương lai. Những gì hiện tại là sự hỗ trợ cần thiết để xây dựng một mô-đun có thể được tải vào hạt nhân, cũng như một mô-đun mẫu nhỏ.

Rust cho Linux nhằm mục đích giới thiệu một ngôn ngữ lập trình hệ thống mới vào hạt nhân. Rust có một thuộc tính chính khiến nó rất thú vị khi được coi là ngôn ngữ hạt nhân thứ hai: nó đảm bảo rằng không có hành vi không xác định nào xảy ra (miễn là mã không an toàn là đúng).

Điều này bao gồm việc không có lỗi như sử dụng sau khi miễn phí, giải phóng kép, chạy đua dữ liệu, v.v. Sau 31 năm, ngôn ngữ thứ hai sẽ được chấp nhận để phát triển cốt lõi. Các cuộc thảo luận liên quan xoay quanh khả năng bỏ C để chuyển sang ngôn ngữ Rust.

Khả năng tương thích với Rust yêu cầu các phiên bản cụ thể của trình biên dịch Rust và tiện ích bindgen, cụ thể là Rust 1.62.0 và bindgen 0.56.0. Nếu hệ thống đích có các phiên bản mới hơn, quá trình thiết lập sẽ đưa ra cảnh báo nhưng vẫn tiếp tục. Bất tiện hơn cho bất kỳ ai đang cố gắng xây dựng bằng chuỗi công cụ Rust do nhà cung cấp của họ cung cấp, quá trình xây dựng cũng cần nguồn thư viện tiêu chuẩn Rust để có thể xây dựng phiên bản hộp lõi của riêng họ và phân bổ.

Khi điều này được thực hiện, hệ thống cấu hình hạt nhân sẽ đồng ý đặt tùy chọn CONFIG_RUST; một tùy chọn bổ sung sẽ xây dựng mô-đun ví dụ.

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.