Віртуальні машини проти Cygwin


Відповіді:


20

Віртуальні машини та Cygwin відповідають на два різні питання.

Віртуальні машини - це коли потрібно запускати кілька операційних систем одночасно. Це як мати два комп’ютери без витрат на придбання двох апаратних засобів.

Cygwin призначений надати Windows ряду інструментів Unix, щоб Unie geeks могли більш ефективно використовувати Windows (хоча я б стверджував, що Cygwin насправді не дуже добре), а також надати деякі інструменти, які мають більші можливості, ніж Windows забезпечує самостійно. Я не думаю, що характеристика Cygwin, що забезпечує "середовище, схоже на Linux", є особливо точним. (Cygwin насправді призначений забезпечити більш повне середовище розробки POSIX для Windows, і, роблячи це, надає низку утиліт. Однак, кінцевим результатом для кінцевих користувачів є те, що він лише надає інструменти.)

Там насправді свого роду третього варіанту, Cooperative Linux , який я думаю , що на насправді робить забезпечити Linux-подібну середу в Windows. Він фактично запускає ядро ​​Linux як процес у Windows. Є деякі дистрибуції, які працюють під ним; andLinux приходить на думку. З цими системами у вас фактично є середовище Linux, яке може більш безпосередньо взаємодіяти з вашим середовищем Windows, ніж віртуальна машина.


2
Цигуін - це купа комунальних послуг - насправді лише побічний ефект. Це перш за все призначене як Linux-подібне середовище для програмного забезпечення, а не для користувача, тому у вас є відповідні API, загорнуті в емуляцію. З coLinux ядро ​​Linux працює як драйвер пристрою всередині ядра Windows, а не як процес.
Joey

3
Я встановлюю лише cygwin, щоб мати змогу мати пристойну оболонку для роботи над своїми файлами Windows. Я б загубився без знаходження, grep, sed і це неправильно.
Ніфле

1
@Johannes: на веб-сторінці coLinux написано, що "coLinux завжди використовує лише один процес хост-операційної системи для всіх своїх процесів Linux, приватно керуючи їх плануванням, ресурсами та помилками". AFAICR, він працює як служба, а не водій.
wfaulk

4

Він все ще корисний для запуску таких інструментів Unix, як rsync, з якими ви хочете оперувати файлами у вікні Windows, а не затримуватися у віртуальній машині. Потім ви можете використовувати планувальник Windows для запуску завдань з інструментами.


1
Я б швидше брав нативну версію, ніж встановлював cygwin.
Джої

2
Однак не все доступне в рідних версіях.
шарлатаний кіхот

2

Що стосується мене, то Cygwin - це інше поняття. На відміну від віртуальної машини, він пропонує DLL, який емулює середовище / шар Linux, який може запускати та будувати програму Linux на машині Windows. Наприклад, якщо ви хочете використовувати деяку бібліотеку, яка розподіляється лише як вихідний код і призначена для вбудованої системи Linux, що робити, якщо ви хочете використовувати цю бібліотеку у Visual Studio? Ви не можете використовувати VS для його побудови, оскільки він покладається на залежність від Linux, тому Cygwin потрібен у цій ситуації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.