A rozsda nem mentesült Linus Torvalds kritikája alól

Néhány héttel ezelőtt a kb ben megvalósított néhány megvalósítás a linux-next ág, amely egy kezdeti komponenskészletet tartalmaz eszközillesztők fejlesztésére a Rust nyelven.

Ezt a dokumentációt külön közzétették a Rust Linux kernelben történő használatáról, valamint egy példáról egy kernelmodulról, amelynek Rust nyelvű karaktereszköz-illesztőprogramja volt. A kódot Stephen Rothwell, a fiók fenntartója adta hozzá.

Ezt követően Linus Torvalds áttekintette a megvalósítás felülvizsgálatát a Rust nyelvi illesztőprogramok Linux kernelbe állításának lehetőségeinek javítása és némi kritikának adott hangot.

A legnagyobb panaszokat az okozta menekülési potenciál "Futásidejű kudarc pánik" rossz helyzetekben, például memóriahiányos helyzetben, amikor a dinamikus memória-allokációs műveletek, beleértve a kernelét is, sikertelenek lehetnek.

torvalds kijelentette, hogy a kernelre való ilyen figyelem alapvetően elfogadhatatlan, És ha nem érted ezt a pontot, akkor teljesen elutasíthatsz minden olyan kódot, amely ilyen megközelítést próbál használni. Másrészt a javítás fejlesztője egyetértett a problémával, és megoldhatónak tartotta.

Egy másik probléma a lebegőpontos vagy 128 bites típusok megkísérlése volt, amelyek nem érvényesek olyan környezetekre, mint a Linux kernel.

Lehet, hogy nem érti annak következményeit, amikor ez megtörténhet, ezért talán
kevésbé probléma, mint gondolnám, de alapvetően
Azt hiszem, ha bármilyen rozsda feltérképezés pánikot okozhat, akkor ez egyszerűen így van
_ alapvetően_ nem elfogadható.

Hibák leképezése nem magvezérlőben vagy kódban, vagyis a
definíció, az összes új Rust kód soha nem okozhat SOHA
pánik érvényesen. Ugyanez vonatkozik a «ó, bizonyos esetekben nem próbáltam meg használni
128 bites egész számok vagy lebegőpontok ”.

Tehát, ha a Rust fordító rejtett hozzárendeléseket okoz, amelyek nem lehetnek
hibaként észlelni és visszatérni, akkor komolyan hiszem, hogy mindez
megközelítésnek teljesen NAK-nak kell lennie, és a Rust infrastruktúra,
akár fordító szintjén, akár kernel burkolókban, többre van szüksége
munka.

Ez komolyabb problémának bizonyult., mivel ebben a pillanatban Rust központi könyvtára oszthatatlan, és nagy foltot képvisel; nincs mód csak egyes funkciók kérésére, így elkerülhető az egyik vagy másik problémás funkcionalitás használata.

A probléma megoldásához szükség lehet a rozsda fordító és a könyvtár megváltoztatására, bár a csapatnak még nincs stratégiája a modularitás bevezetésére a nyelvi könyvtárak számára.

Ezen túlmenően, Torvalds rámutatott, hogy a megadott példavezérlő haszontalan és azt tanácsolta, hogy példaként csatoljon egy illesztőprogramot, amely megoldja az egyik valós problémát.

ezt megelőzően A Google bejelentette, hogy részt vesz egy olyan kezdeményezésben, amely elősegíti a Rust támogatását a Linux kernelben y technikai szempontokat nyújtott be a Rust megvalósításának megvalósíthatósága a memóriával kapcsolatos hibákból eredő problémák leküzdésére.

A Google úgy gondolja, hogy Rust készen áll csatlakozni a C-hez fejlesztői nyelvként Linux kernel komponensek. A cikk példákat is felsorol a Rust nyelv használatáról a kernelmeghajtók fejlesztésére, az Android platformon való használatával összefüggésben (a Rustot az Android fejlesztésének hivatalosan támogatott nyelveként ismerik el).

Meg kell jegyezni, hogy A Google elkészítette a Rust-ban írt kontroller kezdeti prototípusát a Binder folyamata közötti kommunikációs mechanizmushoz, amely lehetővé teszi a Binder C és Rust megvalósításainak részletes teljesítményét és biztonsági összehasonlítását.

A jelenlegi formájában a munka még nem fejeződött be, de a kernel funkcionalitásának szinte az összes absztrakciójához, amely a Binder működéséhez szükséges, rétegek készültek arra, hogy ezeket az absztrakciókat felhasználják a Rust kódban.

Végül, ha többet szeretne tudni róla, ellenőrizheti a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Miguel Rodriguez dijo

    Minden kritikájuk helytálló, tekintettel arra, hogy a Rust egy új nyelv, amely a C-től eltérő paradigmával működik, érthető a könyvtárakban vagy magában a fordítóban található bármely részlet aggodalma, ahol bár a kód érvényes, mégis okozhatja a kernel megszakadását, ahogyan végrehajtják és felépítik. Ezért működnek megfelelően azok a javaslatok, mint például a könyvtár modulálása úgy, hogy csak a programhoz (vagy jelen esetben bármely vezérlőhöz) szükséges funkciók hívhatók és maradjanak aktívak. Az sem indokolatlan, amit kérsz, hogy valódi prototípus-vezérlőt hoznak neked, amely jól teljesít egy munkát egy aktuális probléma esetén (vagy legalábbis ugyanazt a feladatot látja el, mint egy meglévő a kernelben, és pánik nélkül működik).

  2.   Szomjúság dijo

    Időnként újraolvasom a cikkeit Linux Adictos De nagyon kevés időbe telik kétségbeesni, amikor azt látom, hogy annak ellenére, hogy nagyon jó a tartalom, a végeredményt borzalmas helyesírással tönkreteszik.
    Ennyire nehéz lesz a helyesírás és a nyelvtan?
    Kár!
    Felvidít!