Cygwin (вимовляється /ˈsɪgwɪn/ — Си́ґвін) — Unix-подібне середовище для ОС Windows.

Cygwin
X11 під MS Windows у Cygwin
Тип Емулятор
Розробники Red Hat and others
Стабільний випуск 2.6.0-1 (31 серпня 2016)
Платформа Windows
Операційна система Windows
Мова програмування C++[1] і C[1]
Ліцензія GPL
Репозиторій https://cygwin.com/git/newlib-cygwin.git, http://cygwin.com/git/newlib-cygwin.git, git://cygwin.com/git/newlib-cygwin.git
Вебсайт cygwin.com

Про Cygwin ред.

Cygwin складається з двох частин:

  • DLL (cygwin1.dll), яка працює як емулятор, надаючи функціональність Unix API у вигляді середовища системних викликів POSIX (Portable Operating System Interface).
  • колекції інструментальних засобів, які надають відчуття та вигляд Linux.

Cygwin DLL працює на всіх не бета та не «реліз кандидат» ОС Windows платформах x86 починаючи з Windows 95, виключаючи Windows CE.

Історія ред.

Cygwin почав розроблятися в 1995 в Cygnus Solutions (зараз частина Red Hat Software). Першою річчю було покращення утиліт розробки (gcc, gdb, gas тощо), щоб вони змогли генерувати та інтерпретувати об'єктні файли Win32. Наступним кроком було перенесення утиліт на Win NT/9x. Це можна було зробити переписанням великих частин коду, щоб змусити працювати застосунки в змісті Win32 API. Та це б означало витрату величезної кількості часу на кожен додаток. Натомість, було використано суттєво інший підхід — написано бібліотеку (Cygwin DLL), що й надавала необхідну UNIX-подібну функціональність, відсутню в Win32 API (fork, spawn, signals, select, sockets, та інше). Це й було названо новим інтерфейсом Cygwin API. Написавши один раз, стало можливим створювати працюючі додатки під Win32 використовуючи крос-компілятори в UNIX на базі бібліотеки.

Відтоді ставилось за мету створення рідних засобів, спроможних перезібрати себе самих під Windows 9× та NT. Оскільки жодна ОС не поставляється без стандартних утиліт UNIX (fileutils, textutils, sh …), необхідно було створити GNU еквіваленти, працюючих з Cygwin API. Більшість з тих засобів раніше збиралися лише в рідному середовищі, тому було модифіковано їхні конфігураційні скрипти для досягнення крос-компіляції. Окрім конфігураційних змін також було зроблено невеликі зміни до вихідного коду. Виконуючи bash із засобами розробки та користувацькими утилітами разом, Windows 9x та NT створювали вигляд та присмак UNIX з перспективи конфігураційних механізмів GNU. Самодостатність було досягнуто в бета версії реліза 17.1 в жовтні 1996.

Повний набір засобів Cygwin був доступний у вигляді монолітної інсталяції. В квітні 2000 року було оголошено проєкт Cygwin Net Release, що постачався з рідною програмою Win32 — setup.exe для інсталяції чи поновлення кожного пакету окремо. Починаючи з цього Cygwin DLL та setup.exe зазнали значного розвитку.

Див. також ред.

Посилання ред.

  1. а б https://www.openhub.net/p/cygwin/analyses/latest/languages_summary