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 (вимовляється /ˈsɪgwɪn/ — Си́ґвін) — Unix-подібне середовище для ОС Windows.
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 зазнали значного розвитку.
- Домівка Cygwin [Архівовано 29 березня 2010 у Wayback Machine.]
- Сторінка Cygwin на Freshmeat [Архівовано 18 квітня 2006 у Wayback Machine.]
- CYGNOME = cygwin + GNOME [Архівовано 10 вересня 2005 у Wayback Machine.]
- cygwin + KDE [Архівовано 26 січня 2005 у Wayback Machine.]
- Cygwin32: A Free Win32 Porting Layer for UNIX® Applications [Архівовано 4 квітня 2005 у Wayback Machine.]