[NEW] Search for a job anonymously — check the details
Close
Linus Torvalds planuje wprowadzić zmiany związane z Rust z pominięciem maintainerów jądra Linux

Linus Torvalds planuje wprowadzić zmiany związane z Rust z pominięciem maintainerów jądra Linux

Christoph Hellwig, maintainer podsystemów DMA, KVM, Slab Allocator oraz architektury PowerPC w jądrze Linux, zdecydowanie sprzeciwił się przyjęciu Rust-owego wsparcia dla podsystemu DMA, twierdząc, że takie zmiany nie mają sensu, dopóki nie zostaną uzgodnione ze społecznością i uwzględnione w dokumentacji jądra.

Christoph zwrócił również uwagę, że w zasadach podano błędne informacje, sugerujące, że maintainerzy mogą samodzielnie podejmować decyzje o włączeniu kodu związanego z Rustem do swoich podsystemów. Zgodnie z jego słowami, Linus Torvalds w prywatnej rozmowie oświadczył, że ma zamiar wprowadzić kod Rust do jądra, pomimo sprzeciwu maintainerów. Oznacza to, że deweloperzy i maintainerzy jądra będą musieli zmierzyć się z Rustem, niezależnie od tego, czy tego chcą, czy nie.

Christoph porównał rozprzestrzenianie się Rust-owych powiązań do przerzutów nowotworowych, które mogą doprowadzić do fragmentacji jądra. W efekcie jądro stanie się projektem napisanym w kilku językach, bez wyraźnego określenia, kiedy który język powinien być używany. Tego rodzaju mieszana baza kodu, według Christopha, będzie jego najgorszym koszmarem, ponieważ ciągle będzie dochodzić do konieczności przepisywania kodu z jednego języka na inny, a potem z powrotem.

Christoph pyta, jaki jest cel wprowadzenia Rust do jądra. Jeśli chodzi o rozwiązanie problemów bezpieczeństwa związanych z niskopoziomową obsługą pamięci, w pierwszej kolejności należy zmodernizować istniejący kod. Jeśli celem jest uproszczenie rozwoju sterowników, wprowadzenie kolejnego języka jedynie zwiększy obciążenie już i tak przeciążonych maintainerów, którzy utrzymują infrastrukturę jądra w pełnej sprawności.

Wśród argumentów zwolenników wprowadzenia Rust do jądra wymienia się:

  1. Pisanie nowego kodu w języku Rust zmniejszy ryzyko błędów związanych z pamięcią, stanami wyścigu oraz wyeliminuje niektóre błędy logiczne.
  2. Maintainerom będzie łatwiej przeglądać zmiany i przeprowadzać refaktoryzację modułów, dzięki gwarancjom oferowanym przez język Rust.
  3. Abstrakcje wykorzystujące zaawansowane możliwości Rustu uproszczą tworzenie nowych sterowników i modułów.
  4. Wsparcie nowoczesnego języka przyciągnie nowych uczestników do rozwoju jądra.
  5. Zastosowanie narzędzi Rust uprości spełnianie wymagań dotyczących dokumentowania kodu, na przykład w projekcie Rust for Linux wprowadzono wymaganie obowiązkowego dokumentowania publicznych API, wymagań bezpieczeństwa, bloków unsafe oraz invariantów typów.

Dodatkowo: Opinie Griega Kroaha-Hartmana i Keisa Cooka na temat celów promowania Rust w jądrze Linux.

Avatar
Jun 5

Sąd apelacyjny odrzuca wniosek Apple — zmiany w App Store pozostają w mocy

Amerykański Sąd Apelacyjny dla Dziewiątego Okręgu odrzucił wniosek Apple o tymczasowe wstrzymanie decyzji sądu niższej instancji, która nakłada na firmę obowiązek umożliwienia deweloperom kierowania użytkowników do zewnętrznych systemów płatności bez pobierania prowizji. Spółka nie wykazała, że spełnione zostały warunki konieczne do zawieszenia wykonania wyroku,
0
Mar 13

Lip-Bu Tan obejmie stanowisko dyrektora generalnego Intela

Intel ogłosił nominację Lip-Bu Tana na stanowisko dyrektora generalnego, co ma na celu ustabilizowanie sytuacji po rezygnacji Pata Gelsingera. Tan obejmie nowe obowiązki 18 marca i ponownie dołączy do rady dyrektorów Intela po wcześniejszej rezygnacji z tego stanowiska w sierpniu ubiegłego roku.
0
Mar 20, 2023

Zbiorowa petycja pracowników Google ws. lepszego traktowania przy zwolnieniach grupowych

Prawie 1400 pracowników firmy macierzystej Google Alphabet Inc. podpisało petycję wzywającą do lepszego traktowania pracowników podczas procesu zwolnień grupowych.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies