Cygwin
Cygwin (вимовляється /ˈsɪgwɪn/ — Си́ґвін) — Unix-подібне середовище для ОС Windows.
| |
X11 під MS Windows у Cygwin | |
Тип | Emulator |
---|---|
Розробник | Red Hat and others |
Стабільний випуск | 2.6.0-1 (31 серпня 2016) |
Репозиторій | sourceware.org/git/newlib-cygwin.git |
Платформа | Microsoft Windows |
Операційна система | Windows |
Мова програмування | C++[1] і C[1] |
Ліцензія | GPL |
Вебсайт | cygwin.com |
Cygwin у Вікісховищі |
Про 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 зазнали значного розвитку.
Див. також
- Interix
- MKS Toolkit
- UnxUtils