Cygwin
Материал из Википедии — свободной энциклопедии
Cygwin на Windows XP
|
|
Тип | Эмулятор |
Разработчик | Red Hat и другие.. |
ОС | Windows |
Текущая версия | 1.5.23-2 — 20 декабря, 2006 |
Лицензия | GPL |
Сайт | www.cygwin.com |
Cygwin (Цигви́н), набор свободных программных инструментов разработанных фирмой Cygnus Solutions, позволяющих превратить Microsoft Windows различных версий в некоторое подобие Unix-системы. Изначально Cygwin задумывался как среда для переноса программ из POSIX-совместимых операционных систем (таких как GNU/Linux, BSD и UNIX) в Windows. Программы, портированные с помощью Cygwin, работают лучше всего в Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista, но в некоторых случаях годятся Windows 95 и Windows 98. В настоящее время проект Cygwin разрабатывается сотрудниками Red Hat и другими программистами.
Подобные функциональные возможности предлагает также и Microsoft в своём пакете Services for UNIX, включающем в себя подсистему Interix.
Содержание |
[править] Описание
Cygwin представляет собой библиотеку, которая реализует интерфейс прикладного программирования POSIX на основе системных вызовов Win32. Кроме того, Cygwin включает в себя инструменты разработки GNU для выполнения основных задач программирования, а также и некоторые прикладные программы, эквивалентные базовым программам UNIX. В 2001 году в Cygwin был включён пакет X Window System.
Кроме того, Cygwin содержит библиотеку MinGW, позволяющую работать с библиотекой Microsoft MSVCRT (Windows API); библиотека MinGW менее требовательна к объёму оперативной и дисковой памяти, распространяется под более свободной лицензией и может работать с любым программным обеспечением, но функциональные возможности спецификации POSIX реализованы в ней не так полно, как в Cygwin.
К сожалению, Cygwin не имеет поддержки Unicode; отсутствует также и поддержка каких-либо кодировок, отличных от родных для Windows и OEM (так, в русскоязычной версии Windows Cygwin будет работать лишь с CP1251 и CP866, но не KOI8-R, ISO 8859-5, UTF-8 или какими-либо другими; тем не менее при работе в X Window System под Cygwin можно использовать и другие кодировки, установив шрифты и настройки клавиатуры).
Red Hat реализует библиотеку Cygwin под лицензией GNU GPL, с оговоркой, что разрешается её свободное использование с любым свободным программным обеспечением с открытым кодом. (Для распространения коммерческих программ, использующих библиотеку Cygwin, необходимо приобретение лицензии у RedHat).
На странице Cygwin Mailing Lists можно подписаться на рассылку, посвящённую Cygwin.
[править] История
Работа над проектом Cygwin была начата в 1995 г. Стивом Чемберленом, программистом Cygnus, заметившим, что Windows NT и Windows 95 используют в качестве формата объектных файлов формат COFF. К тому времени в GNU уже была реализована поддержка архитектуры x86, COFF, а также библиотека языка C newlib; таким образом, по крайней мере теоретически, не представляло затруднений получить из GCC кросс-компилятор, который бы создавал исполняемые файлы Windows. Это оказалось несложным и на практике. Вскоре появился прототип.
Следующим шагом было заставить компилятор работать в Windows, но для этого была необходима эмуляция многих функций Unix: к примеру, должен был работать скрипт GNU configure. Этот скрипт нуждается в оболочке типа bash, которая, в свою очередь, требует наличия стандартных потоков ввода-вывода и системного вызова fork. Windows располагает подобными функциональными возможностями, и библиотека Cygwin лишь транслирует вызовы, исходящие от программ, управляя определёнными видами данных, такими как файловые дескрипторы.
В 1996 г. к проекту Cygwin присоединились и другие программисты, так как стало очевидным, что Cygwin сделает возможным использование инструментов Cygnus на системах с Windows (до этого намечалось использовать DJGPP). Этот вариант был особенно привлекательным, ведь кросскомпиляция могла бы производиться в трёх направлениях: можно было использовать мощную станцию Sun для сборки Windows-кросскомпилятора MIPS, что позволяло значительно экономить время. С 1998 г. Cygnus предлагает пакет Cygwin в качестве самостоятельного продукта.
[править] См. также
- Cygwin/X
- MinGW
- Services for UNIX
- Cooperative Linux
[править] Ссылки
- Cygwin Home
- Cygwin Package Listings
- Cygwin page on Freshmeat.net
- CYGNOME = cygwin + GNOME
- KDE-cygwin cygwin + KDE
- GNU utilities for Win32 — похожий проект по переносу утилит UNIX в Windows, но без эмуляции POSIX API.