Apakah WSL2 menjalankan Linux di mesin virtual atau di samping kernel Windows?

16

Saya selalu ingin terminal Linux di Windows dan dipenuhi oleh WSL 1. Tapi itu sangat lambat karena (saya kira) mesin virtual yang dikelola Hyper-V. Dengan WSL 2, ini relatif lebih cepat tetapi saya tidak mengerti bagaimana Microsoft membuatnya.

Apakah mereka meningkatkan Hyper-V atau berhenti menggunakan mesin virtual dan membuat beberapa keajaiban untuk menjalankan kernel Linux secara paralel?

Sachin.Verma
sumber
3
Ini masih virtual, tetapi WSL2 menggunakan kernel linux (4.9) alih-alih mengubah panggilan ke windows API dan menanganinya seperti itu.
guiverc
9
@Sachin WSL 1 menjalankan binari ELF di Windows dengan menerjemahkan panggilan sistem Linux menjadi panggilan sistem Windows, yang membuatnya sesuai dengan namanya, "Windows Subsystem for Linux"
wjandrea
6
WSL 1 bukan virtual @guiverc
Adrian
3
@ Sachin.Verma: Apa yang Anda maksud dengan "tipuan"? WSL 1 adalah implementasi dari API kernel Linux dan ABI, sama seperti kernel Linux adalah implementasi dari API kernel Linux dan ABI. Bahkan, itulah cara sebagian besar lapisan kompatibilitas Linux bekerja, misalnya yang ada di FreeBSD, HP-UX, AIX, Solaris, dll. Sebagian besar juga merupakan implementasi ulang independen dari kernel Linux ABI dan API, bukan port dari kernel Linux. Ini juga bekerja sebaliknya: semua lapisan kompatibilitas untuk Unites komersial di Linux adalah implementasi ulang independen API dan ABI mereka.
Jörg W Mittag
4
WinE juga bekerja dengan cara yang sama. Ini mengimplementasikan API Windows dan ABI, bukannya porting Windows untuk berjalan di Linux (yang tidak mungkin secara hukum).
Jörg W Mittag

Jawaban:

17

Dari artikel Tentang WSL 2 dari Microsoft Docs:

Tinjauan singkat arsitektur WSL 2

WSL 2 menggunakan teknologi virtualisasi terbaru dan terbaik untuk menjalankan kernel Linux di dalam mesin virtual utilitas ringan (VM). Namun, WSL 2 TIDAK akan menjadi pengalaman VM tradisional. Pengalaman VM tradisional bisa lambat untuk boot, terisolasi, menghabiskan banyak sumber daya, dan membutuhkan waktu Anda untuk mengelolanya. WSL 2 tidak memiliki atribut ini. Itu masih akan memberikan manfaat luar biasa dari WSL 1: Integrasi tingkat tinggi antara Windows dan Linux, waktu boot yang sangat cepat, jejak sumber daya yang kecil, dan yang terbaik dari semuanya tidak memerlukan konfigurasi atau manajemen VM. Meskipun WSL 2 menggunakan VM, ia akan dikelola dan dijalankan di belakang layar sehingga Anda memiliki pengalaman pengguna yang sama seperti WSL 1.

Seperti yang dapat kita lihat di artikel berikut (dan diskusi di bawahnya) WLS 2 menggunakan fitur Hyper-V:

pa4080
sumber
Dari apa yang saya baca sejauh ini: itu akan diisolasi, ia akan mengkonsumsi sumber daya tambahan, ia akan memiliki disk virtual khusus.
LatinSuD