====== WSL: Windows Subsystem for Linux ====== **WSL** představuje zásadní změnu v přístupu společnosti Microsoft k otevřenému softwaru. Umožňuje používat oblíbené nástroje jako [[Bash]], [[Clang]], [[Rust]] nebo Python v nativním linuxovém prostředí, zatímco uživatel stále používá Windows pro grafické aplikace a hry. ===== 1. Evoluce: WSL 1 vs. WSL 2 ===== Microsoft vyvinul dvě zásadně odlišné verze této technologie. ==== WSL 1: Emulace systémových volání ==== První verze fungovala jako překladová vrstva. Když linuxová aplikace zavolala jádro, WSL 1 toto volání přeložilo na ekvivalentní volání jádra Windows (NT Kernel). * **Výhoda:** Velmi nízká spotřeba paměti [[RAM]]. * **Nevýhoda:** Pomalý přístup k souborovému systému a neúplná kompatibilita (chyběla podpora pro složitější síťové operace). ==== WSL 2: Skutečné Linuxové jádro ==== WSL 2 používá technologii hypervizoru (Hyper-V) ke spuštění **skutečného linuxového jádra** v extrémně lehké virtuální utilitě. * **Výhoda:** 100% kompatibilita se systémovými voláními a dramatické zrychlení souborových operací. * **Změna:** Jádro je spravováno společností Microsoft a aktualizováno přes Windows Update. ===== 2. Klíčové vlastnosti ===== * **Interoperabilita:** Můžete spouštět Windows aplikace (např. ''notepad.exe'') z linuxového terminálu a naopak přistupovat k linuxovým souborům z Průzkumníka Windows (cesta ''\\wsl$''). * **Nízká režie:** Na rozdíl od běžného virtuálního stroje WSL dynamicky alokuje [[RAM]] a vrací ji systému, když ji Linux nepotřebuje. * **Podpora GPU:** WSL 2 umožňuje linuxovým aplikacím přistupovat k grafické kartě přes rozhraní NVIDIA CUDA nebo DirectML (klíčové pro AI a Data Science). * **WSLg:** Nejnovější verze podporuje i grafické (GUI) aplikace a zvuk, což umožňuje spouštět např. linuxové verze IDE přímo na ploše Windows. ===== 3. Instalace a distribuce ===== WSL dnes není omezeno na jednu distribuci. Uživatelé si mohou vybrat z Microsoft Store: * **Ubuntu** (nejpopulárnější volba) * **Debian** * **Kali Linux** * **openSUSE** ===== 4. Využití ve vývoji ===== WSL je dnes standardním nástrojem pro webové a systémové vývojáře na platformě Windows: * **Docker:** WSL 2 je doporučeným backendem pro Docker Desktop na Windows. * **VS Code:** Díky rozšíření "Remote - WSL" můžete psát kód ve Windows, ale kompilovat a testovat jej přímo v Linuxu pomocí [[Clang]] nebo [[Rust]]u. ===== Srovnání: WSL vs. Virtuální stroj vs. Dual-boot ===== ^ Vlastnost ^ WSL 2 ^ Virtuální stroj ^ Dual-boot ^ | **Rychlost startu** | Sekundy | Minuty | Minuty | | **Izolace** | Střední | Vysoká | Úplná | | **Výkon CPU** | Nativní | Skoro nativní | Nativní | | **Spotřeba RAM** | Dynamická | Fixní (rezervovaná) | Žádná (běží jen jeden OS) | --- > **Tip pro výkon:** Pokud používáte WSL 2, ukládejte své zdrojové kódy přímo do linuxového souborového systému (např. ''/home/uzivatel/projekt''), nikoliv na disky Windows (''/mnt/c/''). Přístup k nativním linuxovým souborům je v WSL 2 až 20x rychlejší. //Související: [[Linux]], [[Bash]], [[Docker]], [[RAM]], [[CPU]]//