Rust-ondersteuning voor de Linux-kernel heeft kritiek ontvangen van Torvalds

Linus Torvalds heeft de patches voor de implementatie van de mogelijkheid om stuurprogramma's in Rust voor de Linux-kernel te maken beoordeeld en enkele kritische opmerkingen gemaakt.

De grootste bezorgdheid betreft de potentiƫle mogelijkheid om in panic() te gaan in foutieve situaties, zoals bij gebrek aan geheugen, wanneer dynamische geheugenallocaties, ook binnen de kernel, kunnen mislukken. Torvalds verklaarde dat een dergelijke benadering in de kernel fundamenteel ongepast is en dat hij, bij gebrek aan begrip van dit punt, elke code die probeert een dergelijke benadering te gebruiken volledig zal afwijzen (totally NAKed). Aan de andere kant stemde de ontwikkelaar van de patches in met deze kwestie en beschouwde hij die als oplosbaar.

Een ander probleem waren de pogingen om floating-point berekeningen of 128-bits types te gebruiken, wat niet acceptabel is in omgevingen zoals de Linux-kernel. Dit bleek een ernstiger probleem te zijn, aangezien de basis (core) bibliotheek van Rust momenteel onverdeelbaar is en bestaat uit ƩƩn grote blob - er is geen mogelijkheid om slechts sommige functies aan te vragen, waardoor het gebruik van problematische functionaliteit wordt voorkomen. Het oplossen van dit probleem kan veranderingen in de Rust-compiler en bibliotheek vereisen, terwijl het team momenteel nog geen strategie heeft voor het implementeren van de modulariteit van bibliotheken.

Bovendien merkte Torvalds op dat het verstrekte voorbeeld van een stuurprogramma nutteloos is en adviseerde hij om als voorbeeld een stuurprogramma bij te voegen dat een van de reƫle problemen oplost.

Aanvulling: Google heeft verklaard deel te nemen aan het initiatief voor het bevorderen van Rust-ondersteuning in de Linux-kernel en heeft de technische aspecten van de noodzaak voor de implementatie van Rust ter bestrijding van problemen door geheugenfouten gepresenteerd. Google is van mening dat Rust al klaar is om zich bij C aan te sluiten als programmeertaal voor de ontwikkeling van Linux-kernelcomponenten. In het artikel worden ook voorbeelden gegeven van het gebruik van Rust voor het ontwikkelen van stuurprogramma's in de context van hun gebruik op het Android-platform (Rust wordt erkend als een officieel ondersteunde taal voor Android-ontwikkeling).

Google heeft een eerste prototype voorbereid van een in Rust geschreven stuurprogramma voor het inter-process communicatie mechanisme Binder, waarmee een gedetailleerde vergelijking van de prestaties en beveiliging van de implementaties van Binder in C en Rust kan worden gemaakt. In de huidige staat is het werk nog niet voltooid, maar voor bijna alle basisabstracties van de functionaliteit van de kernel die nodig zijn voor het functioneren van Binder zijn er al lagen voorbereid voor het gebruik van deze abstracties in Rust-code.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster