Versi kesembilan Rust untuk Linux tiba dan mengucapkan selamat tinggal kepada sokongan untuk versi sebelum Linux 3.2

Wow, kerja Sokongan pemacu karat untuk Linux kini sedang dijalankan dan pembangunan yang agak berterusan telah bermula, kerana ia tidak mempunyai banyak perkara versi 8 diumumkan daripada patch dan itu sahaja sekarang kita ada versi 9.

Dan ia adalah bahawa dalam versi kesembilan ini yang telah dicadangkan, ia patut disebut demikian ia adalah versi ringkas bagi edisi kelapan yang diterbitkan beberapa hari lalu. Kit ini dibezakan dengan pengurangan saiz yang ketara dan dengan hanya meninggalkan minimum yang paling diperlukan, cukup untuk membina modul kernel yang ditulis dalam Rust.

Tampalan minimum diandaikan akan memudahkan penggunaan sokongan Rust ke dalam kernel utama. Selepas memberikan sokongan minimum, ia dirancang untuk meningkatkan fungsi sedia ada secara beransur-ansur, mengalihkan perubahan lain daripada cawangan Rust-for-Linux.

Ini ialah siri tampalan (v9) untuk menambah sokongan untuk Rust sebagai bahasa kedua pada kernel Linux…

Seperti biasa, terima kasih khas kepada ISRG (Kumpulan Penyelidikan Keselamatan Internet) dan Google atas sokongan kewangan mereka dalam usaha ini.

Berbanding dengan versi 8, saiz tampalan telah dikurangkan daripada 40 kepada 000 baris kod. Sebagai contoh, versi 3 termasuk hanya 500% daripada kod (60 baris) daripada pakej kotak "kernel" dan 32% daripada pustaka alloc, membolehkan anda mencipta modul kernel yang paling mudah menggunakan jenis Vec. dan memaparkan maklumat dalam log kernel menggunakan makro "pr_info!".

Selain itu, Berhubung dengan Rust dan Linux, adalah wajar disebutkan bahawa baru-baru ini Pemaju projek karat memberi amaran kepada pengguna tentang peningkatan yang akan berlaku dalam keperluan untuk persekitaran Linux dalam pengkompil, pengurus pakej Kargo dan perpustakaan standard libstd.

Mulai Rust 1.64, dijadualkan pada 22 September 2022, keperluan minimum untuk Glibc akan dinaikkan daripada versi 2.11 kepada 2.17 dan kernel Linux daripada 2.6.32 kepada 3.2. Sekatan juga dikenakan pada binari Rust yang dibina dengan libstd.

Pengedaran RHEL 7, SLES 12-SP5, Debian 8 dan Ubuntu 14.04 memenuhi keperluan baharu. Sokongan untuk RHEL 6, SLES 11-SP4, Debian 7 dan Ubuntu 12.04 akan dihentikan. Sebab untuk menghentikan sokongan untuk sistem Linux yang lebih lama termasuk sumber yang terhad untuk terus menyokong persekitaran yang lebih lama.

Mengapa menambah keperluan?
Kami mahu Rust dan binari yang dihasilkan oleh Rust boleh digunakan secara meluas yang mungkin. Pada masa yang sama, projek Rust hanya mempunyai sumber terhad untuk mengekalkan keserasian dengan persekitaran lama.

Terdapat dua bahagian kepada keperluan rantai alat: keperluan minimum untuk menjalankan pengkompil Rust pada sistem hos, dan keperluan minimum untuk binari tersusun silang.

Keperluan minimum untuk rantai alat hos mempengaruhi sistem binaan kami. Rust CI menghasilkan artifak binari untuk berpuluh-puluh sasaran yang berbeza. Membina binari yang menyokong versi lama glibc memerlukan membina sistem pengendalian dengan glibc yang lebih lama (untuk binaan asli) atau menggunakan akar binaan dengan versi glibc yang lebih lama (untuk binaan silang).

Secara khusus keserasian dengan Glibcs ​​yang lebih lama memerlukan penggunaan alat yang lebih lama apabila disahkan dalam sistem integrasi berterusan, berbanding keperluan versi yang meningkat pada LLVM dan utiliti penyusunan silang. Peningkatan dalam keperluan versi kernel adalah disebabkan oleh keupayaan libstd untuk menggunakan panggilan sistem baharu tanpa perlu mengekalkan lapisan untuk memastikan keserasian dengan kernel lama.

Pengguna yang menggunakan boleh laku ciptaan Rust dalam persekitaran dengan kernel Linux yang lebih lama dinasihatkan untuk menaik taraf sistem mereka, kekal menggunakan versi lama pengkompil atau mengekalkan garpu libstd berlapis mereka sendiri untuk mengekalkan keserasian.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.