Compatibilitate Windows

Kernel Linux în Windows 10

Kernel Linux în Windows 10
Cum funcționează noul subsistem Windows pentru Linux (v2)?

Microsoft a anunțat recent că vor livra în curând un kernel Linux integrat chiar în Windows 10. Acest lucru va permite dezvoltatorilor să folosească platforma Windows 10 atunci când dezvoltă aplicații pentru Linux. De fapt, acesta este următorul pas în evoluția subsistemului Windows pentru Linux (WSL). Să trecem în revistă versiunea WSL 1 înainte de a intra în interacțiunea nucleului Linux și ce înseamnă.

Dacă doriți să începeți cu WSL (v1), iată un ghid pentru asta.

1.  WSL version1

Subsistemul Windows pentru Linux ar trebui să fie numit într-adevăr un subsistem Linux pentru Windows. Oferă un driver (un subsistem) pentru sistemul de operare Windows, care traduce apelurile de sistem Linux în apeluri de sistem native Windows 10 pe care nucleul NT le înțelege.

Acest lucru creează o iluzie oarecum credibilă pentru binarele Linux că acestea sunt, de fapt, rulate deasupra unui kernel Linux! Acest lucru funcționează suficient de bine încât nu numai că puteți rula binare simple pe 64 de biți compilate pentru Linux, dar puteți rula un întreg Userland (un.k.o distribuție Linux ca Debian sau Ubuntu) pe WSL v1. Deci, atunci când instalați Ubuntu din magazinul Microsoft, acesta preia doar binele Ubuntu userland pe care Canonical le livrează pentru mediul Microsoft WSL v1.

Cu toate acestea, WSL v1 este încă departe de a fi perfect. Anumite semantici la care s-ar aștepta un sistem Linux sunt total inacceptabile pe Windows. De exemplu, nu puteți schimba numele fișierului unui fișier deschis pe Windows, dar puteți face acest lucru pe Linux.

Alte exemple evidente includ performanța slabă a sistemului de fișiere WSL v1 și incapacitatea sa de a rula Docker.

2.  WSL v2 Linux Kernel

Această nouă versiune a WSL rezolvă toate aceste probleme prin includerea nucleului Linux care rulează în hipervizorul Hyper-V. De-a lungul anunțului și demonstrațiilor lor, Craig Loewen și colegul său de la Microsoft au subliniat faptul că, mergând înainte, Microsoft va investi enorm în tehnologia de virtualizare.

Utilizarea unui kernel Linux rezolvă toate problemele semantice care nu pot fi rezolvate folosind doar un strat de traducere a apelurilor de sistem. Acest kernel Linux va fi foarte ușor și va fi întreținut de Microsoft cu toate modificările aduse kernel-ului Linux open source. În demonstrația lor, au arătat cum puteți migra aplicațiile existente WSL v1 pentru a rula nemodificate într-un mediu WSL v2. Performanța sistemului de fișiere s-a îmbunătățit de 3-4 ori și întregul sistem se simte mult mai receptiv.

3.  Cum functioneazã?

Deci, practic, avem o mașină virtuală Linux cu o mulțime de aplicații userland, de exemplu.g, OpenSUSE sau Debian sau Ubuntu userland. Aveți mai multe distribuții pe computerul dvs. Windows, cu o singură mașină virtuală Linux, deci este îngrijit. Dar implică, de asemenea, că de fiecare dată când deschideți terminalul WSL Ubuntu, porniți o mașină virtuală completă! O să dureze ceva, corect?

De fapt nu. Kernel-ul Linux este de fapt suficient de mic și suficient de ușor încât Microsoft a reușit să obțină timpuri de încărcare nebunești cu el (~ 1 secundă). Au realizat acest lucru eliminând tot codul de încărcare și, deoarece este o mașină virtuală, încarcă direct nucleul Linux în spațiul său de adrese din memorie și configurează câteva stări ale mașinii virtuale pe care nucleul o așteaptă. Acesta este același mecanism care alimentează o altă caracteristică nouă Windows 10, care este Windows Sandbox.

Are o amprentă de memorie foarte mică, se încarcă într-o secundă, iar formatul nativ al sistemului de fișiere ext4 îi permite să ofere o experiență de utilizare foarte lină. VM rulează numai atunci când aveți nevoie de el.

Mai mult, nu este complet izolat ca un VM tradițional. Puteți interacționa foarte ușor cu restul sistemului Windows, inclusiv fișierele din unitățile Windows utilizând WSL v2. Nu este o mașină virtuală izolată, ci o parte integrată a Windows 10. Cum se realizează acest lucru?

4.  Trăiască Planul 9

Cu WSL v1, accesarea fișierelor și directoarelor de pe invitații Windows a fost banală. Țara dvs. de utilizator Linux este doar o aplicație pe Windows, deci poate citi și scrie fișiere care aparțin inițial sistemului de operare nativ destul de ușor.

Cu WSL v2, aveți o VM care rulează cu hard disk-ul său virtual (formatat cu ext4, desigur) și dacă dorim o experiență similară cu cea a WSL v1, avem nevoie de câteva mecanisme suplimentare. Introduceți Planul 9.

Plan 9, scris și sub numele de, 9P este un sistem de operare dezvoltat inițial la Bell Labs. Deși este puțin probabil să îl găsiți vreodată rulat în producție, acesta continuă să trăiască, deoarece alte sisteme de operare adoptă idei interesante care sunt incubate în acesta, inclusiv Protocolul 9P pentru un server de fișiere.

5.  Sisteme de fișiere

WSL v2 va avea un server de protocol 9P care rulează pe gazda dvs. Windows 10 și un client 9P care rulează în aplicațiile dvs. WSL. Acest lucru vă permite să accesați fișiere Windows 10 în mod nativ în mediul dvs. WSL. Unitatea C: va fi montată la / mnt / c, la fel ca WSL v1 și fiecare fișier din gazda Windows 10 poate fi accesat de mediul WSL.

Conversa va fi, de asemenea, adevărată. Va exista un server de protocol 9P care rulează în mediul dvs. Linux cu clientul corespunzător pe gazda Windows 10. Acest lucru va permite utilizatorilor să acceseze sistemul lor de fișiere Linux (ext4) din mediul Windows 10. Permițându-vă să editați codul sursă sau să configurați fișierele folosind IDE-ul dvs. preferat instalat pe Windows, listând toate directoarele folosind Windows 10 File Explorer și multe altele. În esență, veți rula distribuțiile Linux preferate cu interfața de utilizare Windows 10.

6.  Docher

În anunțul lor, Microsoft a sugerat, de asemenea, că acest nou mediu va fi folosit și de Docker pentru a-și livra viitoarele aplicații Docker pentru Windows. Deoarece există un kernel Linux, care rulează Docker deasupra acestuia, va fi destul de ușor. În demonstrație, au rulat Docker pe partea de sus a Ubuntu care rulează WSL v2 și a funcționat ca și cum ar fi rulat pe o instalare nativă Ubuntu.

Pentru a da un exemplu foarte superficial, dacă ați lucrat cu Dockerfiles pe un sistem Windows, trebuie să fi observat problemele de securitate cauzate de lipsa permisiunilor de fișiere Unix, cum ar fi. Asta nu va mai fi o problemă. Docker pe Windows folosește deja o mașină virtuală personalizată pentru a furniza containere Linux, probabil că va folosi acum WSL v2 pentru a utiliza nucleul Linux livrat de Microsoft.

Concluzie

În general, sunt foarte impresionat de ceea ce face Microsoft pentru a oferi un refugiu dezvoltatorilor de Linux care doresc, de asemenea, să utilizeze Windows. Sperăm că, pe termen lung, va încuraja o mulțime de polenizare încrucișată între cele două ecosisteme diferite.

Dacă rulați Windows 10 Home, Pro sau Enterprise Edition, puteți obține un gust de WSL v2 optând pentru versiunile Preview de Windows 10. Iată un ghid despre cum să faci asta.

Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...
Top 5 cărți de captură a jocului
Cu toții am văzut și ne-au plăcut jocurile de streaming pe YouTube. PewDiePie, Jakesepticye și Markiplier sunt doar câțiva dintre cei mai buni jucător...
Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...