Virtuelle Maschinen gegen Cygwin

Antworten:

20

Virtuelle Maschinen und Cygwin beantworten zwei verschiedene Fragen.

Virtuelle Maschinen eignen sich für die gleichzeitige Ausführung mehrerer Betriebssysteme. Es ist, als hätten Sie zwei Computer, ohne zwei Hardwaresätze kaufen zu müssen.

Cygwin soll Windows eine Reihe von Unix-Werkzeugen zur Verfügung stellen, damit Unix-Geeks Windows effektiver nutzen können (obwohl ich der Meinung bin, dass Cygwin das eigentlich nicht sehr gut macht) und einige Werkzeuge bereitstellen, die über größere Funktionen als Windows verfügen bietet für sich. Ich denke nicht, dass die Charakterisierung von Cygwin, das eine "Linux-ähnliche Umgebung" bereitstellt, besonders genau ist. (Cygwin ist eigentlich dazu gedacht, eine vollständigere POSIX-Entwicklungsumgebung für Windows bereitzustellen, und bietet dabei eine Reihe von Dienstprogrammen. Das Endergebnis für Endbenutzer ist jedoch, dass es lediglich Tools bereitstellt.)

Es gibt tatsächlich ein bisschen eine dritte Option, Cooperative Linux , die ich denke tatsächlich tut eine bieten Linux-ähnliche Umgebung unter Windows. Tatsächlich wird der Linux-Kernel als Prozess in Windows ausgeführt. Es gibt einige Distributionen, die darunter laufen; und Linux kommt in den Sinn. Mit diesen Systemen verfügen Sie tatsächlich über eine Linux-Umgebung, die direkter mit Ihrer Windows-Umgebung interagieren kann als eine virtuelle Maschine.

wfaulk
quelle
2
Cygwin ist eigentlich nur ein Nebeneffekt. Es ist in erster Linie als Linux-ähnliche Umgebung für Software gedacht, nicht für den Benutzer. Sie haben also die entsprechenden APIs in der Emulation. Unter coLinux wird der Linux-Kernel als Gerätetreiber im Windows-Kernel ausgeführt, nicht als Prozess.
Joey
3
Ich installiere cygwin nur, um eine anständige Shell für meine Windows-Dateien zu haben. Ich würde ohne Fund, Grep, Sed und es ist ilk verloren.
Nifle
1
@Johannes: Auf der coLinux-Webseite heißt es: "coLinux verwendet für alle Linux-Prozesse immer nur einen Prozess des Host-Betriebssystems und verwaltet deren Zeitplanung, Ressourcen und Fehler privat." AFAICR, es wird als Dienst ausgeführt, nicht als Treiber.
Wfaulk
4

Es ist weiterhin nützlich, um Unix-Tools wie rsync auszuführen, mit denen Sie die Dateien auf der Windows-Box bearbeiten möchten, anstatt sie in einer virtuellen Maschine zu blockieren. Sie können dann auch den Windows-Scheduler zum Starten von Jobs mit den Tools verwenden.

andynormancx
quelle
1
Ich würde jedoch lieber native Builds verwenden, als Cygwin zu installieren.
Joey
2
Allerdings ist nicht alles in nativen Builds verfügbar.
Quack Quijote
2

Für mich ist Cygwin ein anderes Konzept. Im Gegensatz zu einer virtuellen Maschine bietet sie eine DLL, die eine Linux-Umgebung / -Schicht emuliert, die ein Linux-Programm auf einer Windows-Maschine ausführen und erstellen kann. Wenn Sie beispielsweise eine Bibliothek verwenden möchten, die nur als Quellcode verteilt ist und für ein in Linux erstelltes System vorgesehen ist, was ist, wenn Sie diese Bibliothek in Visual Studio verwenden möchten? Sie können VS nicht zum Erstellen verwenden, da es von Linux-Abhängigkeiten abhängt. In dieser Situation benötigen Sie Cygwin.

Peiti Li
quelle