Versi anyar tina patch pikeun kernel Linux kalayan dukungan pikeun basa Rust

Miguel Ojeda, panulis proyék Rust-for-Linux, ngusulkeun sékrési komponén v5 pikeun ngembangkeun drivers alat dina basa Rust pikeun tinimbangan ku pamekar kernel Linux. Ieu édisi kagenep tina patches, nyokot kana akun versi munggaran, diterbitkeun tanpa nomer versi. Pangrojong karat dianggap ékspérimén, tapi parantos kalebet dina cabang linux-hareup sareng cekap dikembangkeun pikeun ngamimitian damel dina nyiptakeun lapisan abstraksi dina subsistem kernel, ogé nyerat supir sareng modul. Pangwangunan ieu dibiayaan ku Google sareng ISRG (Internet Security Research Group), anu mangrupikeun pangadeg proyék Let's Encrypt sareng promosi HTTPS sareng pamekaran téknologi pikeun ningkatkeun kaamanan Internét.

Émut yén parobihan anu diusulkeun ngamungkinkeun ngagunakeun Rust salaku basa kadua pikeun ngembangkeun supir sareng modul kernel. Pangrojong karat dibere salaku pilihan anu henteu diaktipkeun sacara standar sareng henteu nyababkeun Karat kalebet salaku katergantungan ngawangun anu diperyogikeun pikeun kernel. Ngagunakeun Rust pikeun ngembangkeun supir bakal ngidinan Anjeun pikeun nyieun drivers aman tur hadé kalawan usaha minimal, bébas tina masalah kayaning aksés memori sanggeus freeing, null pointer dereferences, sarta overruns panyangga.

Kasalametan memori disadiakeun dina Rust dina waktos compile ngaliwatan mariksa rujukan, ngalacak kapamilikan obyék sarta hirupna objék (wengkuan), kitu ogé ngaliwatan evaluasi correctness aksés memori salila palaksanaan kode. Karat ogé nyadiakeun panyalindungan ngalawan overflows integer, merlukeun variabel bisa initialized saméméh pamakéan, handles kasalahan hadé dina perpustakaan baku, nerapkeun konsép rujukan immutable sarta variabel sacara standar, sarta nawarkeun ketikan statik kuat pikeun ngaleutikan kasalahan logis.

Versi anyar tina patches terus ngaleungitkeun komentar dijieun salila sawala ngeunaan édisi kahiji, kadua, katilu, kaopat jeung kalima tina patch. Dina versi anyar:

  • Toolkit geus diropéa pikeun ngaleupaskeun Rust 1.59.0. A varian perpustakaan alloc ogé nyingkronkeun jeung versi anyar tina Rust, ngaleungitkeun kamungkinan generasi kaayaan "panik" nalika kasalahan lumangsung, kayaning kaluar memori. Kamampuhan ngagunakeun sisipan assembler ("fitur(global_asm)") parantos distabilkeun.
  • Ditambahkeun dukungan pikeun nyiptakeun program host dina Rust anu dianggo nalika kompilasi kernel.
  • Gantina ngirimkeun file spésifikasi platform target anu tos didamel, aranjeunna sacara dinamis dibangkitkeun dumasar kana konfigurasi kernel.
  • Ditambahkeun parameter kernel HAVE_RUST pikeun ngaktipkeun arsitéktur anu ngadukung Rust.
  • Abstraksi diusulkeun pikeun dianggo dina kode Rust pikeun generator angka pseudo-acak hardware.
  • Diidinan ngagunakeun kode kasalahan tanpa awalan "Error::" (contona, "return Err(EINVAL)") pikeun perkiraan penanganan kode error dina C.
  • Ditambahkeun "CString" tipe pikeun custom C-strings. Jenis Formatter sareng Buffer parantos digabungkeun.
  • Ditambahkeun jenis Bool sareng LockInfo.
  • Palaksanaan konci spin parantos disederhanakeun.

sumber: opennet.ru

Tambahkeun komentar