Membandingkan subsistem WSL 1 dan WSL 2. Haruskah saya beralih?





Dalam posting ini dengan gaya "berpikir keras", penulis ingin membandingkan WSL versi pertama dan kedua, karena ada pengalaman komunikasi.



WSL 1 vs WSL 2, yang membuatku senang



gambar


Sumber MSDN



1. Menggunakan kernel Linux asli



Dimasukkannya kernel Linux asli telah meningkatkan IO sistem file dan panggilan sistem. 

Kernel Linux yang dioptimalkan secara khusus membuat WSL 2 tampak lebih cepat daripada WSL 1. 

Dalam beberapa tugas, menurut pengukuran Microsoft , seperti membongkar arsip, WSL 2 20 kali lebih cepat daripada WSL 1, dan sekitar 5 kali lebih cepat saat menggunakan Git clone dan npm install.

Anda dapat menghabiskan waktu melihat tolok ukur di sini dan di sini .



2. Dukungan buruh pelabuhan asli.



Prinsipnya, peluang seperti itu hanya muncul di WSL 2.



Kegembiraan berakhir di situ.



WSL 1 vs WSL 2, yang tidak menyenangkan



Mari kita mulai dengan kruk terbaru dari Microsoft dan jenis inovasi yang secara pribadi membuat saya kesal.

Versi pertama WSL tidak menggunakan kernel Linux yang sebenarnya, begitu pula virtualisasi. WSL agak mirip Wine, tapi tidak sepenuhnya.



Beberapa lapisan khusus digunakan di sana untuk menerjemahkan panggilan dari program Linux ke dalam shell ini.

Ini, tentu saja, memperlambat segalanya, tetapi juga memiliki keuntungan.



Misalnya, semua program yang berjalan di WSL 1 terlihat di pengelola tugas, tugas ini dapat diprioritaskan dan diberi kernel khusus untuk dieksekusi.



gambar




Selain itu, semua proses versi pertama WSL dapat dilihat oleh antivirus, mereka dapat diizinkan atau ditolak akses ke folder, seperti program biasa untuk Windows.



gambar




Dengan munculnya WSL 2, proses tertentu di mesin virtual ini tidak lagi terlihat, dan kemampuan untuk menulis perlindungan ke folder juga menghilang. WSL 2 memiliki akses sistem file yang melewati Windows Defender. Kerentanan khusus apa yang akan ditimbulkannya di masa depan - kita akan lihat. Tetapi WSL 2 mungkin menjadi vektor serangan untuk mengenkripsi seluruh disk.



gambar




Jaringan juga sedikit berubah di WSL 2. Versi pertama WSL memiliki implementasi yang sangat aneh dari tumpukan jaringan, itu tergantung pada jaringan yang digunakan Windows itu sendiri, selain itu, port mendengarkan WSL dapat diperiksa di Netstat dan ditutup dengan Windows Firewall biasa.



gambar




Sekarang, di WSL 2 ada saklar terpisah khusus untuk WSL, karena sekarang ini mesin virtual yang terpisah, kebosanan belaka.



gambar




Tolak ukur



WSL memungkinkan untuk menggunakan perintah dari WSL secara langsung di Windows. Termasuk di PowerShell.

Dengan menggunakan Divine Powershell, penulis membuat pengukuran program WSL favoritnya, yang paling sering dia gunakan sendiri.



Semua benchmark menggunakan Ubuntu 18.04 LTS untuk WSL1 dan WSL2.



Jekyll



Pembuatan situs. Satu lulus:



WSL1

gambar




WSL2

gambar




Seperti yang Anda lihat, WSL2 jauh lebih rendah daripada WSL1 saat membangun situs menggunakan Jekyll. 1,5 detik versus 9,6. Hasilnya mendukung WSL1. Menariknya, WSL1 selalu membutuhkan Sudo untuk akses tulis dan tidak ingin menghasilkan tanpa root.



Kecepatan panggilan



Di sini kami menguji kecepatan memanggil shell dan menjalankan satu perintah sederhana.



Measure-Command {
    [int]$i
    do {
        $i++
        wsl.exe -e 'uname'
       
    } until ($i -eq 20)
}


WSL1

gambar




WSL2

gambar




WSl2 memuat sedikit lebih lambat. Ini sama sekali tidak terlihat, karena hasil dari 20 peluncuran diambil.



Git init dan Mkdir



Sekarang mari kita kalahkan Git init dan Mkdir. Buat folder dengan Mkdir dan lakukan Git init di dalam folder itu menggunakan WSL.



Kode:



Measure-Command {
    [int]$i
    do {
        Set-Location "C:\Users\user\Desktop\TestFolder"
        $i++
        $Foldername = Get-Random
 
        wsl.exe ''mkdir $Foldername''
        Set-Location $Foldername
        wsl.exe ''git init''
       
    } until ($i -eq 20)
}


WSL1

gambar




WSL2

gambar




Hasilnya identik.



WSL vs. kruk lainnya



Jadi mengapa memilih WSL?



WSL 2 masih mempertahankan kemampuan untuk menggunakan perintah Linux langsung dari Windows. Lebih mudah untuk memanggil Bash langsung dari string penjelajah.



Dan tentu saja WSL menggunakan lingkungan OS default yang Anda berikan, Anda tidak harus menggunakan Vim Mingw yang menjijikkan jika Anda terbiasa bekerja dengan editor manusia.



Mengapa lebih baik melewati WSL.



Libnotify, di WSL1, serta / proc / sys / fs, sama sekali tidak ada di WSL1, seperti yang disebutkan di atas, versi pertama tidak menggunakan kernel Linux yang sama dan WSL 2 harus memperbaiki kusen ini.



Semua pustaka ini muncul di WSL 2, sekarang semuanya berfungsi di hypervisor, tetapi masalahnya belum berkurang. Pembuatan otomatis ketika file baru dibuat dan kadang-kadang bahkan ketika yang lama diubah tidak berfungsi.



Penggemar NPM dan hal-hal lain, ini semua untuk saat ini, dapat melewati sisi WSL, menggunakan solusi yang dikembangkan untuk Windows.



Cool Lay Hack untuk WSL (อก ยฐ อœส– อก ยฐ)



gambar




Sekarang mari kita bicara tentang satu-satunya alasan untuk menginstal WSL - Vlmcsd .

Apakah Anda ingin mengaktifkan salinan berlisensi Windows Anda dengan cara yang sedikit berbeda semata-mata demi percobaan ilmiah, tetapi tidak ingin menggunakan aktivator KMS aneh yang diunduh dari Internet?

Terima kasih Microsoft, Anda dapat menggunakan WSL, berikut panduan singkatnya.



Tautan ke proyek Github , tautan ke rilis .



Jepret di Ubuntu



Instal Snap:



sudo apt update

sudo apt install snapd



Instal vlmcsd:



sudo snap install vlmcsd



Menggunakan ip addr, kami memeriksa alamat IP tempat WSL hang dan menggunakannya sebagai server KMS. Berikut ini tautan ke halaman proyek di snapstore .



vlmcsd dan Docket di WSL



Hal yang sama dapat dilakukan melalui Docker itu sendiri, atau WSL dan Docker. Ini adalah tautan ke proyek , saya tidak bisa menjelaskannya dengan lebih baik.



Sisi Windows:



Seperti inilah tampilan aktivasi Windows 10 PRO melalui KMS.



slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX

slmgr.vbs -skms 192.168.88.166

slmgr.vbs -ato



Metode penginstalan ini hanya untuk bercanda, karena instans WSL akan selalu dimatikan segera setelah Anda menutup jendelanya, seperti pada ngomong-ngomong, untuk saat ini, semua WSL hanya bagus untuk lelucon dan Git.

Penulis berharap agar anda tidak terlalu bosan.






All Articles