Pingvin az ablakban: a WSL2 potenciáljáról és perspektíváiról

Helló, Habr!

Míg nálunk folytatódik a nyári akció, szeretnénk felajánlani, hogy megvitassuk az egyik legnagyobb témát, amelyen mostanában dolgozunk — a Windows és a Linux közötti interakciót, különösen a rendszer fejlődésével kapcsolatban WSL. A WSL 2 már úton van, és figyelmükbe ajánljuk a rendszeren belüli lehetőségek rövid áttekintését, valamint a Windows és Linux további integrációjának előrejelzését.

Pingvin az ablakban: a WSL2 potenciáljáról és perspektíváiról

Idén májusban a Microsoft bejelentette, hogy a WSL2, a Linux-alapú Windows-alrendszer legújabb verziója, teljes Linux kernellel fog működni, amit a cég állít elő.
Ezáltal a Microsoft először integrálja a Linux kernelt a Windowsba, mint az egyik komponensét. A Microsoft emellett bevezeti a Windows parancssort, amely kiterjeszti a PowerShell és a WSL lehetőségeit.

A Microsoft által készített Linux kernel a WSL2 számára és az új Windows parancssor elsősorban a fejlesztők számára érdekes.

„Ez a legnagyobb lépés az AWS ellen” – mondja Joshua Schwartz, a digitális átalakulás programvezetője az A.T. Kearney konzultációs cégnél.

A Microsoft jövője nem a PC-piacra összpontosít, bár továbbra is erősen tartja magát ezen a területen. Sokkal fontosabb lesz a felhőpiacon való megerősödés, amelynek egyik alkotóeleme lehet a jövőben az asztali PC is.

Mit csinál a WSL2

A WSL2 a legújabb Windows-alrendszer-infrastruktúra Linuxhoz. Drámaian megnöveli a fájlrendszer teljesítményét, és teljes kompatibilitást biztosít a rendszerhívásokkal.

A WSL közösség egyik fő igénye a funkcionalitás tökéletesítése volt. A WSL2-őn sokkal több Linux-eszköz működik, mint a WSL-en, például a Docker és a FUSE.
A WSL2 intenzív fájlkezelési műveleteket végez, például git clone, npm install, apt update és apt upgrade. A tényleges sebességnövekedés az adott alkalmazástól függ, és attól, hogy az hogyan kapcsolódik a fájlrendszerhez.

Az első tesztek azt mutatták, hogy a WSL2 körülbelül 20-szor gyorsabban kezeli a zip-ből való tar kicsomagolását, mint a WSL1. A git clone, npm install és cmake különböző projektekben a rendszer 2-5 alkalommal mutatott teljesítménynövekedést.

Segít-e ez elnyerni a fejlesztők bizalmát?

A lényeg az, hogy a Microsoft törekszik a fejlődés és a bizalom elnyerésére a fejlesztői közösségben azáltal, hogy saját Linux kernel verziót fejleszt a WSL2 folyamatainak támogatására – mondja Cody Swann, a Gunner Technology vezérigazgatója.

„Ha figyelmen kívül hagyjuk a Windowsra kifejezetten készített fejlesztéseket, minden más alkalmazás – felhőalapú, mobil és webalkalmazások – létrehozása PC-n rendkívül kényelmetlen volt, ezért a fejlesztőknek úgy vagy úgy, de párhuzamosan kellett Linux disztribúciót telepíteniük a Windows mellett. A Microsoft ezt elismerte, és megoldást kínált,” zárja le ő.

Valószínűtlen, hogy a saját Linux kernel bevezetése komoly hatással lenne a rendszer használatára a szokásos felhasználók szempontjából. Azonban, ilyen értelemben lehetőségek nyílnak a Microsoft szolgáltatásai és a Linux operációs rendszer közötti szorosabb együttműködésre.
A Microsoft lépése valóban nagyon okos, mivel lehetővé teszi a mélyebb behatolást a fejlesztői közösségbe, és aktívan használhatják azokat a termékeket, amelyeket mások fejlesztenek – azaz csatlakozhatnak az open source-hoz – véli Swann.

Üdvözlünk az Új Microsoftban

A Linux kernel „Windowsra készült” létrehozásának és támogatásának trendje egyértelműen a nyílt forráskód irányába mutató fejlődési irányt jelzi, amelyet Satya Nadella, a CEO népszerűsít. A Microsoft már nem olyan, mint Gates és Ballmer idején, amikor minden a szabadalmi kerítés mögé volt zárva, és senki sem gondolkodott az interoperabilitáson.

„Satya teljesen átalakította a Microsoftot egy sokkal modernabb platformmá, és ez a stratégia többszörösen megtérült. Helló, trilliós tőkeszerkezet,” mondja Schwartz.

Charles King, a Pund-IT főelemzője szerint a Microsoft két alapvető előnyének középpontjában a hatékonyság és a biztonság áll.

„A saját komoly fejlesztéseik – erőforrásaik és eszközeik – aktív kihasználásával a vállalat garantálhatja ügyfeleinek, hogy a kernel teljesen naprakész és a legújabb javításokkal és frissítésekkel van felszerelve, biztosítva a teljes biztonságot,” teszi hozzá.

A fejlesztők – szintén nyernek.

A Linux bináris fájlok számos funkciót hajtanak végre rendszerhívások segítségével, például fájlokhoz férnek hozzá, memóriát kérnek le és folyamatokat hoznak létre. A WSL1 egy fordítói szintre támaszkodik, amely sok ilyen rendszerhívást értelmez, lehetővé téve számukra, hogy kommunikáljanak a Windows NT kernelével.

A legnehezebb feladat az összes rendszerhívás megvalósítása. Mivel a WSL1-ben ez nem történt meg, néhány alkalmazás nem működött. A WSL2-ben számos új alkalmazás jelenik meg, amelyek megfelelően működnek ebben a környezetben.

Az új architektúra lehetővé teszi a Microsoft számára, hogy sokkal gyorsabban bevezesse a legújabb optimalizálásokat a Linux kernelébe, mint a WSL1 esetében. A Microsoft a WSL2 kernelét frissítheti, ahelyett, hogy minden korlátozást újraimplementálna.

Teljesen nyílt forráskódú eszköz

A Microsoft saját Linux kernelének fejlesztése a Linux Systems Group, valamint több más, a Microsofton belül működő csapat hosszú távú munkájának betetőzése – mondja Jack Hammons, a Microsoft Linux Systems Group programmenedzsere.

A WSL2-höz biztosított kernel teljesen nyílt forráskódú lesz, és a Microsoft közzéteszi a GitHubon, hogyan lehet ilyen kernelt összeállítani. A vállalat együttműködik azokkal a fejlesztőkkel, akik segíteni szeretnék a projektet, és elősegítik a felsőbb változtatásokat.

A Microsoft fejlesztői a folyamatos integráció és folyamatos szállítás rendszereit alkalmazták a WSL2 létrehozásához. Ez a szoftver a Windows frissítési rendszerén keresztül lesz karbantartva, és teljesen átlátható lesz a felhasználó számára. A kernel aktuális marad, és tartalmazni fogja a legújabb stabil Linux ágon elérhető összes funkciót.

A forráskódok hozzáférhetősége érdekében a vállalat helyben tükrözi a tárolókat, és folyamatosan figyelemmel kíséri a Linux levelezőlistájának tartalmát a biztonsági kérdésekben, valamint együttműködik több céggel, amelyek segítik az adatbázisok kezelését a vállalati virtuális környezetben (CVE). Így biztosítva van, hogy a Microsoft Linux kernelében figyelembe veszik a legújabb frissítéseket és megszüntetik az összes felmerülő fenyegetést.

A felsőbb változások kötelezővé válnak

A Microsoft garantálja, hogy minden kernelváltoztatás felfelé irányuló módon fog terjedni – ez a Linux filozófiájának fontos aspektusa. A lefelé irányuló javítások támogatása további bonyodalmakat okoz; ezen kívül ez a gyakorlat nem elterjedt a szabad fejlesztői közösségben.

A Microsoft célja, hogy aktív tagja legyen a Linux közösségnek, és a benne eszközölt változtatásokat a közösség rendelkezésére bocsássa. Annak érdekében, hogy stabilitást biztosítsanak a hosszú távú támogatással járó ágaknak, bizonyos javításokat – például új funkciókat tartalmazóakat – csak az új kernelverziókba építenek be, nem portolják át a meglévő LTS verziókba visszafelé kompatibilitás formájában.

Amikor a WSL kernel forrásai elérhetővé válnak, azok patchek összességét és egy tartósan stabil forrásrészletet fognak tartalmazni. A Microsoft várakozásai szerint ez az lista idővel csökkenni fog, ahogy a patch-ek felfelé irányuló terjesztése megtörténik, és új, helyi patch-ek kerülnek hozzáadásra a WSL legújabb lehetőségeinek támogatására.

Kellemesebb ablakkinézet

A Microsoft bejelentette a készülő 'téli' Windows Terminál kiadását – ez egy új alkalmazás azoknak a felhasználóknak, akik parancssori eszközökkel és héjakkal dolgoznak, különösen a Command Prompt-tal, PowerShell-el és WSL-lel.

Pingvin az ablakban: a WSL2 potenciáljáról és perspektíváiról

Windows Terminál

A Windows Terminál 1.0 számos beállítást és konfigurációs lehetőséget kínál, amelyek teljesebb ellenőrzést biztosítanak a terminálablak megjelenése és a megnyitható héjak/profilok felett új fülként.

A beállításokat strukturált szövegfájlban mentik, így könnyen konfigurálhatók és testreszabhatók a terminálablak megjelenése.

A Microsoft leállítja a meglévő Windows Konzol továbbfejlesztését, és egy teljesen újat hoz létre, friss megközelítést alkalmazva. A Windows Terminál párhuzamosan telepítve és működik a meglévő, "gyárilag" mellékelt Windows Console alkalmazással.

Hogyan működik ez

Amikor a Windows 10 felhasználó közvetlenül indítja el a Cmd/PowerShell/stb.-t, egy folyamat aktiválódik, amely a szokásos Console példányhoz van csatolva. Az új terminál konfigurációs mechanizmusa lehetővé teszi a Windows felhasználók számára, hogy több profilt hozzanak létre minden kívánt shellhez/alkalmazáshoz/eszközhöz, legyen szó PowerShellről, parancssorról, Ubunturól, vagy akár SSH-kapcsolatokról az Azure-al vagy az Internet of Things eszközeivel.

Ezekben a profilikban saját tervezési és betűméret kombinációk, színsémák, háttér elmosódási vagy átlátszósági szintek is megadhatók. Továbbá a felhasználók új monospaced betűtípust is választhatnak, hogy a terminál ablaka modernebb és stílusosabb legyen. Ez a betűtípus programozói ligatúrákat is tartalmaz, nyíltan elérhetővé válik, és saját adattárba lesz tárolva.

A Windows új parancssori felületének fő előnyei – a sok fül és a szép szöveg. A több fül támogatása a legkeresettebb igény volt a terminál fejlesztésével kapcsolatban. A szép szöveg egy DirectWrite/DirectX-alapú renderelő motor segítségével jön létre, amely GPU-gyorsítással van felszerelve.

A motor szöveges ikonokat, glifákat és speciális karaktereket jelenít meg a betűtípusokból, beleértve a kínai, japán és koreai ideogrammákat (CJK), emojikat, powerline szimbólumokat, ikonokat és programozói ligatúrákat. Ezen felül ez a motor sokkal gyorsabban jeleníti meg a szöveget, mint a konzol korábban használt GDI-jának megoldása.

A visszafelé kompatibilitás teljes mértékben megmarad, bár ha valaki szeretné, kipróbálhatja a Windows Terminalt is.

Idővonal: ez hogyan fog működni

A Microsoft a Microsoft Store-on keresztül fogja biztosítani a Windows Terminalt a Windows 10 felhasználóknak, és rendszeresen frissíteni fogja. Így a felhasználók mindig a legújabb verziókkal és legfrissebb fejlesztésekkel fognak dolgozni – szinte fáradtság nélkül.

A Microsoft tervezi, hogy a következő télen elindítja az új terminált. Miután a Microsoft kiadja a Windows Terminal 1.0-t, a fejlesztők továbbra is sok lehetőséggel fognak foglalkozni, amelyeket már a backlogba halmoztak.

A Windows Terminal és a Windows Console forráskódja már elérhető a GitHub-on.

Mire számíthatunk a jövőben?

Az a lehetőség, hogy a Microsoft saját Linux magját is más célokra fogja használni, például saját Linux disztribúciójának fejlesztésére, ma még valamivel hipotetikusnak tűnik.

Valószínű, hogy a kimenet attól függ, hogy a Microsoft képes-e érzékelni a keresletet egy ilyen termék iránt, és milyen kereskedelmi lehetőségeket nyithatnak meg az ilyen fejlesztések – véli Charles King.

Úgy gondolja, hogy a közeljövőben a cég főként arra összpontosít, hogy egyre szorosabb kapcsolatot biztosítson a Windows és a Linux között, valamint hogy ezek kölcsönösen kiegészítsék egymást.

Joshua Schwartz szerint mérlegelni kell, hogy mennyibe kerül ez a munka, és milyen hozamot várhatunk tőle. Ha a Microsoft ma egy teljesen új cég lenne, valószínűleg mindent Linux alapokra építene. Azonban a Microsoft által már meglévő fejlesztések Linux natív architektúrára történő átkonvertálása ma meglehetősen drága és bonyolult projekt, amely aligha térülne meg. A Linux kedvelői megkapják a Linuxot, míg az alaparchitektúra érintetlen marad.

Amikor az Apple 2000-ben újra feltalálta a Mac OS-t, ez a rendszer a BSD Unix alapján készült, amely inkább hasonlít a Linuxhoz, mint a DOS-hoz. Ma viszont a Microsoft Windows legújabb verziója kifejezetten Linux alapokon épül.

Lehet, hogy egy új ajtó nyílik előttünk?

A Microsoft Linux kernje utat nyithat a Windows szolgáltatások és a Linux operációs rendszer közötti szorosabb együttműködéshez. Tulajdonképpen ezek a Microsoft fejlesztések azt mutatják, hogy a Microsoftnál már ráébredtek, hogy mára szinte nincs olyan ügyfél, aki azt szeretné, hogy a világban mindenütt Windows legyen.

Sokkal ésszerűbb heterogén technológiákat és rendszereket használni, amelyek a legjobban kielégítik az üzleti követelményeket és a konkrét gyakorlati helyzeteket.

Az, hogy milyen új stratégiai lehetőségeket nyit meg ez a lépés magának a Microsoft platformnak, sokkal fontosabb stratégiai kérdés.

Az Azure – a Microsoft felhőökológiai rendszere – már óriási támogatást nyújt a Linux számára. Korábban a Windows jól támogatta a Linuxot virtuális gépeken keresztül.

A mai alapvető változásokkal összefüggésben a Linux folyamatok natívan fogják futtatni a Windows kernet, így a Linux használata a Windowsból sokkal gyorsabb lesz, mint virtuális gépeken. Elképzelhető, hogy az Azure így egy teljes új mérnöki réteggel gazdagodik, akik ipari szinten használják a Linuxot.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster