Rost var inte undantagen från kritiken från Linus Torvalds

Några veckor sedan nyheterna om några implementeringar som gjordes i Linux-nästa gren, som innehåller en första uppsättning komponenter för att utveckla enhetsdrivrutiner på Rust-språket.

Denna dokumentation publicerades separat om användningen av Rust i Linux-kärnan och ett exempel på en kärnmodul med en karaktärsdrivrutin på Rust-språket. Koden lades till av Stephen Rothwell, filialens underhållare.

Därefter gick Linus Torvalds igenom genomförandegranskningen lapp av möjligheter att ställa in Rust-språkdrivrutiner i Linux-kärnan och framförde kritik.

De största klagomålen orsakades av fly potential "Fel i körtidsfel" i fel situationer, till exempel i en situation utanför minnet, när dynamiska minnesallokeringsoperationer, inklusive kärnans, kan misslyckas.

Torvalds uppgav att ett sådant fokus på kärnan i grunden är oacceptabelt, Och om du inte förstår denna punkt kan du helt avvisa alla koder som försöker använda en sådan metod. Å andra sidan instämde utvecklaren av plåstret med problemet och ansåg det vara lösligt.

Ett annat problem har varit försök att använda flytande punkt eller 128 bitars typer, som inte är giltiga för miljöer som Linux-kärnan.

Du kanske inte förstår konsekvenserna av när det kan hända, så kanske
är ett mindre problem än jag tror det är, men i grunden
Jag tror att om någon rostmappning kan orsaka panik så är det här helt enkelt
_ i grund och botten_ inte acceptabelt.

Mappningsfel i en icke-kärnkontroller eller kod, och det är för
definition, helt ny rostkod, kan ALDRIG orsaka
panik giltigt. Detsamma gäller för «åh, i vissa fall försökte jag inte använda
128-bitars heltal eller flytande punkt '.

Så om Rust-kompilatorn orsakar dolda uppdrag som inte kan vara
upptäcka och returnera som fel, då tror jag allvarligt att allt detta
tillvägagångssätt bör vara helt NAK och infrastrukturen för Rust,
antingen på kompilatornivå eller i kärnomslag, du behöver mer
arbete.

Detta visade sig vara ett allvarligare problem., eftersom i detta ögonblick Rusts centrala bibliotek är odelbart och representerar en stor fläck; det finns inget sätt att begära bara några av funktionerna, vilket undviker användningen av en eller annan problematisk funktion.

Lösningen på problemet kan kräva ändringar av rostkompilatorn och biblioteket, även om teamet ännu inte har en strategi för hur man implementerar modularitet för språkbibliotek.

Dessutom, Torvalds påpekade att den tillhandahållna exempelkontrollen är värdelös och rekommenderas att som ett exempel bifoga en förare som löser ett av de verkliga problemen.

Före detta Google meddelade sitt deltagande i ett initiativ för att främja Rust-stöd i Linux-kärnan y tillhandahöll tekniska aspekter av möjligheten att implementera Rust för att bekämpa problem som uppstår till följd av fel i arbetet med minnet.

Google anser att Rust är redo att gå med i C som ett utvecklingsspråk Linux-kärnkomponenter. Artikeln ger också exempel på att använda Rust-språket för att utveckla kärndrivrutiner, inom ramen för dess användning på Android-plattformen (Rust erkänns som ett officiellt språk som stöds för Android-utveckling).

Det bör noteras att Google har förberett en första prototyp av en styrenhet skriven i Rust för Binders interkommunikationskommunikationsmekanism, som möjliggör en detaljerad jämförelse av prestanda och säkerhet för Binder-implementeringar i C och Rust.

I sin nuvarande form har arbetet ännu inte slutförts, men för nästan alla grundläggande abstraktioner av kärnfunktionalitet som krävs för att Binder ska fungera har lager förberetts för att använda dessa abstraktioner i Rust-koden.

Slutligen, om du vill veta mer om det, kan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Miguel Rodriguez sade

    All deras kritik är giltig, med tanke på att Rust är ett nytt språk som fungerar med ett annat paradigm än C, är det förståeligt oro för alla detaljer i biblioteken eller i själva kompilatorn där, även om koden är giltig, orsakar den kärnan att bryta som hur det implementeras och byggs. Det är därför förslag som att kunna modulera biblioteket för att ringa och hålla aktiva bara de funktioner som är nödvändiga för programmet (eller i detta fall för valfri styrenhet) fungerar korrekt. Det som du ber om är inte heller orimligt, att de ger dig en riktig prototypkontroller som gör ett jobb bra på ett aktuellt problem (eller åtminstone gör samma jobb som en befintlig i kärnan och fungerar utan panik).

  2.   Sete sade

    Då och då läser jag om artiklar av Linux Adictos Men det tar väldigt lite tid för mig att misströsta när jag ser att trots att det har väldigt bra innehåll så förstörs det slutliga resultatet med hemsk stavning.
    Kommer stavning och grammatik att vara så svårt?
    Synd!
    Muntra upp!