Aya, pirmoji biblioteka, sukūrusi eBPF valdiklius „Rust“

Linusas torvaldas, taip pat daugelis kūrėjų Branduolys ir skirtingi paskirstymai pareiškė, kad jiems patinka Rustas ir net ne kartą buvo pristatytas vairuotojų diegimo šia programavimo kalba Linux branduolyje klausimas.

Apie tai jau išleisti įvairūs kūriniai, iš kurių mes jau minėjome čia, tinklaraštyje ir galime paminėti, pavyzdžiui, eksperimentas sėkmingas iš pakaitinio komunalinių paslaugų rinkinio „coreutils“, perrašyto „Rust“ (Tai apima tokias paslaugas kaip rūšiavimas, katė, chmod, chown, chroot, cp, data, dd, echo, pagrindinio kompiuterio vardas, id, ln ir ls).

Atsižvelgdamas į tai, Linus torvalds ne visiškai išsakė savo nuomonę šios iniciatyvos naudai ir išreiškė neigiamus taškus (galite sužinoti išsamią informaciją Šioje nuorodoje.)

Nepaisant griežtos Lino kritikos, Darbai apie įgyvendinimą Rūdys branduolyje nenustojo judėti toliau ir neseniai buvo pristatyta pirmoji Aya bibliotekos versija, kuris leidžia jums sukurti „Rust“ eBPF tvarkykles, kurios veikia „Linux“ branduolyje specialioje JIT virtualioje mašinoje.

Skirtingai nuo kitų EBPF kūrimo įrankių, Aya nenaudoja libbpf ir BCC kompiliatoriaus, bet siūlo savo įgyvendinimą, parašytą „Rust“ kuris naudoja „libc“ stalčių paketą, kad galėtų tiesiogiai pasiekti branduolio sistemos iškvietimus. „Aya“ statybai nereikia C kalbos įrankių ar branduolio antraščių.

Tiems, kurie nežino apie eBPF, jie turėtų žinoti, kad tai yra baitų kodo vertėjas integruotas į „Linux“ branduolį, kuris leidžia jums sukurti tinklo operacijų tvarkytuvus, stebėti sistemos veikimą, perimti sistemos skambučius, valdyti prieigą, apdoroti įvykius su laiku, apskaičiuoti operacijų dažnį ir laiką bei stebėti naudojant kprobes / uprobes / tracepoint.

Dėka JIT kompiliavimo, baitkodas yra išverčiamas į mašinos instrukcijas skrendant ir veikia su vietiniu kodu. „XDP“ suteikia galimybę paleisti BPF programas tinklo tvarkyklių lygiu, turint tiesioginę prieigą prie DMA paketinio buferio, leidžiančio jums sukurti didelio našumo tvarkykles, reikalingas didelėms tinklo apkrovos sąlygoms.

Apie Ają

Iš paminėtų pagrindinių bruožų iš Aya galime tai rasti turi paramą BTF (BPF tipo formatas), kuriame pateikiama informacija apie tipą BPF pseudokode, kad būtų galima patikrinti ir palyginti dabartinio branduolio pateiktus tipus. Naudojant BTF, galima sukurti universalias eBPF tvarkykles, kurias galima naudoti nereikalaujant jų perkompiliuoti su skirtingomis „Linux“ branduolio versijomis.

Taip pat parama skambučiams iš bpf į bpf, visuotiniai kintamieji ir iniciatoriai, leidžiantis kurti programas eBPF pagal analogiją su įprastomis programomis, kurios vykdymo metu naudojamos aya, atšaukiant funkcijas atsižvelgiant į eBPF darbą.

Kita vertus, jis taip pat turi vidinių branduolių tipų palaikymas, įskaitant įprastus masyvus, maišos žemėlapius, kaminus, eiles, rietuvių pėdsakus ir lizdų bei našumo stebėjimo struktūras.

Tambienas turi galimybę kurti įvairių tipų eBTF programas, įskaitant filtravimo ir srauto valdymo programas, „cgroup“ ir įvairius lizdų tvarkykles, XDP programas ir platformos palaikymą asinchroniniam užklausų apdorojimui neužblokuojančiame „Tokyo“ režime ir „async-std“.
Greitas kompiliavimas, nesusietas su branduolio kompiliacija ar branduolio antraštėmis.

Svarbu tai paminėti projektas vis dar laikomas eksperimentiniu, nes API dar nėra stabilizuota ir toliau vystosi. Be to, dar ne visos sumanytos funkcijos yra įgyvendintos.

Iki metų pabaigos kūrėjai tikisi Aya funkcionalumą prilygti libbpf ir 2022 m. sausio mėn. sudaro pirmąją stabilią versiją. Taip pat planuojama sujungti „Aya“ dalis, reikalingas „Linux“ branduolio „Rust“ kodui parašyti, su vartotojo erdvės komponentais, naudojamais įkeliant, prijungiant ir sąveikaujant su „eBPF“ programomis.

Pagaliau jei jus domina daugiau sužinoti apie tai galite patikrinkite išsamią informaciją šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.