Versi kesembilan Rust untuk Linux tiba dan mengucapkan selamat tinggal pada dukungan untuk versi sebelum Linux 3.2

Wow, pekerjaan Dukungan driver Rust untuk Linux sekarang sedang berlangsung dan perkembangan yang cukup berkelanjutan telah dimulai, karena tidak banyak yang harus versi 8 diumumkan dari tambalan dan hanya itu sekarang kami memiliki versi 9.

Dan dalam versi kesembilan inilah yang telah diusulkan, perlu disebutkan seperti itu ini adalah versi sederhana dari edisi kedelapan yang diterbitkan beberapa hari yang lalu. Kit ini dibedakan dengan pengurangan ukuran yang signifikan dan dengan hanya menyisakan minimum yang paling diperlukan, cukup untuk membangun modul kernel yang ditulis dalam Rust.

Patch minimum diasumsikan akan membuatnya lebih mudah untuk mengadopsi dukungan Rust ke dalam kernel utama. Setelah memberikan dukungan minimal, direncanakan untuk secara bertahap meningkatkan fungsionalitas yang ada, mem-porting perubahan lain dari cabang Rust-for-Linux.

Ini adalah rangkaian tambalan (v9) untuk menambahkan dukungan untuk Rust sebagai bahasa kedua ke kernel Linux…

Seperti biasa, terima kasih khusus kepada ISRG (Internet Security Research Group) dan Google atas dukungan finansial mereka dalam upaya ini.

Dibandingkan dengan versi 8, ukuran tambalan telah dikurangi dari 40 menjadi 000 baris kode. Misalnya, versi 3 hanya menyertakan 500% kode (60 baris) dari paket kotak "kernel" dan 32% dari pustaka alokasi, memungkinkan Anda membuat modul kernel paling sederhana menggunakan tipe Vec. dan menampilkan informasi di log kernel menggunakan makro "pr_info!".

Selain itu, Sehubungan dengan Rust dan Linux, perlu disebutkan bahwa baru-baru ini Pengembang proyek karat memperingatkan kepada pengguna tentang peningkatan persyaratan yang akan datang untuk lingkungan Linux di kompiler, manajer paket Cargo, dan pustaka standar libstd.

Pada Rust 1.64, dijadwalkan pada 22 September 2022, persyaratan minimum untuk Glibc akan dinaikkan dari versi 2.11 ke 2.17 dan kernel Linux dari 2.6.32 ke 3.2. Pembatasan juga berlaku untuk binari Rust yang dibuat dengan libstd.

Distribusi RHEL 7, SLES 12-SP5, Debian 8, dan Ubuntu 14.04 memenuhi persyaratan baru. Dukungan untuk RHEL 6, SLES 11-SP4, Debian 7, dan Ubuntu 12.04 akan dihentikan. Alasan penghentian dukungan untuk sistem Linux yang lebih lama termasuk sumber daya yang terbatas untuk terus mendukung lingkungan yang lebih lama.

Mengapa meningkatkan persyaratan?
Kami ingin Rust dan binari yang diproduksi oleh Rust dapat digunakan seluas mungkin. Pada saat yang sama, proyek Rust hanya memiliki sumber daya yang terbatas untuk menjaga kompatibilitas dengan lingkungan yang lebih lama.

Ada dua bagian persyaratan rantai alat: persyaratan minimum untuk menjalankan kompiler Rust pada sistem host, dan persyaratan minimum untuk binari yang dikompilasi silang.

Persyaratan minimum untuk rantai alat host memengaruhi sistem pembangunan kami. Rust CI menghasilkan artefak biner untuk lusinan target yang berbeda. Membangun binari yang mendukung versi glibc yang lebih lama memerlukan pembangunan sistem operasi dengan glibc yang lebih lama (untuk build asli) atau menggunakan root build dengan versi glibc yang lebih lama (untuk cross-build).

Khususnya kompatibilitas dengan Glibcs ​​yang lebih lama membutuhkan penggunaan alat yang lebih lama ketika diverifikasi dalam sistem integrasi berkelanjutan, versus peningkatan persyaratan versi pada LLVM dan utilitas kompilasi silang. Peningkatan persyaratan versi kernel disebabkan oleh kemampuan libstd untuk menggunakan panggilan sistem baru tanpa perlu memelihara lapisan untuk memastikan kompatibilitas dengan kernel yang lebih lama.

Pengguna yang menggunakan executable yang dibuat Rust di lingkungan dengan kernel Linux yang lebih lama disarankan untuk memutakhirkan sistem mereka, tetap menggunakan versi kompiler yang lebih lama, atau mempertahankan garpu libstd berlapis mereka sendiri untuk menjaga kompatibilitas.

Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi detailnya di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.