Nadchodzi dziesiąta wersja Rusta dla Linuksa, gotowa do włączenia do Linuksa 6.1

Rusty sterowniki w systemie Linux

Rust jest teraz gotowy do przyłączenia się do C jako praktycznego języka do wdrożenia w Linuksie

Kilka tygodni temu udostępniliśmy tutaj na blogu wiadomość o potwierdzeniu, które zostało dokonane podczas Open Source Summit Europe, ogłoszony przez Linusa Torvaldsa że, z wyjątkiem nieprzewidzianych problemów, si będzie zawierać łatki wspierające rozwój sterownika Rust w jądrze Linux 6.1, który ma zostać wydany w grudniu.

Powodem, dla którego o tym wspominam, jest to, że Zapowiedział Miguel Ojeda, autor projektu Rust-for-Linux Niedawno uruchomienie dziesiąta propozycja komponentów dla rozwoju Zardzewiałe sterowniki urządzeń do rozważenia przez programistów jądra Linux.

W związku z tym jest to jedenasta edycja łatek, biorąc pod uwagę pierwszą wydaną wersję (brak numeru wersji). Linus Torvalds zatwierdził włączenie obsługi Rust do jądra Linux 6.1, z wyłączeniem nieprzewidzianych problemów.

Rusty sterowniki w systemie Linux
Podobne artykuł:
Torvalds ogłosił, że Rust zostanie zaakceptowany w Linuksie 6.1

Warto wspomnieć, że rozwój jest finansowany przez Google oraz ISRG (Internet Security Research Group), która jest założycielem projektu Let's Encrypt i promuje HTTPS oraz rozwój technologii zwiększających bezpieczeństwo w Internecie.

Niektórzy korzyści płynących z uzyskania wsparcia Rust w jądrze ułatwiają pisanie kontrolerów bezpiecznych urządzeń zmniejszając prawdopodobieństwo wystąpienia błędów pamięci i zachęcić nowych programistów do zaangażowania się w jądro.

„Rdza jest jedną z tych rzeczy, które moim zdaniem przyniosą nowe twarze… starzejemy się i siwiejemy” – powiedział Linus.

Informacje o wydaniu Linux 6.0 zapewnia aktualizację postępów projektu Rust dla Linuksa: istnieje powiązana grupa robocza, dostępny jest wstępny sterownik dla nośników pamięci NVMe opracowany w tym języku, a także sterownik dla serwera przeznaczonego dla protokołu sieciowego 9P.

Korzystając ze wzmianki o wersji jądra 6.1 Linus ogłosił również, że wersja 6.1 jądra poprawi niektóre starsze części i podstaw jądra, takich jak funkcja printk().

Jeśli chodzi o tę nową propozycję łat Rust, a także najnowszą wersję łatek, dziesiąta wersja została zredukowana do absolutnego minimum, wystarczającego do zbudowania prostego modułu jądra napisanego w Rust.

Różnice w stosunku do poprzedniej wersji są zredukowane do drobnych poprawek, zamiana sizeof na ARRAY_SIZE w kallsyms.c i przenoszenie łat do jądra v6.0-rc7.

Wsparcie dla rdzy należy nadal uważać za eksperymentalne. Niemniej jednak,
Wsparcie jest na tyle dobre, że programiści jądra mogą zacząć nad nim pracować.

Minimalna łatka, która została zmniejszona z 40 000 linii kodu do 13 000 linii kodu, ma:, ułatwiają zaadaptowanie wsparcia Rust w rdzeniu. Po zapewnieniu minimalnego wsparcia planowane jest stopniowe zwiększanie istniejącej funkcjonalności, przenoszenie innych zmian z gałęzi Rust-for-Linux.

Proponowane zmiany umożliwiają wykorzystanie Rusta jako drugiego języka do tworzenia sterowników i modułów jądra. Obsługa Rusta jest prezentowana jako opcja, która nie jest domyślnie włączona i nie powoduje włączenia Rusta do wymaganych zależności kompilacji dla jądra.

Używanie Rusta do tworzenia sterowników pozwoli Ci tworzyć lepsze i bezpieczniejsze sterowniki przy minimalnym wysiłku, bez problemów, takich jak dostęp do obszaru pamięci po jego zwolnieniu, wyłuskiwanie wskaźników zerowych i przepełnienie bufora.

Bezpieczna obsługa pamięci jest zapewniona w Rust w czasie kompilacji, sprawdzając referencje, śledząc własność obiektu i czas życia obiektu (zakres), a także oceniając poprawność dostępu do pamięci podczas wykonywania kodu.

rdza też zapewnia ochronę przed przepełnieniem całkowitoliczbowym, wymaga obowiązkowej inicjalizacji wartości zmiennych przed użyciem, lepiej radzi sobie z błędami w standardowej bibliotece, domyślnie wymusza koncepcję niezmiennych zmiennych i referencji, oferuje silne statyczne typowanie w celu zminimalizowania błędów logicznych.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat o notatce możesz zapoznać się z listami mailingowymi na ten temat, W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.