UK — The Register
Systemd bổ sung hỗ trợ Rust
Phần mềm2 phút đọc
Systemd, phần mềm khởi động và quản lý dịch vụ trên nhiều hệ điều hành Linux, sắp cho phép viết các thành phần mới bằng ngôn ngữ lập trình Rust. Tính năng này đã được thêm vào mã nguồn và sẽ có trong phiên bản 263.
Chuyện gì đã xảy ra?
Nhà phát triển Christian Brauner thông báo rằng tính năng hỗ trợ Rust đã được gộp vào mã nguồn của systemd. Yêu cầu gộp mã trước đó (số #44144) đã được tách thành năm phần nhỏ. Phần quan trọng nhất là hỗ trợ viết các chương trình bằng Rust. Tính năng này chưa có trong phiên bản hiện tại. Nó sẽ xuất hiện trong phiên bản 263, hiện đang được phát triển.
Các con số và sự kiện chính
- Systemd phiên bản 262 được phát hành khoảng một tháng trước.
- Yêu cầu tối thiểu là Rust 1.85 trở lên, bindgen 0.71.1 trở lên và Meson 1.4.0 trở lên.
- Rust 1.85 ra mắt vào tháng 2 năm 2025. Phiên bản Rust 1.99.1 vừa xuất hiện trong tháng này.
- Phần hỗ trợ Rust được tách thành năm phần nhỏ trong yêu cầu gộp mã mới.
Vì sao đây là chuyện cần biết?
Systemd là phần mềm khởi động hệ thống Linux và quản lý các dịch vụ chạy nền. Trước đây, phần lớn systemd được viết bằng ngôn ngữ C. Rust là ngôn ngữ mới hơn, được xem là an toàn hơn về bộ nhớ. Tuy vậy, đây không phải là kế hoạch viết lại systemd bằng Rust. Cũng cần phân biệt rõ: viết module systemd bằng Rust khác với gọi systemd từ mã Rust, việc gọi systemd từ Rust đã có từ nhiều năm trước.
Vì sao điều này quan trọng?
Đây là bước đi cho thấy systemd đang mở rộng cách phát triển. Các nhà phát triển Rust có thể đóng góp module mới mà không cần học C. Tuy nhiên, các giới hạn đi kèm rất rõ ràng. Mã Rust chỉ dùng cho thành phần mới, không dùng thư viện chuẩn của Rust, và việc build phải dùng Meson thay vì Cargo. Điều này giúp giữ hệ thống build hiện có ổn định.
Cần theo dõi điều gì?
- Systemd 263 có được phát hành với tính năng Rust hay không.
- Các phần còn lại của yêu cầu gộp mã được chấp nhận hay chưa.
- Rust có hỗ trợ thư viện động tốt hơn để systemd lõi có thể dùng Rust trong tương lai hay không.
Chú giải
- systemd
- Phần mềm chạy đầu tiên khi máy Linux khởi động, dùng để quản lý các dịch vụ nền.
- Rust
- Ngôn ngữ lập trình tập trung vào an toàn bộ nhớ và tốc độ.
- Cargo
- Công cụ quản lý gói và build của Rust, dùng để xây dựng ứng dụng Rust.
- Meson
- Hệ thống build dùng để biên dịch phần mềm, cũng được dùng bởi dự án GNOME.