Versi kelima patch untuk sokongan pemacu Rust pada Linux telah diterbitkan

Ia seolah-olah bahawa pembangunan tampalan untuk sokongan pemacu Rust pada Linux telah mengambil langkah yang baik Nah, baru lebih sebulan yang lalu cadangan yang dialih keluar itu dikeluarkan, kerana sejak versi ketiga, cadangan baharu telah dihantar setiap bulan dan kini cadangan baharu itu telah dikeluarkan, ini merupakan edisi keenam.

Miguel Ojeda telah mencadangkan keluaran baharu daripada komponen pembangunan pemacu peranti Rust untuk dipertimbangkan oleh pembangun kernel Linux. Ini adalah edisi keenam masih dianggap eksperimen tetapi ia sudah termasuk dalam cawangan linux-seterusnya dan cukup matang untuk mula bekerja pada mencipta lapisan abstraksi di atas subsistem kernel, serta menulis pemacu dan modul.

Bagi mereka yang masih tidak mengetahui perkembangan ini, mereka harus tahu itu dibiayai oleh Google dan ISRG (Kumpulan Penyelidikan Keselamatan Internet), yang merupakan pengasas projek Let's Encrypt dan mempromosikan HTTPS dan pembangunan teknologi untuk meningkatkan keselamatan Internet.

Harus diingat bahawa perubahan yang dicadangkan memungkinkan untuk menggunakan Rust sebagai bahasa kedua untuk membangunkan pemacu dan modul kernel. Sokongan Rust dibentangkan sebagai pilihan yang tidak didayakan secara lalai dan tidak menyebabkan Rust dimasukkan antara kebergantungan binaan yang diperlukan untuk kernel.

Menggunakan Rust untuk membangunkan pemacu akan membolehkan anda mencipta pemacu yang lebih baik dan selamat dengan usaha yang minimum, tanpa masalah seperti mengakses kawasan memori selepas membebaskannya, menunda rujukan nol dan limpahan penimbal.

Keselamatan ingatan disediakan dalam Rust ePada masa penyusunan dengan menyemak rujukan, menjejaki pemilikan objek, dan jangka hayat objek (skop), serta dengan menilai ketepatan capaian memori semasa pelaksanaan kod. Rust juga menyediakan perlindungan limpahan integer, memerlukan pembolehubah dimulakan sebelum digunakan, mengendalikan ralat dalam perpustakaan standard dengan lebih baik, menguatkuasakan konsep pembolehubah tidak berubah dan rujukan secara lalai, dan menawarkan penaipan statik yang kuat untuk meminimumkan ralat logik. .

Dalam versi baharu tampalan, komen yang dibuat semasa perbincangan yang pertama terus dipadamkan, 2, 3, suku y quinta edisi tampalan (yang saya tinggalkan kepada anda pautan yang sepadan).

Kebaharuan utama dalam cadangan keenam

Dengan ketibaan cadangan baru ini toolkit telah dikemas kini sebelum pelepasan Rust 1.59.0, bersama-sama dengannya varian pustaka alloc ia juga disegerakkan dengan versi baharu Rust, menghapuskan potensi keadaan "panik" apabila ralat berlaku, seperti kehabisan ingatan.

Satu lagi perubahan yang telah dibuat ialah sekarang, bukannya menyediakan fail spesifikasi platform destinasi yang telah dibuat sebelumnya ia dijana secara dinamik berdasarkan konfigurasi kernel.

Ia juga diambil perhatian bahawa parameter kernel HAVE_RUST telah ditambah untuk membolehkannya untuk seni bina yang serasi dengan Rust dan bahawa abstraksi telah dicadangkan untuk digunakan dalam kod Rust untuk penjana nombor pseudo-rawak perkakasan.

Sebaliknya, disebutkan bahawa keupayaan untuk menggunakan sisipan pemasang telah distabilkan ("feature(global_asm)") dan menambah sokongan untuk mencipta program hos dalam Rust yang digunakan dalam proses binaan kernel.

Daripada perubahan yang lain yang menonjol daripada cadangan baharu ini:

  • Penggunaan kod ralat tanpa awalan "Ralat::" (contohnya, "return Err(EINVAL)") dibenarkan untuk menganggarkan pengendalian kod ralat dalam C.
  • Menambahkan jenis "CString" untuk rentetan C asli. Jenis pemformat dan penimbal gabungan.
  • Menambah ciri Bool dan LockInfo.
  • Perlaksanaan kunci spin yang dipermudahkan.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya mengenai cadangan baru ini, anda boleh merujuk butirannya Dalam 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.