encyklopedia.space

Linux Subsystem for Windows (WSL)

Linux Subsystem for Windows, znany także jako WSL (ang. Windows Subsystem for Linux), to warstwa kompatybilności umożliwiająca uruchamianie binarnych programów linuksowych bezpośrednio w systemie operacyjnym Windows. WSL zapewnia interfejs systemowy zgodny z POSIX, dzięki czemu wiele dystrybucji Linuxa może działać w środowisku Windows bez potrzeby korzystania z maszyn wirtualnych czy podwójnego rozruchu.

Historia

Projekt powstał w 2016 roku pod auspicjami firmy Microsoft jako część strategii łączenia ekosystemu otwartego oprogramowania z własnym systemem operacyjnym. Pierwsza wersja, oznaczona jako WSL 1, została udostępniona w ramach aktualizacji Windows 10 pod nazwą Anniversary Update. W kolejnych latach, w szczególności w 2019 roku, wprowadzono WSL 2, oparty na pełnym jądrze Linux uruchamianym w lekkiej maszynie wirtualnej.

Architektura

W zależności od wersji, architektura WSL różni się pod względem implementacji:

  • WSL 1 – tłumacz translate system calls (TLB) przekłada wywołania systemowe Linuksa na odpowiedniki systemu Windows, bez użycia wirtualizacji.
  • WSL 2 – korzysta z lekkiej wirtualizacji opierającej się na technologii Hyper‑V. Wirtualny system posiada własne jądro Linux Kernel, co zapewnia wyższą zgodność i lepszą wydajność przy obsłudze intensywnych operacji systemowych.

Wsparcie dystrybucji

Użytkownicy mogą instalować różnorodne dystrybucje dostępne w Microsoft Store, m.in.:

Każda dystrybucja jest dostępna jako samodzielny pakiet, a użytkownik może jednocześnie korzystać z kilku środowisk linuksowych.

Instalacja i konfiguracja

Podstawowe kroki instalacji WSL w systemie Windows:

  1. Włączenie funkcji systemowej: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart (dla WSL 1) lub dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart (dla WSL 2).
  2. Pobranie i instalacja wybranej dystrybucji z Microsoft Store lub przy użyciu polecenia wsl --install.
  3. Ustawienie wersji domyślnej przy pomocy wsl --set-default-version 2 (jeśli dostępny jest WSL 2).
  4. Uruchomienie środowiska binarnie: wsl lub poprzez skrót tworzący powłokę Bash.

Zastosowania

WSL jest wykorzystywany w wielu scenariuszach:

  • Rozwój oprogramowania – umożliwia programistom pracę z narzędziami typowymi dla Linuksa, takimi jak Git, Docker (przez Docker Desktop), Node.js, Python i innymi.
  • Administracja systemami – pozwala na uruchamianie skryptów bash i narzędzi zarządzania serwerami bez konieczności posiadania oddzielnej maszyny.
  • Edukacja – studenci mogą uczyć się systemu Linux bez instalacji dodatkowego oprogramowania.
  • Badania – umożliwia testowanie aplikacji linuksowych w środowisku Windows.

Ograniczenia

Mimo licznych zalet, WSL posiada pewne ograniczenia:

  • Ograniczona obsługa systemd w WSL 1 (dodana w późniejszych wersjach WSL 2).
  • Brak natywnego wsparcia dla niektórych sterowników sprzętowych, np. GPU w wersji przed WSL 2.0 + CUDA.
  • Potencjalne problemy z kompatybilnością aplikacji zależnych od niskopoziomowego dostępu do sprzętu, takich jak niektóre programy do wirtualizacji.

Rozwój i przyszłość

Microsoft kontynuuje rozwój WSL, wprowadzając nowe funkcje takie jak:

  • Wsparcie przyspieszenia GPU dla aplikacji uczenia maszynowego.
  • Integracja z Docker Desktop umożliwiająca uruchamianie kontenerów Linux bezpośrednio w WSL.
  • Ulepszenia w interoperacyjności plików pomiędzy systemem Windows a środowiskiem Linux.
  • Rozszerzenia WSLg (Linux GUI) umożliwiające uruchamianie graficznych aplikacji Linux w Windows.

W kolejnych wersjach planowane jest pełne wsparcie dla systemd, lepsza integracja z PowerShell oraz dalsza optymalizacja wydajności.

Powiązane pojęcia

Więcej informacji można znaleźć w następujących artykułach encyklopedycznych: