Szczegóły ulepszeń firmy Microsoft dla sterowników nowej generacji systemu Windows 11

Szczegóły ulepszeń firmy Microsoft dla sterowników nowej generacji systemu Windows 11

Integracja Rust z rozwojem sterowników systemu Windows przez firmę Microsoft

Od połowy 2023 roku Microsoft koncentruje się na integracji języka Rust z systemem operacyjnym Windows. Inicjatywa ta rozpoczęła się od udanej integracji języka Rust z jądrem systemu Windows, a obecnie ewoluowała, aby zachęcić twórców sterowników do wdrożenia tego innowacyjnego języka programowania.

windows-drivers-rsUruchomienie projektu Open Source

W lipcu Microsoft zaprezentował projekt open source windows-drivers-rs, inicjatywę zespołu Surface, mającą na celu uproszczenie tworzenia sterowników systemu Windows za pomocą języka Rust. Ten framework został zaprojektowany w celu zwiększenia wydajności tworzenia sterowników w języku Rust, zapewniając nowocześniejszą alternatywę dla konwencjonalnych języków programowania, takich jak C.

Wprowadzenie cargo-wdkskrzyni

Niedawno Microsoft ogłosił ulepszenia tej inicjatywy, w szczególności wprowadzenie pakietu cargo-wdkCrate. To nowe rozszerzenie Cargo usprawnia proces tworzenia sterowników, generując puste projekty sterowników z wstępnie skonfigurowanymi krokami kompilacji, zależnościami i powiązaniami. Może również wykorzystywać narzędzia Windows Driver Kit (WDK), takie jak InfVerif, odzwierciedlając doświadczenie tworzenia sterowników w języku C w programie Visual Studio.

Zalety stosowania Rust

Rust wyróżnia się na tle tradycyjnych języków programowania, takich jak C, oferując zaawansowane funkcje bezpieczeństwa pamięci. Ta cecha znacznie zmniejsza ryzyko luk w zabezpieczeniach związanych z pamięcią. Ponadto Rust charakteryzuje się wyjątkową kompatybilnością z kodem sterowników C i C++, co ułatwia programistom przejście na nowy język.

Przyszłe cele i rozwój

Długoterminową wizją Microsoftu jest wyposażenie programistów Rust w ekosystemie Cargo w narzędzia do kompilacji i opcje konfiguracji odpowiadające tym dostępnym w programie Visual Studio. W perspektywie średnioterminowej firma planuje między innymi wdrożenie automatycznej instalacji pakietu Windows Driver Kit, obsługę NT_TARGET_VERSION oraz pełną zgodność z architekturą ARM64.

Aktualny stan Rust w rozwoju sterowników

Obecnie windows-drivers-rsframework obsługuje określone typy sterowników w Rust, jednak nadal wymaga znacznej ilości niebezpiecznego kodu. Microsoft aktywnie współpracuje ze specjalistami Rust w celu tworzenia bezpieczniejszych abstrakcji zarówno dla sterowników trybu jądra (KMD), jak i sterowników trybu użytkownika (UMD).Kilka zespołów pracuje również nad rozwojem bezpiecznych struktur i interfejsów API dostosowanych zarówno do podstawowych funkcji jądra, jak i do tworzenia sterowników innych firm, a niektóre z tych innowacji są już zintegrowane z jądrem systemu Windows.

Zrozumienie abstrakcji w rozwoju sterowników

Dla tych, którzy mogą nie być zaznajomieni z tym terminem, abstrakcja w tym kontekście odnosi się do bezpiecznego procesu przejścia między trybem użytkownika a trybem jądra. Tryb jądra działa na najwyższym poziomie uprawnień, podczas gdy tryb użytkownika funkcjonuje na niższym poziomie uprawnień, co podkreśla znaczenie bezpiecznych i efektywnych przejść.

Następne kroki i najlepsze praktyki

W przyszłości Microsoft planuje udostępnić dalsze informacje i najlepsze praktyki dotyczące rozwoju sterowników, w tym wykorzystanie języka CodeQL do analizy statycznej. Warto zauważyć, że w lipcu firma zaktualizowała swoje wytyczne dotyczące analizy statycznej sterowników innych firm, dostosowując się do wydania systemu Windows 11 w wersji 25H2.

Aby dowiedzieć się więcej na temat tych zmian, możesz zapoznać się z pełnym wpisem blogowym na oficjalnej stronie internetowej Microsoft Tech Community.

Źródło i obrazy

Dodaj komentarz

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