Linux może zawierać strukturę sterowników w Rust

Zardzewiały Linux

Grega Kroah-Hartmana, jeden z opiekunów jądra Linuksa ostatnio otrzymał propozycję w którym to mówi że jest możliwe, że zostanie zaakceptowany framework przeznaczony do tworzenia sterowników w języku Rust w rdzeniu.

Chociaż w tej chwili nie ma nic konkretnego, Greg Kroah-Hartman formułuje dwa warunki: Jedną z nich jest to, że framework nie zostanie domyślnie aktywowany w przypadku jego integracji, aby uniknąć sytuacji, w której Rusta nie jest potrzebna do kompilacji jądra; po drugie, że proponowane podejście ma rzeczywiste zalety w porównaniu z metodami wynikającymi z użycia języka C.

Wiadomo, że jądro Linuksa jest produktem rozwoju języków C, a przede wszystkim dla Linusa Torvaldsa C jest przede wszystkim. Tak więc podczas opracowywania sterowników dla systemu użycie C.

Programiści wykorzystali ogromne możliwości który oferuje w zakresie zarządzania zasobami sprzętowymi systemu komputerowego wykorzystanie Rusta.

I coraz więcej głosów jest podnoszonych, aby przywołać przejście do języka Rust, z których jeden ma zastąpić C w kontroli materiałów.

I właśnie na ostatnim szczycie dotyczącym bezpieczeństwa w Linuksie Badacze bezpieczeństwa, wraz z innymi, wskazali na jedną z największych niedociągnięć językowych C to problemy związane z zarządzaniem pamięcią - przepełnienia bufora, alokacje, dostęp do nieprawidłowych lub zwolnionych obszarów pamięci itp.

Zgodnie z danymi przedstawionymi przez duet badaczy, wynik 65% luk w jądrze Linuksa zidentyfikowanych w ciągu ostatnich 6 miesięcy. Dane dotyczące typowych luk i zagrożeń (CVE) są podobne: 15.9% z 2288 luk, które wpłynęły na jądro Linuksa w ciągu 20 lat, jest związanych z przepełnieniem bufora.

Zespół badawczy nie mówił tylko o korzyściach, jakie oferuje Rust w porównaniu z C.. Skorzystał również z okazji, aby przedstawić inicjatywę opracowania frameworka przeznaczonego do rozwoju sterowników Linuksa.

Mówiąc najprościej, wysiłek polega na pracy z interfejsami API jądra Linuksa. Rozwój dotyczy architektur x86, arm / arm64, mips, POWERPC, RISC-V, s390 i SPARC.

Pero największym problemem jest to, że tylko Linus Torvalds uważa, że ​​nie ma nic lepszego niż język C. do programowania systemu.

Muszę powiedzieć, że w takich sprawach jestem dość staroświecki. Powodem, dla którego uruchomiłem Linuksa i ogólnie systemy operacyjne jest to, że naprawdę podoba mi się sprzęt. Lubię zgłębiać aspekt materialny.

Nie mówię tego, aby podkreślić, że jestem ekspertem. Chodzi mi o to, że lubię wchodzić w interakcje ze sprzętem z oprogramowania. Patrząc z tego punktu widzenia, nie widziałem jeszcze języka programowania, który tylko zbliżałby się do języka C.

To stwierdzenie nie wynika tylko z tego, że C jest przydatne do generowania dobrego kodu do obsługi sprzętu. Również używanie C ma sens dla ludzi myślących jak komputer. Myślę, że powodem jest to, że ludzie, którzy zaprojektowali język C, zrobili to w czasie, gdy kompilatory musiały być proste; w czasie, gdy język musiał dostosować się do oczekiwanego produktu lub rezultatu.

Kiedy więc czytam kod w języku C, wiem, jak będzie wyglądał kod asemblera i właśnie to mnie interesuje ”- powiedział 7 lat temu podczas jednego ze swoich wystąpień na konferencji. Centrum technologii Intel Open Source.

Wcześniej zrezygnowałeś z podobnych propozycji wprowadzenia C ++ w kręgu języków poświęconych tworzeniu sterowników dla systemu Linux. W szczególności podkreślił możliwość uczynienia zorientowanego obiektowo czystszego w C niż w C ++.

Inicjatywa Alexa Gaynora i Geoffreya Thomasa nadal jest wielkim projektem na wielu płaszczyznach. Na przykład zespół badawczy podkreśla potrzebę dalszego rozwoju sterowników dla systemów plików i dla określonych typów urządzeń.

Wtedy będziemy musieli zobaczyć, czy treść może przekonaćopiekunów Linuksa.


Zostaw swój komentarz

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

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  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.