Jump to content

Сигвин

Сигвин
Оригинальный автор(ы) Стив Чемберлен, Cygnus Solutions
Разработчик(и) Cygnus Solutions , Red Hat , волонтеры проекта Cygwin
Первоначальный выпуск 18 октября 1995 г .; 28 лет назад ( 1995-10-18 )
Стабильная версия
3.5.3 [1]  Отредактируйте это в Викиданных / 3 апреля 2024 г .; 3 месяца назад ( 3 апреля 2024 г. )
Репозиторий
Написано в С / С++
Операционная система Microsoft Windows
Тип Стандартные утилиты POSIX , стандартная библиотека POSIX , стандартная библиотека C , уровень совместимости
Лицензия GPLv3 , LGPLv3 [2]
Веб-сайт цигвин  Edit this on Wikidata

Cygwin ( / ˈ s ɪ ɡ w ɪ n / SIG -win ) [3] — это с открытым исходным кодом бесплатная Unix-подобная среда и интерфейсом командной строки для Microsoft Windows . Проект также предоставляет репозиторий программного обеспечения, содержащий множество с открытым исходным кодом пакетов . Cygwin позволяет исходный код компилировать и запускать для Unix-подобных операционных систем и запускать его в Windows. Cygwin обеспечивает встроенную интеграцию приложений Windows. [4]

Эмулятор терминала Mintty — это интерфейс командной строки по умолчанию, предназначенный для взаимодействия со средой. [5] Структура каталога установки Cygwin имитирует корневую файловую систему Unix-подобных систем с такими каталогами, как /bin, /home, /etc, /usr и /var.

Cygwin выпускается под лицензией GNU Lesser General Public License версии 3. [6] Первоначально он был разработан Cygnus Solutions , [7] [8] которая позже была приобретена Red Hat (теперь часть IBM Linux ), чтобы портировать набор инструментов на Win32 , включая GNU Compiler Suite . Вместо того, чтобы переписывать инструменты для использования среды выполнения Win32, Cygwin реализовал POSIX-совместимую среду в форме DLL. [9]

Девиз бренда: «Почувствуйте ощущение Linux – в Windows». [10]

Cygwin начался в 1995 году как проект Стива Чемберлена, инженера Cygnus , который заметил, что Windows NT и 95 использовали COFF в качестве формата объектного файла , и что GNU уже включал поддержку x86 и COFF, а также библиотеку C newlib . Он думал, что можно будет переориентировать GCC и создать кросс-компилятор, генерирующий исполняемые файлы, которые можно будет запускать в Windows. Позже был разработан прототип. Чемберлен запустил компилятор в системе Windows, чтобы эмулировать Unix и позволить GNU configure запустить сценарий оболочки .

Изначально Cygwin назывался gnuwin32 . [примечание 1] Когда Microsoft зарегистрировала товарный знак Win32, от «32» отказались и превратили его в Cygwin .

В 1999 году Cygnus предложила Cygwin 1.0 в качестве коммерческого продукта. [11] Последующие версии не выпускались, вместо этого они полагались на продолжающиеся выпуски с открытым исходным кодом.

Джеффри Ноер был руководителем проекта с 1996 по 1999 год. [12] [13] Кристофер Фэйлор руководил компанией с 1999 по 2004 год; он покинул Red Hat и стал соруководителем вместе с Коринной Виншен. [14] [15] Коринна Виншен возглавляла проект с середины 2014 года по настоящее время (по состоянию на 30 марта 2023 года). [16]

С 23 июня 2016 года библиотека Cygwin версии 2.5.2 лицензировалась по лицензии GNU Lesser General Public License (LGPL) версии 3. [17]

Описание

[ редактировать ]

Cygwin предоставляется в двух версиях: полной 64-битной версии и урезанной 32-битной версии, окончательная версия которой была выпущена в 2022 году. [18] Cygwin состоит из библиотеки, которая реализует POSIX системных вызовов API с точки зрения системных вызовов Windows, чтобы обеспечить запуск большого количества прикладных программ, эквивалентных программам в системах Unix , и цепочки инструментов разработки GNU (включая GCC и GDB ). Программисты портировали X Window System , K Desktop Environment 3 , GNOME , [19] Апач и ТеХ . Cygwin позволяет устанавливать inetd , syslogd , sshd , Apache и другие демоны в качестве стандартных служб Windows . Программы Cygwin имеют полный доступ к Windows API и другим библиотекам Windows.

Программы Cygwin устанавливаются путем запуска «установки» Cygwin. [20] программа, которая скачивает их из репозиториев в Интернете.

Библиотека Cygwin API лицензируется по лицензии GNU Lesser General Public License версии 3 (или более поздней), за исключением того, что разрешается связываться с любым бесплатным программным обеспечением с открытым исходным кодом , лицензия которого соответствует определению открытого исходного кода . [21]

Cygwin состоит из двух частей:

  1. Библиотека динамической компоновки в форме стандартной библиотеки C , которая действует как уровень совместимости для POSIX API и
  2. Коллекция программных инструментов в стиле Unix и приложений, которые выглядят и работают . [4]

Cygwin поддерживает символические ссылки POSIX , представляя их в виде текстовых файлов с установленным системным атрибутом. Cygwin 1.5 представлял их как Windows Explorer ярлыки , но это было изменено из соображений производительности и корректности POSIX. Cygwin также распознает точки соединения NTFS и символические ссылки и обрабатывает их как символические ссылки POSIX, но не создает их. POSIX API для обработки списков управления доступом (ACL). Поддерживается [22]

Технические детали

[ редактировать ]

Версия Unix, специфичная для Cygwin. mount Команда позволяет монтировать пути Windows как «файловые системы» в файловом пространстве Unix. Начальные точки монтирования можно настроить в /etc/fstab, формат которого очень похож на формат систем Unix, за исключением того, что вместо устройств отображаются пути Windows. Файловые системы могут быть смонтированы в двоичном режиме (по умолчанию) или в текстовом режиме, который обеспечивает автоматическое преобразование между окончаниями LF и CRLF (что влияет только на программы, открывающие файлы без явного указания текстового или двоичного режима).

В Cygwin 1.7 появилась комплексная поддержка локалей POSIX , а UTF-8 кодировка Unicode стала кодировкой по умолчанию.

Системный вызов fork для дублирования процесса полностью реализован, но стратегию оптимизации копирования при записи использовать невозможно. [23] [24] [25]

Cygwin DLL содержит драйвер консоли, который эмулирует терминал в стиле Unix в консоли Windows . Пользовательский интерфейс Cygwin по умолчанию — это оболочка bash , работающая в консоли Cygwin. DLL также реализует псевдотерминальные устройства (pty). Cygwin поставляется с рядом эмуляторов терминала основанных на них , включая mintty , rxvt /urxvt и xterm . Версия GCC, поставляемая с Cygwin, имеет различные расширения для создания библиотек Windows DLL, например, для указания того, является ли программа программой оконного или консольного режима. Поддержка компиляции программ, которым не требуется уровень совместимости POSIX, предоставляемый Cygwin DLL, раньше была включена в GCC по умолчанию, но с 2014 г. , он предоставляется кросс-компиляторами, предоставленными проектом MinGW-w64 .

Пакеты программного обеспечения

[ редактировать ]

Базовый пакет Cygwin занимает около 100 МБ. [26] содержащий оболочки bash (интерактивный пользователь) и Dash (установка), а также основные утилиты для работы с файлами и текстом. Дополнительные пакеты доступны в качестве дополнительных установок из программы установки Cygwin и менеджера пакетов («setup-x86_64.exe» – 64 бит). [27] Проект Cygwin Ports предоставил [ когда? ] дополнительные пакеты, которых не было в самом дистрибутиве Cygwin. Примеры включали GNOME , K Desktop Environment 3 , базу данных MySQL и язык сценариев PHP . Большинство портов были приняты сопровождающими-добровольцами как пакеты Cygwin, и порты Cygwin больше не поддерживаются. Cygwin поставляется с GTK+ и Qt .

Проект Cygwin/X позволяет графическим программам Unix отображать свои пользовательские интерфейсы на рабочем столе Windows как для локальных, так и для удаленных программ.

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Не путать с текущим проектом GnuWin32 .
  1. ^ «цигвин 3.5.3-1» . 3 апреля 2024 г. . Проверено 18 апреля 2024 г.
  2. ^ «Условия лицензирования Cygwin» . Архивировано из оригинала 28 июля 2012 года . Проверено 15 декабря 2022 г.
  3. ^ Холл, Ларри (14 сентября 2004 г.). «Re: Как ты это произносишь?» . Cygwin (список рассылки). Архивировано из оригинала 30 августа 2011 года . Проверено 10 октября 2007 г.
  4. ^ Jump up to: а б «Часто задаваемые вопросы о Cygwin» . cygwin.com . Архивировано из оригинала 7 мая 2021 года . Проверено 7 января 2021 г.
  5. ^ «Сигвин» . www.cygwin.com . Архивировано из оригинала 21 ноября 2015 года . Проверено 21 ноября 2015 г.
  6. ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . Красная шляпа . Архивировано из оригинала 24 июня 2016 года . Проверено 23 июня 2016 г.
  7. ^ «Краткая история проекта Cygwin» . Сигвин . 2 февраля 2018 г. Архивировано из оригинала 8 января 2020 г. Проверено 10 января 2020 г.
  8. ^ «Cygwin32: бесплатный уровень портирования Win32 для приложений UNIX» . УСЕНИКС . 3 августа 1998 г. Архивировано из оригинала 11 января 2020 г. Проверено 10 января 2020 г.
  9. ^ «(Решено) Подсистема Linux против Cygwin против MobaXterm» . Технический справочный форум от How-To Geek . 24 января 2017 года. Архивировано из оригинала 20 февраля 2023 года . Проверено 15 марта 2019 г.
  10. ^ «Сигвин» . www.cygwin.com . Проверено 11 марта 2024 г.
  11. ^ «Cygwin объединяет приложения для Unix и Windows» . Гугл Книги . 15 ноября 1999 года. Архивировано из оригинала 20 февраля 2023 года . Проверено 13 января 2020 г.
  12. ^ Делори, диджей (17 февраля 1999 г.). «к вашему сведению: кто что делает» . Cygwin (список рассылки). Архивировано из оригинала 14 февраля 2004 года . Проверено 13 января 2020 г.
  13. ^ Ноер, Джеффри (19 февраля 1999 г.). «Частичное прощание...» Cygwin (список рассылки). Архивировано из оригинала 2 февраля 2004 года . Проверено 13 января 2020 г.
  14. ^ Фэйлор, Кристофер (31 марта 2004 г.). «Смена работы» . Cygwin (список рассылки). Архивировано из оригинала 6 сентября 2015 года . Проверено 13 января 2020 г.
  15. ^ Фэйлор, Кристофер (31 июля 2014 г.). «Кристофер Фэйлор – Выход из проекта» . Cygwin (список рассылки). Архивировано из оригинала 17 декабря 2014 года . Проверено 2 мая 2015 г.
  16. ^ «Знаменитости Cygwin» . cygwin.com . Архивировано из оригинала 26 марта 2024 года . Проверено 30 марта 2023 г.
  17. ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . www.redhat.com . Архивировано из оригинала 16 июня 2021 года . Проверено 27 мая 2021 г.
  18. ^ Терни, Джон (25 ноября 2022 г.). «Окончание срока службы Cygwin x86» . Проверено 14 сентября 2023 г.
  19. ^ «Порты Сигвина» . Архивировано из оригинала 11 мая 2015 года . Проверено 2 мая 2015 г.
  20. ^ Делори, диджей (17 апреля 2000 г.). «Новый выпуск Cygwin Net» . Cygwin (список рассылки). Архивировано из оригинала 20 декабря 2014 года . Проверено 10 января 2020 г.
  21. ^ «Каковы условия лицензирования?» . Сигвин . Архивировано из оригинала 28 июля 2012 года.
  22. ^ Виншен, Коринна (16 января 2016 г.). «Обновлено: Cygwin 2.4.0-1» . Объявления Cygwin (список рассылки). Архивировано из оригинала 11 января 2020 года . Проверено 11 января 2020 г.
  23. ^ «Часто задаваемые вопросы по Cygwin: как реализован fork()?» . cygwin.com . Архивировано из оригинала 20 октября 2010 года . Проверено 10 октября 2010 г.
  24. ^ «Основные возможности Cygwin: создание процессов» . Архивировано из оригинала 30 декабря 2014 года . Проверено 24 декабря 2014 г.
  25. ^ Блейк, Эрик (15 января 2009 г.). «Bash не запускает приложения напрямую» . Cygwin (список рассылки). Архивировано из оригинала 13 июня 2011 года . Проверено 10 октября 2010 г.
  26. ^ «Установка и обновление пакетов Cygwin» . Сигвин . Архивировано из оригинала 10 января 2020 года . Проверено 11 января 2020 г.
  27. ^ «Список пакетов Cygwin» . Сигвин . Архивировано из оригинала 5 февраля 2016 года . Проверено 11 января 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6f3c8d25fab114b45950f81c140b6d3d__1717500180
URL1:https://arc.ask3.ru/arc/aa/6f/3d/6f3c8d25fab114b45950f81c140b6d3d.html
Заголовок, (Title) документа по адресу, URL1:
Cygwin - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)