Phiên bản thứ chín của Rust cho Linux đến và tạm biệt để hỗ trợ cho các phiên bản trước Linux 3.2

Wow, công việc của Hỗ trợ trình điều khiển Rust cho Linux hiện đang được tiến hành và một sự phát triển khá liên tục đã bắt đầu, vì nó không có nhiều phiên bản 8 đã được công bố của các bản vá và đó là nó ngay bây giờ chúng tôi có phiên bản 9.

Và đó là trong phiên bản thứ chín này đã được đề xuất, điều đáng nói là như vậy nó là một phiên bản đơn giản của ấn bản thứ tám được xuất bản vài ngày trước. Bộ công cụ này được phân biệt bởi sự giảm kích thước đáng kể và chỉ để lại mức tối thiểu cần thiết nhất, đủ để xây dựng một mô-đun hạt nhân được viết bằng Rust.

Bản vá tối thiểu được giả định sẽ giúp việc áp dụng hỗ trợ Rust vào nhân chính dễ dàng hơn. Sau khi cung cấp hỗ trợ tối thiểu, nó được lên kế hoạch để tăng dần chức năng hiện có, chuyển các thay đổi khác từ nhánh Rust-for-Linux.

Đây là loạt bản vá (v9) để thêm hỗ trợ cho Rust như một ngôn ngữ thứ hai cho nhân Linux…

Như thường lệ, xin đặc biệt cảm ơn ISRG (Nhóm nghiên cứu bảo mật Internet) và Google đã hỗ trợ tài chính cho họ trong nỗ lực này.

So với phiên bản 8, dung lượng của bản vá đã giảm từ 40 xuống còn 000 dòng mã. Ví dụ: phiên bản 3 chỉ bao gồm 500% mã (60 dòng) từ gói hộp "hạt nhân" và 32% thư viện cấp phát, cho phép bạn tạo các mô-đun hạt nhân đơn giản nhất bằng cách sử dụng kiểu Vec. và hiển thị thông tin trong bản ghi hạt nhân bằng macro "pr_info!".

Hơn nữa, Liên quan đến Rust và Linux, điều đáng nói là gần đây Các nhà phát triển dự án gỉ đã cảnh báo cho người dùng về sự gia tăng sắp xảy ra các yêu cầu đối với môi trường Linux trong trình biên dịch, trình quản lý gói hàng hóa và thư viện tiêu chuẩn libstd.

Kể từ Rust 1.64, dự kiến ​​vào ngày 22 tháng 2022 năm XNUMX, các yêu cầu tối thiểu đối với Glibc sẽ được nâng lên từ phiên bản 2.11 lên 2.17 và nhân Linux từ 2.6.32 lên 3.2. Các hạn chế cũng áp dụng cho các mã nhị phân Rust được xây dựng bằng libstd.

Các bản phân phối RHEL 7, SLES 12-SP5, Debian 8 và Ubuntu 14.04 đáp ứng các yêu cầu mới. Hỗ trợ cho RHEL 6, SLES 11-SP4, Debian 7 và Ubuntu 12.04 sẽ bị ngừng. Các lý do không dùng nữa cho các hệ thống Linux cũ hơn bao gồm tài nguyên hạn chế để tiếp tục hỗ trợ các môi trường cũ hơn.

Tại sao phải tăng các yêu cầu?
Chúng tôi muốn Rust và các mã nhị phân do Rust tạo ra có thể sử dụng rộng rãi nhất có thể. Đồng thời, dự án Rust chỉ có tài nguyên hạn chế để duy trì khả năng tương thích với các môi trường cũ hơn.

Có hai phần đối với các yêu cầu của chuỗi công cụ: các yêu cầu tối thiểu để chạy trình biên dịch Rust trên hệ thống máy chủ và các yêu cầu tối thiểu cho các tệp nhị phân được biên dịch chéo.

Các yêu cầu tối thiểu đối với các công cụ lưu trữ ảnh hưởng đến hệ thống xây dựng của chúng tôi. Rust CI tạo ra các tạo tác nhị phân cho hàng chục mục tiêu khác nhau. Việc xây dựng mã nhị phân hỗ trợ các phiên bản cũ hơn của glibc yêu cầu xây dựng hệ điều hành với glibc cũ hơn (cho các bản dựng gốc) hoặc sử dụng một bản gốc bản dựng có phiên bản glibc cũ hơn (cho các bản dựng chéo).

Đặc biệt, khả năng tương thích với Glibcs ​​cũ hơn yêu cầu sử dụng các công cụ cũ hơn khi được xác minh trong một hệ thống tích hợp liên tục, so với yêu cầu tăng phiên bản trên LLVM và các tiện ích biên dịch chéo. Sự gia tăng các yêu cầu về phiên bản hạt nhân là do libstd có khả năng sử dụng các lệnh gọi hệ thống mới mà không cần duy trì các lớp để đảm bảo tính tương thích với các hạt nhân cũ hơn.

Người dùng sử dụng tệp thực thi do Rust tạo trong môi trường có nhân Linux cũ hơn nên nâng cấp hệ thống của họ, sử dụng phiên bản cũ hơn của trình biên dịch hoặc duy trì phân nhánh libstd phân lớp của riêng họ để duy trì khả năng tương thích.

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 tại liên kết sau.


Để 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.