Microsoft har lanserat WSL 3.0 (Windows Subsystem for Linux), ett verktyg som tillĂ„ter körning av Linux-applikationer i Windows. Den nya versionen Ă€r kĂ€nd för att möjliggöra körning av Linux-containrar i Windows och övergĂ„ngen till att anvĂ€nda Linux-kĂ€rnan 6.18. Koden för de kommandoradsverktyg, bakgrundsprocesser för Linux-miljöer, tjĂ€nster för att köra containrar och virtuella maskiner, samt grafiska stacken wslg Ă€r öppen under MIT-licensen. Ăndringarna för Linux-kĂ€rnan tillhandahĂ„lls under GPLv2-licensen.
WSL erbjuder en virtuell maskin med en fullstÀndig Linux-kÀrna (baserad pÄ version 6.18), dÀr Linux-distributioner kan köras. KÀrnan inkluderar WSL-specifika Àndringar, sÄsom optimeringar för att verkans tiden och minska minnesanvÀndningen, möjligheten för Windows att ÄterfÄ minne som frigjorts av Linux-processer, samt instÀllningar för att utesluta onödiga drivrutiner och subsystem. Systemet installeras i en separat diskavbild (VHD) med ext4-filsystem och en virtuell nÀtverksadapter.
Den nya versionen inkluderar verktyg för att skapa, distribuera och köra Linux-containrar i Windows, inklusive kommandoradsgrÀnssnittet wslc (WSL Containers) och en medföljande API som tillÄter körning av Linux-containrar frÄn Windows-program. Huvudfunktionerna i wslc:
- Operationer för att hantera livscykeln av containrar, sÄsom skapande, körning, stopp, export, rensning, inspektion, kontroll av drift, överföring av hÀndelser om containeraktivitet, samt kopiering av filer till och frÄn containern.
- BegrÀnsning av CPU- och minnesanvÀndning för enskilda containrar.
- Byggande, laddning, överföring, import, sparande och verifiering av systemavbilder. Kommandon för att visa listor över tillgÀngliga avbilder. Batchoperationer för flera avbilder pÄ en gÄng. Möjlighet att packa flera avbilder i ett enda tar-arkiv.
- Skapande och hantering av virtuella nÀtverk. Koppla containrar till flera nÀtverk. Skapa egna typer av nÀtverk. Portöppningar för nÀtverk.
- Skapa, visa och ta bort partitioner. Arbeta med virtuella diskar (VHD).
- à tkomst till GPU frÄn containrar och tillhandahÄllande av bibliotek för icke-privilegierade anvÀndare att arbeta med GPU.
- Skapa sessioner vid behov, namnge sessioner, anpassningsbart lagringsstÀlle.
- SDK med API för automatisering av arbete med containrar frÄn program skrivna i C++ och C#/WinRT.
- Kommandot «wslc logs» för att granska och extrahera data frÄn loggar. Visar statistik över containerns arbete. Syntaxmarkering i verktyget «wslc».
- Integration med MSBuild och CMake.
- Stöd för hantering via gruppolitik ADMX.
- Stöd för VS Code dev container-tillÀgg för att köra och bygga utvecklad kod i en container.
- Möjlighet att anvÀnda wslc som runtime för att köra containrar i Aspire-verktyget.
- Extension vscode-container-client för att hantera containrar frÄn kodredigeraren VS Code.
- Hantering av wslc-containrar via textgrÀnssnittet Lazywslc eller skrivbordsapplikationen WinUI 3.
- Wrapper för att köra Linux-containrar frÄn Linux-distributioner som körs i WSL.

Containrarna anvÀnder som standard filsystemet «virtiofs», vilket ger dubbelt sÄ snabb Ätkomst till Windows-filer, och nÀtverkslÀget «consomme», vilket ger förbÀttrad kompatibilitet med olika nÀtverkskonfigurationer (VPN, proxy osv.). I «consomme»-lÀget dirigeras Linux-trafik genom Windows, vilket gör att Linux-applikationer kan anvÀnda alla nÀtverksresurser i Windows, inklusive sÀkerhetspolicyer och verktyg för integration med företagsystem.
Den privilegierade Windows-tjÀnsten wslservice.exe ansvarar för att köra containrar, vilket startar virtuella maskiner och anvÀnder dem för att köra Linux. Till skillnad frÄn WSL skapar tjÀnsten wslservice.exe en underprocess wslcsession.exe för containrar, som körs med nuvarande anvÀndarrÀttigheter och tar hand om operationer som att skapa containrar, montera kataloger och vidarebefordra nÀtverksportar. Olika sessioner Àr strikt isolerade frÄn varandra och körs i separata processer. Varje session kopplas till ett separat VHD-lagringsutrymme som placeras i katalogen %AppData%\Local\wslc\sessions. Det Àr möjligt att montera Windows-sökvÀgar i Linux-containern för att dela filer.

KĂ€lla: opennet.ru
