[NEW] Szukaj pracy anonimowo — sprawdź szczegóły
Close
Wprowadzenie Rust do jądra Linux: Oświadczenie Griega Kroaha-Hartmana i Keisa Cooka

Wprowadzenie Rust do jądra Linux: Oświadczenie Griega Kroaha-Hartmana i Keisa Cooka

Greg Kroah-Hartman, odpowiedzialny za wsparcie stabilnej gałęzi jądra Linux, wyraził poparcie dla rozwoju nowych komponentów jądra w języku Rust. Jako osoba, przez którą przez ostatnie 15 lat przechodziła cała dokumentacja błędów i podatności w jądrze Linux, twierdzi, że większość błędów w jądrze wynika z niewłaściwie obsługiwanych przypadków w języku C (tzw. corner case), które zostałyby całkowicie wykluczone w kodzie napisanym w języku Rust.

Zastosowanie Rust pozwoliłoby na pozostawienie w przeszłości takich problemów, jak dostęp do pamięci po jej zwolnieniu, przepełnienie bufora (częściowo), błędne zwalnianie zasobów podczas obsługi błędów oraz zapomniane kontrole kodów błędów, co pozwoliłoby maintainerom skupić się na rzeczywistych błędach, takich jak stany wyścigu i problemy z logiką, a nie rozpraszać uwagę przy przeglądach kodu na drobnostki.

Już istniejący, stary kod w języku C nie zniknie, natomiast w przypadku nowego kodu i nowych sterowników, wprowadzenie Rust pozwoli znacznie poprawić jakość. Wprowadzenie Rust umożliwi także lepszą strukturalizację wewnętrznych interfejsów API jądra, co praktycznie wykluczy błędy wynikające z nieprawidłowego używania API – w jądrze zgromadziło się zbyt wiele skomplikowanych i zawiłych interfejsów, co tworzy dużą presję na maintainerów, którzy muszą sprawdzać, czy te API są używane poprawnie. W trakcie rozwoju powiązań Rust, maintainerzy będą mieli możliwość przemyślenia i uporządkowania API, co przyniesie korzyści wszystkim, w tym użytkownikom języka C.

Greg nie uważa Rust za „srebrną kulę”, która rozwiąże wszystkie problemy w jądrze, ale jest przekonany, że ten język pomoże w wielu sytuacjach. Wsparcie dla Rust zaspokoi także potrzeby programistów sterowników, którzy liczą na narzędzie pozwalające na pisanie kodu dla ich sprzętu, eliminując wiele rodzajów błędów. Co do łączenia różnych języków, Greg nie widzi w tym większego problemu, jego zdaniem, w przeszłości deweloperzy jądra radzili sobie z bardziej skomplikowanymi zadaniami, więc nie ma powodu, by odrzucać wprowadzenie nowych, dobrych pomysłów, które mogą pomóc zapewnić sukces projektu na następne 20+ lat.

Do dyskusji dołączył również Kees Cook, były główny administrator systemów kernel.org oraz lider zespołu bezpieczeństwa Ubuntu Security Team. Kees doprecyzował, że nie chodzi o przepisywanie istniejącego kodu w jądrze, lecz o umożliwienie korzystania z Rust do tworzenia nowych sterowników i podsystemów. Zastosowanie Rust w nowym kodzie pozwoli nie tylko na zmniejszenie liczby błędów związanych z pamięcią, ale także na skrócenie czasu rozwoju. Prędkość rozwoju wzrasta dzięki zmniejszeniu nakładu pracy na debugowanie i dzięki ścisłym gwarancjom w języku, które pozwalają na wykrywanie błędów na wczesnym etapie pisania kodu, jeszcze przed rozpoczęciem testowania produktu.

Skuteczność taktyki wykorzystania Rust do poprawy jakości nowego kodu została już udowodniona przez Google na platformie Android. Pokazano, że głównym źródłem problemów z bezpieczeństwem jest nowy kod, a poprawie jego jakości należy poświęcać szczególną uwagę. W przypadku starego kodu zaobserwowano wykładniczą zależność bezpieczeństwa od czasu (na przykład, 5-letni kod w średniej posiada 3,4 razy mniejszą gęstość podatności niż nowy kod).

Dodatkowo: Lider projektu Asahi Linux rezygnuje z pracy nad projektem po problemach z promowaniem Rust w jądrze Linux.

Avatar
Mar 18

Google and Muon Space Launch First FireSat Satellite to Detect Wildfires

Google and Muon Space have successfully launched the first satellite of the future FireSat constellation, designed to track wildfires globally. The satellite was deployed as part of SpaceX's Transporter 13 mission from the Vandenberg Space Force Base in California, marking a significant advancement in wildfire detection technology. The satellite has officially made contact with Earth, initiating its mission to enhance early fire detection capabilities.
Kwi 18, 2023

Sam Altman potwierdził, że OpenAI obecnie nie trenuje GPT-5

Podczas niedawnego przemówienia na MIT dyrektor generalny OpenAI Sam Altman potwierdził, że obecnie firma nie trenuje piątej wersji generatywnego modelu sztucznej inteligencji (GPT-5).
Mar 4

Nowe standardy bezpieczeństwa w C++ – Stroustrup chce zachować konkurencyjność języka

Bjarne Stroustrup, twórca języka C++, wezwał komitet WG21, odpowiedzialny za rozwój standardów C++, do podjęcia działań mających na celu utrzymanie konkurencyjności języka w kontekście rosnącej popularności języków zapewniających bezpieczne zarządzanie pamięcią. Według niego C++ już teraz oferuje wszystkie mechanizmy potrzebne do bezpieczeństwa pamięci, ale brakuje standaryzowanych narzędzi, które gwarantowałyby programowanie wyłącznie w bezpiecznym podzbiorze języka.

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies