systemd одоо Rust дээр бүрэлдэхүүн хэсгүүдийн хөгжүүлэлтийг дэмжиж байна.

systemd системийн менежерийн кодын санд өөрчлөлт оруулж, Rust дээр бүрэлдэхүүн хэсгүүдийг үүсгэх боломжийг нэмсэн. Rust нь зөвхөн шинэ бүрэлдэхүүн хэсгүүдийг хөгжүүлэхэд ашиглагдахаар зориулагдсан бөгөөд Rust дээр одоо байгаа C кодыг дахин бичих төлөвлөгөө байхгүй байна. Cargo package manager нь угсралтын процесст ашиглагдахаа больсон бөгөөд зөвхөн Meson угсралтын систем үлдсэн байна. Rust кодыг "no_std" горимд (стандарт сангүйгээр) ашигладаг бөгөөд зөвхөн core, alloc, libc сангуудыг зөвшөөрдөг.

systemd Rust бүрэлдэхүүн хэсгүүд нь libsystemd-shared C сантай динамикаар холбогддог. libsystemd-shared-ийн Rust холболтууд нь bindgen хэрэгслийг ашиглан толгой файлуудаас бүтээх үед автоматаар үүсгэгддэг бөгөөд Rust програмуудад systemd_shared багц хэлбэрээр хүртээмжтэй болдог. Үүнд дараах хувилбаруудтай тохирох дор хаяж rustc 1.85 болон bindgen 0.71.1 шаардлагатай. Debian 13.

LTO оновчлолоор бүтээгдсэн туршилтын Rust гүйцэтгэгдэх файл нь 32 KB эзэлдэг бол C эквивалент нь 20 KB эзэлдэг. Анхдагчаар, Rust дэмжлэг нь систем дээр харгалзах Rust хэрэгслийн хэлхээ байгаа тохиолдолд л идэвхждэг (-Drust=auto). Rust дээр бичигдсэн эхний бүрэлдэхүүн хэсэг болох systemd-keyring-setup-ийг боловсруулж байгаа бөгөөд энэ нь systemd-ийн үндсэн кодын санд хараахан нэвтэрээгүй байна. Systemd-keyring-setup нь цөмийн механизмын X.509 гэрчилгээг тохируулах, удирдах зориулалттай. Linux dm-verity, fs-verity болон bpf.

Эх сурвалж: opennet.ru

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster