Phiên bản thứ hai của các bản vá lỗi hỗ trợ trình điều khiển Rust trên Linux đã được xuất xưởng

Vào tháng XNUMX năm nay trên nhánh linux-next mà tại thời điểm đó đã hoạt động cho hạt nhân Linux 5.13, Một bộ thành phần ban đầu đã được đưa vào để phát triển trình điều khiển thiết bị trong ngôn ngữ Rust và bây giờ yêu cầu đã được thực hiện để bao gồm một phiên bản thứ hai các bản vá để thêm hỗ trợ Rust cho nhân Linux.

Người đã gửi yêu cầu đến các nhà phát triển Linux là Miguel Ojeda, tác giả của dự án Rust-for-Linux và là người mà chúng tôi cũng đã nói đến cách đây vài ngày, vì anh ấy được thuê để phụ trách dự án "Prossimo" về cơ bản tập trung vào việc phối hợp các nỗ lực để chuyển cơ sở hạ tầng phần mềm quan trọng sang một mã bảo mật để bảo mật bộ nhớ nhân Linux với Rust (nếu bạn muốn biết thêm về dự án, bạn có thể tham khảo đăng tại liên kết bên dưới.)

Trình điều khiển gỉ trên Linux
Bài viết liên quan:
Prossimo, một dự án ISRG để bảo mật bộ nhớ nhân Linux bằng Rust

Yêu cầu được gửi bởi Miguel Ojeda là phiên bản cập nhật thứ hai của các thành phần để phát triển trình điều khiển thiết bị bằng ngôn ngữ Rust và trong đó các nhận xét được đưa ra trong cuộc thảo luận về phiên bản đầu tiên của các bản vá bị xóa và Linus Torvalds đã tham gia cuộc thảo luận và đề xuất thay đổi logic để xử lý một số hoạt động bit.

Bên trong những lợi ích được đề cập là quản lý bộ nhớ an toàn được đảm bảo trong Rust tại thời điểm biên dịch bằng cách kiểm tra các tham chiếu, theo dõi quyền sở hữu đối tượng và thời gian tồn tại của đối tượng, cũng như đánh giá tính đúng đắn của quyền truy cập bộ nhớ tại thời điểm chạy.

Rust cũng cung cấp bảo vệ tràn số nguyên, yêu cầu khởi tạo bắt buộc các giá trị biến trước khi sử dụng, xử lý tốt hơn các lỗi trong thư viện chuẩn, áp dụng khái niệm tham chiếu và biến bất biến theo mặc định, đồng thời cung cấp khả năng viết tĩnh mạnh mẽ để giảm thiểu lỗi logic.

Trong số những thay đổi nổi bật của phiên bản mới này của các bản vá lỗi mà nó được đề cập:

  • Mã phân bổ bộ nhớ ngăn ngừa khả năng tạo ra một sự hoảng loạn khi xảy ra các lỗi như hết bộ nhớ.
  • Được bao gồm một biến thể của thư viện Rust Distribution, trong đó mã đã được làm lại để xử lý các ổ khóa, nhưng mục tiêu cuối cùng là đưa tất cả các tính năng cần thiết cho nhân vào phiên bản chính của phân bổ (các thay đổi đã được chuẩn bị và chuyển sang thư viện Rust tiêu chuẩn).
  • Thay vì các bản dựng hàng đêm, giờ đây có thể sử dụng các phiên bản beta và ổn định trình biên dịch gỉc để biên dịch hạt nhân hỗ trợ Rust. Hiện tại gỉc 1.54-beta1 được sử dụng làm trình biên dịch tham chiếu, nhưng sau khi phát hành 1.54 vào cuối tháng, nó sẽ được hỗ trợ làm trình biên dịch tham chiếu.
  • Đã thêm hỗ trợ viết bài kiểm tra bằng thuộc tính Rust tiêu chuẩn "# [test]" và khả năng sử dụng các học thuyết để sử dụng mã mẫu từ tài liệu làm bài kiểm tra.
  • Hỗ trợ cho kiến ​​trúc ARM32 và RISCV đã được thêm vào bên cạnh x86_64 và ARM64 được hỗ trợ trước đó.
    Cải tiến triển khai GCC Rust (giao diện GCC cho Rust) và gỉc_codegen_gcc (phụ trợ gỉ cho GCC), hiện đã vượt qua tất cả các điểm chuẩn.
  • A mức độ trừu tượng mới cho các chương trình Rust sử dụng các cơ chế hạt nhân được viết bằng C, chẳng hạn như cây, đối tượng đếm tham chiếu, tạo bộ mô tả tệp, tác vụ, tệp và vectơ I / O.
  • Các thành phần phát triển trình điều khiển đã cải thiện hỗ trợ cho mô-đun "file_operations", macro "mô-đun!", Ghi nhật ký macro và trình điều khiển thô sơ (thăm dò và xóa).
  • Binder có hỗ trợ chuyển các bộ mô tả tệp và liên kết LSM.
  • Một ví dụ chức năng hơn về trình điều khiển Rust, bcm2835-rng, được đề xuất cho trình tạo số ngẫu nhiên phần cứng cho bảng Raspberry Pi.

Cuối cùng, nếu bạn quan tâm muốn 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: AB Internet Networks 2008 SL
  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.