Kemungkinan untuk mengintegrasikan sokongan Rust ke dalam kernel Linux 5.20 tidak diketepikan

Pada persidangan Sidang Kemuncak Sumber Terbuka 2022 berterusan hari ini, dalam bahagian Soalan Lazim, Linus Torvalds menyebut kemungkinan integrasi awal dalam kernel Linux komponen untuk dibangunkan Pemacu peranti dalam Rust.

Oleh itu, telah disebut bahawa patch yang didayakan Rust boleh diterima dalam changelog seterusnya yang membentuk komposisi kernel 5.20, yang dijadualkan pada akhir September.

Harus diingat bahawa sejak tahun lalu Rust menjadi salah satu kegemaran untuk dimasukkan ke dalam pelbagai projek penting dan sepanjang masa yang berlalu, kerja-kerja telah dilakukan berkaitan dengan pelaksanaan sokongan Rust.

Dalam projek terkenal yang berminat dengan karat sejak tahun lepas, kami boleh menyerlahkan, sebagai contoh, Android, kerana ia berminat dalam Rust kerana ia membolehkan mencapai prestasi hampir dengan bahasa C dan C++, memungkinkan untuk digunakan untuk mengembangkan bahagian platform dan komponen peringkat rendah untuk berinteraksi dengan perkakasan.

Untuk memastikan keselamatan kod C dan C ++, Android menggunakan pengasingan kotak pasir, analisis statik, dan ujian kabur. Keupayaan pengasingan kotak pasir terhad dan telah mencapai had kemampuan mereka (pemecahan lebih lanjut dalam proses tidak praktikal dari sudut penggunaan sumber).

Di antara batasan penggunaan kotak pasir, mereka menyebutkan penggunaan overhead dan memori yang lebih tinggi disebabkan oleh keperluan untuk menghasilkan proses baru, serta latensi tambahan yang berkaitan dengan penggunaan IPC.

Rust-Android
artikel berkaitan:
Rust sudah menjadi kegemaran untuk pembangunan Android

Sebaliknya, kita tidak boleh melupakannya Linus Torvalds juga memberikan pendapatnya tentang Rust dan di mana dibelanjakan untuk menyemak pelaksanaan kemungkinan untuk menetapkan pemacu bahasa Rust di kernel Linux dan menyuarakan beberapa kritikan.

Keluhan terbesar disebabkan oleh potensi untuk melarikan diri "Panicen kegagalan jangka masa" dalam situasi yang salah, sebagai contoh, dalam keadaan kehabisan memori, ketika operasi peruntukan memori dinamik, termasuk operasi kernel, mungkin gagal.

torvald menyatakan bahawa tumpuan seperti itu pada inti pada dasarnya tidak dapat diterima, Dan jika anda tidak memahami perkara ini, anda boleh menolak sepenuhnya kod yang cuba menggunakan pendekatan sedemikian. Sebaliknya, pemaju patch bersetuju dengan masalah itu dan menganggapnya dapat diselesaikan.

Linus Torvalds
artikel berkaitan:
Rust tidak terkecuali daripada kritikan terhadap Linus Torvalds

Tetapi sudah beberapa bulan Linus memberi maklum balas dan kerja keras telah dilakukan untuk menambah baik pelaksanaan. Seperti, permintaan tarik untuk teras belum diserahkan kepada Torvalds lagi, tetapi set tampalan telah disemak lagi, kata kunci dikeluarkan, diuji pada cawangan linux-seterusnya untuk beberapa lama, dan dibawa ke keadaan yang sesuai untuk membina lapisan abstraksi di atas subsistem kernel, menulis pemacu dan modul.

Sokongan karat datang sebagai pilihan yang tidak didayakan secara lalai dan tidak menyebabkan Rust dimasukkan antara kebergantungan binaan yang diperlukan untuk kernel.

Perubahan yang dicadangkan memungkinkan untuk menggunakan Rust sebagai bahasa kedua untuk membangunkan pemacu dan modul kernel. Menggunakan Rust untuk membangunkan pemacu akan membolehkan anda mencipta pemacu yang lebih baik dan lebih selamat dengan usaha yang minimum, tanpa masalah seperti mengakses kawasan memori selepas membebaskannya, menunda rujukan nol dan limpahan penimbal.

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


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.