Rust, sesuatu yang tampaknya disetujui oleh pengembang Linux

Bahasa pemrograman Rust selalu bertujuan untuk menggantikan C dalam pengembangan kernel Linux Dan seiring dengan kematangan Rust, beberapa pengembang telah menyatakan minat yang meningkat dalam penggunaannya di kernel Linux.

Dalam Konferensi Virtual Linux Plumbers 2020, aliran microconferencing oleh LLVM menyelenggarakan sesi tentang pertanyaan terbuka dan hambatan untuk penerimaan awal Rust di kernel Linux.

Minat terhadap topik ini terlihat, karena sesi ini merupakan acara tersibuk di 2020.

Jadi haruskah kita sekarang menulis ulang seluruh kernel Linux dengan bahasa Rust? Diskusi ini tidak dimulai dari hari ini dan telah ditekankan sejak kemunculan versi stabil pertama Rust pada tahun 2015.

Mengingat kemungkinan yang ditawarkannya Rust, beberapa menyarankan untuk melakukannya. Tahun ini, pada konferensi Tukang Linux di bulan Agustus, para pembicara sempat membahasnya kembali.

Dan yang mengejutkan adalah itu mereka sepertinya setuju tidak dengan suara bulat bukan untuk menulis ulang kode yang ada di Rust, tetapi untuk pengembangan kernel agar terus menggunakan Rust. Artinya, mereka membayangkan sebuah dunia di mana potongan-potongan kode baru dapat ditulis di Rust.

Sesi ini dibangun di atas hasil kerja banyak pengembang sebelumnya, termasuk pembicaraan tahun lalu oleh Alex Gaynor dan Geoffrey Thomas di Linux Security Summit.

Pada konferensi tersebut, mereka mempresentasikan pekerjaan mereka pada pembuatan prototipe modul kernel Rust dan menganjurkan adopsi Rust di kernel.

Mereka mengutip pekerjaan yang menunjukkan bahwa sekitar dua pertiga dari kerentanan kernel yang telah ditetapkan CVE di Android dan Ubuntu terkait dengan masalah keamanan memori.

Mereka akhirnya menjelaskan itu Rust dapat sepenuhnya menghindari kesalahan semacam ini berkat API yang lebih aman diaktifkan oleh jenis sistem Anda dan pemverifikasi pinjaman Anda.

Studi ini telah berhasil meyakinkan beberapa pengelola Linus Torvalds, yang mendukung pengenalan Rust ke dalam kernel. Thomas dan Gaynor, Josh Triplett, ketua bersama tim bahasa Rust dan pengembang kernel Linux lama, serta pengembang lain yang tertarik berpartisipasi dalam diskusi tentang topik tersebut.

Mereka secara singkat menyentuh karyanya sejauh ini dan beberapa pemikiran dan pertanyaan pertamanya sebelum membuka sebagian besar waktu untuk diskusi.

Ini adalah penggunaan API yang ada di kernel, dukungan arsitektur, dan pertanyaan tentang kompatibilitas ABI antara Rust dan C.

Faktanya, mereka awalnya percaya itu Memperkenalkan Rust ke dalam struktur pohon harus menghormati C API yang ada. 

Namun, semua orang merasa bahwa masalahnya ada pada detail, dan pekerjaan yang telah dilakukan sejauh ini serta percakapan selama sesi tersebut telah mengungkapkan beberapa tantangan terbuka.

Misalnya, Linux banyak menggunakan makro praprosesor dan fungsi sebaris, yang tidak didukung dengan mudah oleh alat bindgen dan antarmuka fungsi eksternal Rust.

Menurut mereka, Saat ini satu-satunya implementasi yang matang dari Rust adalah compiler Rustc, yang mengeluarkan kode melalui LLVM.

Kernel Linux mendukung berbagai macam arsitektur, banyak di antaranya tidak memiliki backend LLVM yang tersedia.

Sementara itu, Triplett menyarankan bahwa menambahkan Rust ke kernel akan membantu meningkatkan dukungan arsitektur untuk Rust, mengutip pengalamannya dengan proyek Debian. Dia menyebutkan bahwa pengenalan perangkat lunak Rust di Debian telah membantu memotivasi para penggemar dan pengguna arsitektur niche untuk meningkatkan dukungan Rust, dan dia berharap menambahkan dukungan kernel untuk mendapatkan efek yang serupa.

Secara khusus, dia yakin bahwa arsitektur apa pun dengan backend LLVM akan cepat kompatibel dengan Rust. Diskusi juga difokuskan pada implementasi Rust alternatif sebagai jalan menuju dukungan arsitektur yang lebih luas.

Sesi ini berakhir tanpa pencapaian spesifik lebih lanjut, tetapi tampaknya ada antusiasme keseluruhan untuk mendukung Rust Mods dan meningkatnya kesepakatan tentang persyaratan umum untuk dukungan ini.


tinggalkan Komentar Anda

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

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  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.

  1.   autopilot dijo

    Sepertinya awal dari era baru, huruf C yang tak tergoyahkan muncul.

    Halo Rust, Sampai jumpa Linus Torvalds!