Macchine virtuali vs Cygwin


Risposte:


20

Le macchine virtuali e Cygwin rispondono a due domande diverse.

Le macchine virtuali sono per quando si desidera eseguire più sistemi operativi contemporaneamente. È come avere due computer senza la spesa per l'acquisto di due set di hardware.

Cygwin ha lo scopo di fornire a Windows un numero di strumenti Unix, in modo che i fanatici di Unix possano utilizzare Windows in modo più efficace (anche se direi che Cygwin non lo fa molto bene) e fornire alcuni strumenti che hanno funzionalità maggiori di Windows provvede da solo. Non penso che la caratterizzazione di Cygwin che fornisce un "ambiente simile a Linux" sia particolarmente accurata. (Cygwin è in realtà destinato a fornire un ambiente di sviluppo POSIX più completo per Windows e, nel fare ciò, fornisce una serie di utilità. Il risultato finale per gli utenti finali, tuttavia, è che fornisce semplicemente strumenti.)

C'è in realtà una specie di terza opzione, Cooperative Linux , che credo in realtà non fornire un ambiente Linux-like all'interno di Windows. In realtà esegue il kernel Linux come processo all'interno di Windows. Ci sono alcune distribuzioni che girano sotto di esso; e viene in mente Linux . Con questi sistemi, in realtà hai un ambiente Linux che può interagire più direttamente con il tuo ambiente Windows rispetto a una macchina virtuale.


2
Il fatto che Cygwin sia un gruppo di utilità è in realtà solo un effetto collaterale. È principalmente inteso come un ambiente simile a Linux per il software, non per l'utente, quindi hai le API appropriate avvolte nell'emulazione. Con coLinux il kernel Linux viene eseguito come driver di dispositivo all'interno del kernel di Windows, non come processo.
Joey,

3
Installo solo cygwin per poter avere una shell decente per lavorare sui miei file di Windows. Sarei perso senza trovare, grep, sed ed è ilk.
Nifle,

1
@Johannes: la pagina web di coLinux dice "coLinux utilizza sempre un solo processo del sistema operativo host per tutti i suoi processi Linux, gestendo privatamente la pianificazione, le risorse e i guasti". AFAICR, funziona come un servizio, non come un driver.
wfaulk,

4

È ancora utile per eseguire strumenti Unix come rsync, che si desidera operare sui file nella finestra di Windows piuttosto che essere bloccati in una macchina virtuale. È inoltre possibile utilizzare lo scheduler di Windows per avviare i lavori con gli strumenti.


1
Preferirei prendere build native piuttosto che installare cygwin, però.
Joey,

2
non tutto è disponibile nelle build native, però.
Quack Quixote,

2

Per quanto mi riguarda, Cygwin è un concetto diverso. A differenza della macchina virtuale, fornisce una DLL che emula un ambiente / livello Linux, che può eseguire e creare un programma Linux su una macchina Windows. Ad esempio, se si desidera utilizzare una libreria che è distribuita solo come codice sorgente ed è destinata al sistema Linux integrato, cosa succede se si desidera utilizzare questa libreria in Visual Studio? Non è possibile utilizzare VS per costruirlo poiché si basa su dipendenze Linux, quindi in questa situazione è necessario Cygwin.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.