Dovrei usare Linux su VM o in Windows Subsystem?
NOTA: Oggi (marzo 2021), ci sono due versioni di WSL: WSL 1, che esegue applicazioni linux come processi (speciali) di Windows e WSL 2, che esegue una macchina virtuale leggera su Hyper-V inclusa in Windows. Entrambe, WSL 1 e WSL 2 sono diverse dalle macchine virtuali pesanti che si possono eseguire usando "VM normali" su Hyper-V, VMWare e VirtualBox.
Si dovrebbe usare Linux su una VM (pesante) o in Windows Subsystem,
dipende davvero dalle tue esigenze
- Windows Subsystem for Linux (WSL 1) ti permette di installare ed eseguire applicazioni Linux su Windows. Si avvia molto rapidamente perché non avvia un nuovo kernel. Tuttavia, ci sono alcuni problemi di compatibilità e le applicazioni linux non possono accedere direttamente all'hardware.
- Se hai bisogno di accedere occasionalmente a una shell Linux, ad esempio per eseguire alcuni programmi, Windows Subsystem for Linux (WSL) è una buona opzione perché si avvia molto velocemente.
- Oggi, se vuoi eseguire applicazioni desktop di produttività come Google Chrome, OpenOffice e molte altre, puoi eseguire queste applicazioni e browser senza alcun problema.
- Windows Subsystem for Linux (WSL 2) esegue uno speciale Kernel Microsoft Linux su una macchina virtuale leggera. Si avvia più velocemente di una macchina virtuale "normale" e permette di utilizzare molte chiamate di sistema linux, moduli del kernel e driver che non sono disponibili con WSL 1.
- Se volete eseguire i contenitori Docker sul vostro computer, WSL 2 è l'alternativa raccomandata. Docker richiede funzioni linux che non sono disponibili nella WSL 1 e funziona più velocemente che quando si usano macchine virtuali pesanti su Hyper-V o VirtualBox.
- Se avete bisogno di alcuni moduli del kernel, per esempio KVM, e dovete ricompilare il kernel, potete usare la WSL 2. Nella WSL 1 non potete cambiare il Kernel Microsoft. Nella WSL 2 puoi ricompilare il kernel e usare alcuni moduli del kernel senza alcun problema.
- Una macchina virtuale esegue un kernel Linux completo. A differenza della WSL, i programmi accedono al kernel reale e ai driver della distribuzione (invece che al kernel Microsoft). Per esempio, quando usi WSL 1 i processi sono programmati dallo scheduler di Windows. Le comunicazioni di rete sono processate da Windows. Se vuoi eseguire o sviluppare alcuni programmi, con requisiti speciali, usare una macchina virtuale è un'opzione migliore.
- Se hai bisogno di un'applicazione con problemi di compatibilità in WSL 1 e WSL 2, una macchina virtuale è un'opzione migliore. Per esempio, qualche tempo fa, abbiamo sviluppato una soluzione che richiedeva il server OpenOffice per convertire alcuni file. Ho avuto alcuni problemi a fermare e riavviare quel programma. Per sviluppare il software abbiamo usato una macchina virtuale.
- Un vero Linux, che si può eseguire su uno schema dual boot, offre un kernel Linux completo con accesso reale all'hardware. Al contrario, quando si esegue Linux in una macchina virtuale, ottiene accesso solo all'hardware fornito dall'ipervisore. Il vostro linux potrebbe non avere accesso all'hardware specializzato come le GPU o speciali schede I/O nel vostro computer
- Se si eseguono applicazioni GUI-intensive o scientifiche che utilizzano le GPU (come le GPU Nvidia), potreste aver bisogno di un linux in esecuzione sul bare metal. Per esempio, potreste aver bisogno di un dual boot per eseguire applicazioni scientifiche come GROMACS con GPU sul vostro linux.
Articoli simili
- Come installare Kali Linux dopo il download in Windows 10 sia con Kali Linux che con Windows 10
- I dipendenti Microsoft usano Linux? Cosa può fare Linux che Windows non può fare?
- Qual è la differenza tra Windows 10, Windows 10 KN, Windows 10 N e Windows 10 Single Language?
- C'è un modo per flashare Linux su un Chromebook in modo da poter usare Linux e Chrome OS ma dover cambiare?