Rust on Linux: kemajuan, cabaran dan status semasa

Pemacu karat pada Linux

Sejak Linus Torvalds dimasukkan Berkarat dalam Linux Kernel versi 6.1, bahasa itu telah beransur-ansur mendapat tempat dan semakin ramai pembangun menyertai pergerakan ini.

Walau bagaimanapun, beberapa pemaju daripada kernel linux Mereka menekankan bahawa kemajuan akan semakin bermakna lebih banyak kerja dan cabaran, kerana dalam komen mereka mereka membayangkan bahawa kebuntuan mungkin timbul.

Perlu dijelaskan bahawa kami tidak menyebut bahawa pelaksanaan itu menemui jalan buntu, sebaliknya memandangkan komen pelbagai pemaju dan seperti yang telah kami nyatakan, dalam keadaan semasa, keperluan untuk mengurangkan kadar kerja telah mula muncul, atau sekurang-kurangnya itulah yang dicadangkan oleh artikel berikut kepada kita LWN.net.

Dan beberapa minggu yang lalu saya menjumpai artikel ini yang membincangkan keadaan semasa penggunaan Rust dalam Linux dan menganalisis sama ada percubaan dengan bahasa pengaturcaraan ini telah berjaya.

Disebutkan bahawa selama beberapa tahun, Karat telah menjadi topik yang tidak berhenti dibincangkan di "Sidang Kemuncak Penyelenggara Kernel" dan yang diadakan pada 2023 tidak terkecuali, sejak pelaksanaan rasmi Rust sebagai bahasa pengaturcaraan kedua di Linux, Miguel Ojeda, pembangun Rust-for-Linux, menyerlahkan minat yang semakin meningkat dalam penggunaan Rust untuk pembangunan kernel semasa sesi khusus untuk topik ini.

Miguel Ojeda menyebut bahawa projek itu Rust-for-Linux telah mengalami momentum yang ketara pada tahun lepas, sejak seorang jurutera sepenuh masa dan pemaju pelajar telah menyertai dan pelbagai syarikat telah menyertai dalam menyokong kerja. Selain itu, kerja sedang dijalankan untuk mengintegrasikan alat Coccinelle dengan kod Rust. Walau bagaimanapun, tidak semuanya cerah, kerana salah satu cabaran semasa ialah merekrut lebih ramai pengulas untuk kod yang sedang dibangunkan.

Kernel Linux
artikel berkaitan:
Linux 6.1 hadir dengan Rust, peningkatan prestasi, pemacu dan banyak lagi

Dalam artikeldan menyebut bahawa masalah telah mula ketara dalam rantai alat, sejak kemajuan penyusun Rust berasaskan GCC, dikenali sebagai gccrs, telah perlahan. Sebaliknya, penjana kod GCC untuk rustc menunjukkan kemajuan yang menjanjikan dan telah digabungkan dengan pengkompil, yang akan membolehkan sokongan Rust dikembangkan kepada seni bina yang tidak serasi dengan LLVM.

artikel berkaitan:
Dalam GCC mereka meluluskan pelaksanaan RUST (gccrs)

Di dalam kernel, kemajuan sedang dibuat dalam beberapa subsistem, begitulah kes pelaksanaan Rust bagi pengikat android yang telah menunjukkan prestasi yang setanding dengan pelaksanaan C, dengan jumlah minimum kod tidak selamat. Selain itu, kerja sedang dilakukan pada pautan sistem fail dengan matlamat untuk mencapai sokongan baca sahaja dalam Rust, dengan visi untuk melaksanakan sistem fail yang selamat sepenuhnya dalam Rust.

Dave Airlie, penyelenggara subsistem DRM (grafik), berkata bahawa jika dia mengikut kehendaknya, akan ada pemacu DRM Rust yang digabungkan dalam beberapa keluaran seterusnya. Christoph Hellwig menjawab bahawa Airlie sanggup "menjadikan kehidupan semua orang neraka" supaya dia boleh bermain dengan mainan kegemarannya. Hellwig berkata penggabungan Rust akan memaksa orang lain untuk berurusan dengan bahasa kedua, rantai alat baharu dan "pembungkus dengan semantik pelik." Dan Williams berkata bahawa situasi semasa "seperti kejayaan" dan komuniti kernel sudah komited kepada Rust.

Walaupun terdapat minat yang semakin meningkat di kalangan penyelenggara dalam menerima pakai Rust, cabaran timbul, kerana ia telah dibahaskan perlu mempunyai pemacu rujukan kernel yang ditulis dalam Rust untuk menunjukkan cara pengawal boleh ditulis dalam bahasa ini. Walau bagaimanapun, pertindihan kefungsian antara pemandu dalam Rust dan C telah menjana ketidakpercayaan dalam kalangan penyelenggara.

Perbincangan tentang kemasukan Rust telah mengambil arah yang berbeza, Nah, sesetengah penyelenggara menyokong penggabungan pemacu Rust kendiri, seperti pemacu pengikat, untuk menunjukkan daya maju mereka, manakala di sisi lain syiling yang lain Mereka menyatakan kebimbangan tentang kerumitan mengekalkan kernel dengan dua bahasa pengaturcaraan.

Airlie seterusnya mengatakan bahawa kebanyakan kerja Rust kini terkunci dalam sedikit masalah ayam dan telur. Abstraksi tidak boleh digabungkan sehingga ada pengguna untuknya, tetapi kod yang memerlukan abstraksi tersebut disekat menunggu kod mencapai berbilang subsistem. Akibatnya, pembangun yang bekerja pada Rust membawa sejumlah besar patch yang mereka perlukan untuk membuat kod mereka berfungsi. Memecahkan halangan itu memerlukan membenarkan kemasukan beberapa abstraksi tanpa pengguna segera.

Walaupun menghadapi cabaran, komuniti kernel mengiktiraf potensi Rust untuk meningkatkan keselamatan dan kestabilan kod. Terdapat kemungkinan untuk menggabungkan pemacu yang lebih banyak digunakan ke dalam Rust pada masa hadapan, sebaik sahaja kebimbangan mengenai kebolehtampalan dan kebolehselenggaraan diselesaikan.

Ojeda bersetuju bahawa isu ini telah memperlahankan kemajuan, tetapi berkata dia telah cuba untuk tidak menekan penyelenggara untuk menggabungkan kod dengan cepat. Dalam kes rangkaian, ironinya, pembangun Rust terpaksa meminta orang rangkaian untuk memperlahankan penggabungan kod Rust.

Akhir sekali, adalah wajar dinyatakan bahawa laluan kepada penggunaan meluas Rust pada Linux memberikan cabaran, minat dan kemajuan dalam ruang ini jelas. Lama kelamaan, Rust dijangka memainkan peranan penting dalam menambah baik Linux.

Fuente: https://lwn.net/


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.