[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
Mar 26, 2024

Nvidia pierwszą firmą z cyfrowym CEO ze sztuczną inteligencją

Powodem, dla którego Nvidia będzie pierwsza jest to, że ma największą potrzebę zachowania korzyści, jakie czerpie od swojego założyciela, Jensena Huanga. Ponadto Huang jest zwolennikiem sztucznej inteligencji, co oznacza, że Nvidia nie tylko jest liderem w dziedzinie rozwiązań AI, ale także wykorzystuje AI wewnętrznie.
0
Mar 26

OpenAI uruchamia nowy generator obrazów w ChatGPT – teraz dostępny również dla użytkowników bezpłatnych

OpenAI wprowadza nową funkcję tworzenia i edytowania obrazów bezpośrednio w ChatGPT, opartą na modelu GPT-4o. To pierwsze duże rozszerzenie możliwości graficznych tego chatbota od czasu integracji z DALL-E 3. Funkcja jest już dostępna dla subskrybentów planu Pro, a wkrótce trafi także do użytkowników wersji Plus i darmowej, jak również do deweloperów korzystających z API.
0
Jun 16

Nowa funkcja Gemini „Catch me up” poinformuje o zmianach w plikach na Dysku Google

Google wprowadził nową funkcję „Catch me up” opartą na Gemini, która ma ułatwić śledzenie zmian w dokumentach przechowywanych na Dysku Google. Od 3 czerwca 2025 roku narzędzie jest wdrażane stopniowo wśród użytkowników pakietu Google Workspace
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