Cygwin: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Ilyaroz (обговорення | внесок)
Немає опису редагування
Ilyaroz (обговорення | внесок)
Немає опису редагування
Рядок 14:
 
 
'''Cygwin''' (вимовляється {{IPA|/ˈsɪgwɪn/}} — ''С́иґвін'')- це [[Unix]]-подібне середовище для [[ОС]] [[Microsoft Windows|Windows]].
 
== Про Cygwin ==
Рядок 20:
 
Cygwin складається з двох частин:
* [[DLL]] (cygwin1.dll), яка працює в якості емулятора, надаючи функціональність [[Unix]] API у вигляді середовища системних викликів [[POSIX]] (Portable Operating System Interface).
* колекції інструментальних засобів, які надають відчуття та вигляд Linux.
 
Cygwin DLL працює на всіх не бета та не "«реліз кандидат"» [[ОС]] [[Windows]] платформи [[x86]] починаючи з Windows 95, виключаючи Windows CE.
 
Сторінка проекту - — [http://www.cygwin.com/ http://www.cygwin.com/]
 
=== Чим не є Cygwin? ===
* Cygwin це '''не''' шлях для запуску рідних додатків Linux на Windows. Ви маєте перезібрати додаток ''з вихідного коду'', якщо бажаєте його запустити під Windows.
* Cygwin це '''не''' шлях до чарівного створення рідних додатків Windows з функціональністю UNIX®, такою як сигнали, ptys та інше.
 
=== Коротенька історія ===
Cygwin почав розроблятися в [[1995]] в Cygnus Solutions (зараз частина [[Red Hat Software]]). Першою річчю було покращення утиліт розробки ([[GCC|gcc]], gdb, gas, тощо), щоб вони змогли генерувати та інтерпретувати об'єктні файли Win32. Наступним кроком було перенесення утиліт на Win NT/9x. Це можна було зробити переписом великих частин коду, щоб змусити працювати додатки в змісті Win32 API. Та це б значило трату величезної кількості часу на кожен додаток. Натомість, було використано суттєво інший підхід - — написано бібліотеку (Cygwin DLL), яка й надавала необхідний UNIX-подібну функціональність, відсутню в Win32 API (fork, spawn, signals, select, sockets, та інше). Це й було названо новим інтерфейсом Cygwin API. Написавши один раз, стало можливим створювати працюючі додатки під Win32 використовуючи крос-компілятори в UNIX на базі бібліотеки.
 
З цього часу переслідувалася ціль створення рідних засобів, спроможних перезібрати себе самих під Windows 9x та 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 зазнали значного розвитку.
 
Більш історичний погляд викладено в Geoffrey J. Noer's 1998 , "«Cygwin32: A Free Win32 Porting Layer for UNIX® Applications"» [http://www.usenix.org/publications/library/proceedings/usenix-nt98/technical.html]
 
== Зовнішні посилання ==
* [http://www.cygwin.com Домівка Cygwin]
* [http://freshmeat.net/projects/cygwin/?topic_id=45%2C74 Сторінка Cygwin на Freshmeat]
* [http://cygnome.sourceforge.net/ CYGNOME = cygwin + GNOME].
* [http://kde-cygwin.sourceforge.net/ cygwin + KDE].
 
[[Категорія:Вільне програмне забезпечення]]