3

Я хотел бы установить Cygwin, в первую очередь для запуска gcc и связанной цепочки инструментов, но прежде чем сделать это, я хотел бы иметь представление о том, как установка Cygwin изменяет работу Windows (или консоли Windows), которая должна быть ожидаемым.

Возможно, нет проблем с взаимодействием вообще. Однако, поскольку Cygwin (или дополнительные компоненты) предоставляет функциональные возможности, которые заменяют функции ОС Linux и среды, я не знаю, что для этого нужно.

Очевидно, что некоторые программы Cygwin - это просто исполняемые файлы, которые можно вызывать при необходимости. Больше вопросительного знака:

  • Консоль и оболочка, например: bash: Предоставляет ли Cygwin собственный отдельный терминал? Или предоставить исполняемый файл командной строки, который работает в консоли Windows? Или это каким-то образом изменяет базовую операцию командной оболочки Windows?

  • Устанавливает ли Cygwin сервисы, которые работают постоянно, даже когда пользователь не выполняет никаких действий, связанных с Cygwin? Или просто dll (и исполняемые файлы), которые программы вызывают только при необходимости?

Любые другие моменты, чтобы следить в этом ключе? Спасибо!

1 ответ1

6

Cygwin работает, предоставляя библиотеку cygwin1.dll , которая выступает в качестве слоя перевода между API POSIX и Linux и соответствующими функциями Windows. Таким образом, не нужно изменять ОС вообще. (Программы Cygwin, конечно, должны быть скомпилированы как нативные программы Win32 .exe, просто связанные с разными библиотеками.)

Программы на основе терминалов можно запускать в обоих направлениях: их можно запускать в консоли Windows (где cygwin1.dll автоматически переводит напечатанные последовательности VT100 в функции API консоли Windows) или их можно запускать в эмуляторах терминалов, подобных VT100, таких как MinTTY. , URxvt или PuTTYcyg. (Cygwin обычно поставляется с первым по умолчанию.)

Обычно услуги не нужны для обычной работы, если не устанавливать программы, которые разработаны в качестве услуг (например, демон сервера OpenSSH).


[Просто для сравнения: Interix, иначе называемый Services for Unix, работает на нижнем уровне, предоставляя подсистему posix, которая работает вместе с обычной подсистемой Win32, прямо поверх низкоуровневых API-интерфейсов "Native" или "NT".

Тем не менее, ни ядро, ни другие компоненты ОС не нуждаются в модификации или установке пользовательских драйверов, так как оба метода просто добавляют слой перевода в пользовательское пространство.]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .