Systemy operacyjne

Kod Windows jest przepisywany. Dlaczego Rust, a nie C/C++?

przeczytasz w 1 min.

Microsoft przepisuje kod kluczowych elementów systemu Windows. Postawił w tym celu na język Rust, charakteryzujący się wysoką wydajnością, a także (choć właściwie należałoby powiedzieć, że przede wszystkim) oszczędnością i bezpieczeństwem pamięci.

Rust zastąpi C/C++. Windows ma nowy język programowania

Kod systemów z rodziny Windows (w tym Windows 11) napisany jest w językach C, C++, C# i w asemblerze. Rust ma nad nimi tę przewagę, że potrafi eliminować ewentualne błędy związane z bezpieczeństwem pamięci już na etapie kompilacji. W dodatku umożliwia zaoszczędzenie pamięci, a jego wykorzystanie wiąże się także ze wzrostem wydajności, szacowanym w różnych przypadkach na 5-15 proc. 

Microsoft jest przekonany o potencjale języka Rust, który uważany jest za jednego z najpoważniejszych kandydatów do zastąpienia w przyszłości języków C/C++. To dlatego na nim właśnie zamierza opierać kolejne funkcje systemu Windows. Równocześnie już w 2020 roku rozpoczęto przepisywanie kodu podstawowych elementów systemu i aktualnie można mówić już o setkach tysięcy linijek kodu w tym języku. David „dwizzle” Wetson, dyrektor ds. bezpieczeństwa systemu Windows, wyraził ponadto przekonanie, że Windows będzie uruchamiał się z Rustem w jądrze w ciągu najbliższych kilku tygodni lub miesięcy. 

Element po elemencie. Kod Windows w języku Rust

Jako pierwszy przepisany został DirectWrite API, a obecnie „na warsztacie” znajduje się główny interfejs graficzny (Wind32 GDI). Równocześnie jednak Microsoft podkreśla, że w najbliższym czasie większa część systemu nie zostanie jednak przeniesiona na Rust. Byłoby to nie lada wyzwanie, biorąc pod uwagę to, jak wiele milionów wierszy tworzy system Windows. 

Rust, opracowany przez Graydona Hoare’a i upubliczniony w 2010 roku, przykuł także uwagę innych firm i organizacji. Google, Facebook i Amazon to niektórzy z wykorzystujących ten język w swoich rozwiązaniach. Także jądro Linux coraz bardziej otwiera się na Rusta. Warto tu podkreślić, że dwa lata temu Microsoft (wraz z firmami Google, Huawei, AWS i Mozilla) powołał do życia Fundację Rust.

Źródło: The Register, TechSpot

Komentarze

27
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    HardCorak
    10
    Ten system powinni cały napisać od początku bo obecnie mamy windows na windowsie i masa nakładających się opcji z starych windowsów.
    • avatar
      tulika
      2
      Ale bzdury, brzmi typowe przedstawianie zagadnień technicznych przez ludzi, którzy się tym nie zajmują.

      Twierdzenie, że rust pozwala zwiększyć wydajność w stosunku do asemblera jest głupotą roku.
      Generalnie o coś zupełnie innego w tym wszystkim chodzi,
      Rust po prostu pozwala zapobiegać częstym i typowym błędom programistów. I na tym polega jego siła, Każdy kto pisał zwłaszcza w C pewnie przynajmniej kilka razy zrobił jakiś błąd w kodzie związany z zarządzaniem pamięcią.

      Perfekcyjnie napisany kod w asemblerze zawsze będzie szybszy lub przynajmniej nie wolniejszy niż w dowolnym innym języku...
      Dlaczego? Trzeba rozumieć czym jest asembler...

      Natomiast pisanie w asemblerze jest nieefektywne, wymagające dogłębnej wiedzy i zrozumienia architektury procesora i układów, i wybitnie podatne na błędy ludzkie. Ot co...
      • avatar
        pablo11
        0
        Ta, 10-15% szybszy. Obstawiam, że w wybranych funkcjach, w których jest szybszy od implementacji tych funkcji w C++. Nie wiem jak dobrze jest zaimplementowany Rust w x86/arm, ale obstawiam, że mimo tych "10-15% szybszych funkcji" programy będą działać wolniej. Chciałbym się mylić w tej kwestii.
        Chciałbym się mylić też na temat tego, że ten Windows będzie obcinał FPSy w grach, podobnie jak Win11, który też miał być 10-15% szybszy....
        • avatar
          anemusek
          -2
          Rust ściąga trochę odpowiedzialność z programisty ale... O ile nie umieszcza się kodu w bloku unsafe. Nie umieszczanie kodu w blokach bez weryfikacji ochrony pamięci przy kompilacji wiąże się z spadkami wydajności wynikowych binarek i to drastycznymi. Niestety bardzo wiele bibliotek standardowych właśnie z powodu wydajności jest pisana w takich blokach i infekuje cały soft pisany w tym języku.
          Tak więc jest szybki bo jest niebezpieczny. Aby był bezpieczny musi być o 20% wolniejszy.
          • avatar
            maluszek88
            -6
            Rust to nie jest czasem rdza? Xd przepiszą źle i będzie syf
            • avatar
              weteran2000
              -6
              kupie nowy komputer z procesorem threadripper 1950X, dwie karty graficzne geforce gtx titan X maxwell 2.0 sli, windows 8.0 professional 64 bitowy, nowe gry komputerowe będą optymalizowane dla takich komputerów do 2030 roku 2035 roku
              • avatar
                sn00p
                -7
                Wszystkie OS od MS od 1993 łącznie z W11 są modyfikacjami NT.
                • avatar
                  weteran2000
                  -10
                  oprogramowanie rust wciskane jest na siłe pod pretekstem że pamięć komputerów jest uszkodzona fabrycznie ale wszystkie generacje pamięci komputerowej wrócą do naprawy bo ludzie nie zapłacą za uszkodzone komputery gorszej jakości dlatego oprogramowanie rust odpadnie w biegu zmian dla starszych systemów windows