Nakon više od godinu dana razvoja, objavljeno izdanje komunikacijskog klijenta Dino 0.3, koji podržava sudjelovanje u chatovima i razmjenu poruka koristeći Jabber/XMPP protokol.

Miguel Ojeda, autor projekta Rust-for-Linux, predložio je razmatranje petog skupa komponenti za razvoj drajvera uređaja na jeziku Rust od strane developera Linux jezgra. Podrška za Rust se razmatra kao eksperimentalna, ali je već uključena u granu linux-next i dovoljno je razvijena da bi se moglo započeti rad na stvaranju slojeva apstrakcije nad podsistemima jezgra, kao i za pisanje drajvera i modula. Razvoj se finansira od strane kompanije Google i organizacije ISRG (Internet Security Research Group), koja je osnivač projekta Let’s Encrypt i doprinosi unapređenju HTTPS-a i razvoju tehnologija za povećanje sigurnosti interneta.

Podsjećamo da predložene promjene omogućuju korištenje Rusta kao drugog jezika za razvoj drajvera i modula jezgra. Podrška za Rust se nudi kao opcija, koja nije aktivna prema zadanim postavkama i ne dovodi do uključivanja Rusta kao obvezne gradbene zavisnosti za jezgro. Korištenje Rusta za razvoj drajvera omogućit će stvaranje sigurnijih i kvalitetnijih drajvera s minimalnim naporom, bez problema poput pristupa memorijskom prostoru nakon oslobađanja, dereferenciranja nultih pokazivača i izlaska iz granica bafera.

Siguran rad s memorijom osigurava se u Rust-u tijekom kompajlacije putem provjere referenci, praćenja vlasništva nad objektima i uzimanja u obzir vremena života objekata (opseg vidljivosti), kao i procjenom ispravnosti pristupa memoriji tijekom izvođenja koda. Rust također pruža alate za zaštitu od prelivanja cijelih brojeva, zahtijeva obveznu inicijalizaciju vrijednosti varijabli prije upotrebe, bolje obrađuje greške u standardnoj biblioteci, primjenjuje koncept nepromjenjivosti (immutable) referenci i varijabli prema zadanim postavkama te nudi snažnu statičku tipizaciju za minimiziranje logičkih grešaka.

U novoj verziji zakrpa nastavlja se rešavanje komentara koji su izneseni tokom rasprave o prvoj, drugoj, trećoj i četvrtoj verziji zakrpa. U novoj verziji:

  • U sistem kontinuirane integracije baziranom na botu 0DAY/LKP, koji podržava Intel, dodana je provera komponenti za podršku Rust-u i započelo je objavljivanje izveštaja o testiranju. Priprema se integracija podrške za Rust u sistem automatskog testiranja KernelCI. Testiranje bazirano na GitHub CI prebačeno je na korišćenje kontejnera.
  • Moduli jezgra na Rust-u oslobođeni su potrebe za definisanjem crate atributa "#![no_std]" i "#![feature(…)]".
  • Dodana je podrška za ciljeve jedinstvene gradnje (.o, .s, .ll i .i).
  • U preporukama za formatiranje koda definisana su pravila u vezi sa odvojenim komentarima ("//") i dokumentovanjem koda ("///").
  • Revidiran je skript is_rust_module.sh.
  • Dodana je podrška za statičke (globalne deljene promenljive) primitive sinhronizacije zasnovane na implementaciji "CONFIG_CONSTRUCTORS".
  • P pojednostavljeno je upravljanje zaključavanjima: Guard i GuardMut su spojeni u jedan parametrizovani tip.
  • Omogućeno je definisanje dodatnih parametara prilikom registracije uređaja.
  • Dodana je apstrakcija "RwSemaphore", koja služi kao obavijač nad C-strukturom rw_semaphore.
  • Za korišćenje mmap-a dodat je novi modul mm i apstrakcija VMA (obavijač nad strukturom vm_area_struct).
  • Drajver GPIO PL061 prebačen je na korišćenje makroa "dev_*!".
  • Obavljena je generalna čišćenje koda.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster