Beberapa minggu yang lalu kami berbagi di sini di blog berita tentang konfirmasi yang dibuat selama Open Source Summit Europe, oleh Linus Torvalds diumumkan itu, kecuali masalah yang tidak terduga, sdan akan menyertakan patch untuk mendukung pengembangan driver Rust di kernel Linux 6.1, yang rencananya akan dirilis pada bulan Desember.
Alasan untuk menyebutkannya adalah Miguel Ojeda, penulis proyek Rust-for-Linux, mengumumkan baru-baru ini peluncuran proposal kesepuluh dari komponen untuk pengembangan Driver perangkat karat untuk dipertimbangkan oleh pengembang kernel Linux.
Dengan demikian, ini adalah patch edisi kesebelas, dengan mempertimbangkan versi rilis pertama (tanpa nomor versi). Linus Torvalds menyetujui dimasukkannya dukungan Rust di kernel Linux 6.1, kecuali masalah yang tidak terduga.
Perlu disebutkan bahwa pengembangan ini didanai oleh Google dan ISRG (Internet Security Research Group), yang merupakan pendiri proyek Let's Encrypt dan mempromosikan HTTPS dan pengembangan teknologi untuk meningkatkan keamanan Internet.
Beberapa manfaat mendapatkan dukungan Rust di dalam kernel membuatnya mudah untuk menulis pengontrol perangkat yang aman dengan mengurangi kemungkinan kesalahan memori dan mendorong pengembang baru untuk terlibat dalam kernel.
"Karat adalah salah satu hal yang menurut saya akan membawa wajah baru... kita semakin tua dan kelabu," kata Linus.
Catatan rilis untuk Linux 6.0 Memberikan Pembaruan pada Kemajuan Proyek Rust untuk Linux: ada kelompok kerja terkait, driver awal untuk media penyimpanan NVMe yang dikembangkan dengan bahasa itu tersedia, serta driver untuk server yang ditujukan untuk protokol jaringan 9P.
Mengambil keuntungan dari penyebutan tentang kernel versi 6.1 Linus juga mengumumkan bahwa kernel versi 6.1 akan meningkatkan beberapa bagian lama dan dasar-dasar kernel, seperti fungsi printk().
Mengenai proposal baru untuk patch Rust ini, serta versi patch terbaru, versi kesepuluh dipreteli ke minimum, cukup untuk membangun modul kernel sederhana yang ditulis dalam Rust.
Perbedaan dengan versi sebelumnya direduksi menjadi koreksi kecil, mengganti sizeof dengan ARRAY_SIZE di kallsyms.c dan porting patch ke kernel v6.0-rc7.
Dukungan karat masih harus dianggap eksperimental. Namun demikian,
Dukungan cukup baik sehingga pengembang kernel dapat mulai mengerjakannya.
Patch minimal, yang telah dikurangi dari 40 baris kode menjadi 000 baris kode, diharapkan dapat, membuatnya mudah untuk mengadopsi dukungan Rust di inti. Setelah memberikan dukungan minimal, direncanakan untuk secara bertahap meningkatkan fungsionalitas yang ada, mem-porting perubahan lain dari cabang Rust-for-Linux.
Perubahan yang diusulkan memungkinkan untuk menggunakan Rust sebagai bahasa kedua untuk mengembangkan driver dan modul kernel. Dukungan Rust disajikan sebagai opsi yang tidak diaktifkan secara default dan tidak mengakibatkan Rust disertakan di antara dependensi build yang diperlukan untuk kernel.
Menggunakan Rust untuk mengembangkan driver akan memungkinkan Anda membuat driver yang lebih baik dan lebih aman dengan sedikit usaha, tanpa masalah seperti mengakses area memori setelah membebaskannya, dereference null pointer, dan buffer overflows.
Penanganan memori yang aman disediakan di Rust pada waktu kompilasi dengan memeriksa referensi, melacak kepemilikan objek, dan masa pakai objek (lingkup), serta dengan mengevaluasi kebenaran akses memori selama eksekusi kode.
karat juga memberikan perlindungan luapan bilangan bulat, memerlukan inisialisasi wajib nilai variabel sebelum digunakan, menangani kesalahan dengan lebih baik di perpustakaan standar, menerapkan konsep variabel dan referensi yang tidak dapat diubah secara default, menawarkan pengetikan statis yang kuat untuk meminimalkan kesalahan logis.
Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya tentang catatan, Anda dapat berkonsultasi dengan milis pada subjek, Di tautan berikut.