Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Cygwin - Wikipedia, wolna encyklopedia

Cygwin

Z Wikipedii

Cygwin z X Window System pod Microsoft Windows XP
Cygwin z X Window System pod Microsoft Windows XP
Instalator Cygwina
Instalator Cygwina

Cygwin to implementacja standardu POSIX funkcji systemowych przeznaczona dla systemów Win32 (32-bitowe systemy dla PC od MS Windows 95) oraz zestaw oprogramowania FLOSS zwykle dostępnego na systemach typu Unix i Linux. Są to głównie aplikacje używające interfejsu tekstowego, ale dostępny jest również podsystem grafiki X.Org oraz graficzne środowiska GNOME i KDE. Projekt posiada wygodny w użyciu program instalacyjny.

Cygwin jest rozwijany głównie przez oddział Cygnus Solutions firmy Red Hat i dostępny na licencji GPL. Można również zakupić licencje do użycia w systemach przeznaczonych do dystrybucji pod innymi licencjami (na przykład wyłącznie w postaci skompilowanej).

Cygwin nie zastępuje w pełni np. Linuksa: nie wszystkie linuksowe aplikacje są kompilowalne w środowisku Cygwin, ponadto efektywność ich działania spada w porównaniu do efektywności wykonania zapewnianej przez środowisko natywne. Można go traktować jako emulator, który pozwala na wykorzystywanie wielu aplikacji z rodziny POSIX na platformie Microsoft Windows – w tym także oprogramowania FLOSS.

Spis treści

[edytuj] Kompilacja

Najważniejszym elementem w Cygwinie jest kompilator GCC, który został specjalnie dostosowany do kompilowania aplikacji cygwinowych. Do aplikacji kompilowanych pod Cygwinem dodaje się bibliotekę dynamiczną cygwin1.dll, która dostarcza funkcji odpowiadających funkcjom systemów Unix (np. open). Funkcje te używają cygwinowych, a nie windowsowych ścieżek do pliku. Pod Cygwinem można również kompilować programy dla Windows z użyciem MinGW, bez biblioteki cygwin1.dll.

Jedną z niedogodności w Cygwinie są rozszerzenia plików w Microsoft Windows – każdy plik wykonywalny musi mieć końcówkę .exe. W Cygwinie wiele aplikacji dodaje to rozszerzenie domyślnie, ale nie zawsze jest to możliwe, np. nie wykona tego polecenie rm. Przykładowo, jeśli jakiś skrypt spodziewa się, że po kompilacji (np. poleceniem gcc *.o –o program) powstanie plik o nazwie „program”, to specjalnie dla Cygwina należy go poprawić, bo w rzeczywistości powstanie plik „program.exe”.

[edytuj] System plików

Jednym z najważniejszych elementów Cygwina jest wirtualny system plików bazujący na systemie plików Microsoft Windows. Najważniejszym elementem łączącym oba te systemy jest komenda mount, która jest podobna do komendy mount z systemów Unix i ma podobne działanie: mapuje nazwę katalogu na urządzenie, z tym, że w przypadku Cygwina tym „urządzeniem” jest katalog windowsowego systemu plików.

Po zainstalowaniu Cygwina w katalogu C:\cygwin automatycznym punktem podłączenia katalogu / (czyli root directory) Cygwina jest C:\cygwin, /etc odpowiada windowsowemu C:\cygwin\etc itd. Napędy windowsowe są z kolei dostępne pod specjalnym punktem montowania /cygdrive, a więc odpowiednikiem ścieżki C:\tmp\x w Cygwinie jest (przy domyślnych ustawieniach) /cygdrive/c/tmp/x. Wszystkie te punkty montowania można zmienić za pomocą komendy mount. Do konwersji ścieżek służy polecenie cygpath.

Z każdą wersją Cygwin posiada coraz więcej zarówno elementów charakterystycznych dla systemów POSIX, jak i różnych narzędzi typowo windowsowych (jak windres czy regtool). Istnieje np. system plików /dev, choć oczywiście tylko wirtualnie: tego katalogu nie można nawet czytać, ale odwołanie np. do /dev/null, czy /dev/aux jest poprawne. Istnieje też system plików /proc oraz wprowadzony tylko dla Windows /proc/registry. Istnieją również dowiązania symboliczne, implementowane na bazie plików .lnk. Przy odpowiednich ustawieniach (tryb tylko do odczytu i ścieżka docelowa w opisie) pod Cygwinem rozszerzenie .lnk nie jest pokazywane. Cygwin dziedziczy też pewne ograniczenia windowsowego systemu plików: istnieją różne zastrzeżone nazwy, które nie mogą być nazwami plików, np. nul, aux, prn itd.

[edytuj] Prawa dostępu

Prawa dostępu do plików, użytkowników i grupy Cygwin obsługuje w zależności od systemu plików, na którym pracuje.

Jeśli systemem plików jest FAT, to prawa z tego systemu są odzwierciedlane w prawach POSIX-owych częściowo, np. bit tylko do odczytu jest odzwierciedlony w prawie do zapisu dla użytkownika. W przypadku FAT także użytkownik i grupa są stałe. Prawo do wykonywania zaś jest określane przez rozszerzenie pliku, albo przez jego pierwszy wiersz, jeśli rozpoczyna się ciągiem #!.

W przypadku rodziny Microsoft Windows NT i systemu NTFS pokazywany jest rzeczywisty użytkownik i jego grupa. Pliki /etc/passwd i /etc/group muszą zostać po instalacji wygenerowane na podstawie danych pobranych z systemu (służą do tego polecenia mkpasswd i mkgroup). Pliki wykonywalne zaś są rozpoznawane zarówno po rozszerzeniu lub zawartości, jak i po prawie do wykonywania w NTFS.

[edytuj] Środowisko X

X-serwer Cygwina, XWin, jest obecnie jednym z najlepszych X-serwerów dostępnych pod Microsoft Windows. Umożliwia zarówno uruchamianie zdalnych aplikacji, jak i uruchamianie lokalnie Cygwinowych aplikacji X-owych. Posiada również całkiem sprawnie działające biblioteki, choć jak dotąd nie wszystkie biblioteki korzystające z X-ów działają w pełni stabilnie, np. Qt, a tym samym KDE (programiści z Trolltech przyznają, że nie testowali Qt na Cygwinie, w ostatnim czasie jednak program instalacyjny Cygwina dostarcza pakiet z Qt).

Rozwijaniem środowiska X pod Cygwinem zajmuje się podprojekt Cygwin/X. Obecnie używaną implementacją protokołu X jest kod X.Org.

[edytuj] Historia

Cygwin został zapoczątkowany w 1995 r. przez Steve'a Chamberlaina, inżyniera Cygnus Solutions, który zauważył, że zarówno Microsoft Windows NT jak i 95 jako swój domyślny format plików wykonywalnych używają COFF, a narzędzia GNU obsługiwały już wtedy COFF i platformę x86. Pozwalało to teoretycznie na łatwą modyfikację GCC i uzyskanie w ten sposób cross-kompilatora tworzącego pliki wykonywalne dla środowiska Microsoft Windows. Potwierdziło się to w praktyce, szybko powstała więc wersja prototypowa.

Kolejnym etapem była próba przeniesienia na platformę Windows samego kompilatora, lecz wymagało to przygotowania emulacji także dla skryptu konfiguracji GNU, a więc działającej powłoki w rodzaju bash, która z kolei wymagała obsługi funkcji fork i standardowego wejścia/wyjścia. Ponieważ Windows zawiera takie mechanizmy, więc biblioteka Cygwina musiała tylko dokonywać translacji wywołań i zarządzać pewnymi danymi, takimi jak deskryptory plików.

W 1996 r. do projektu dołączyli inni programiści, ponieważ stało się jasne, że Cygwin może stać się wygodnym sposobem zapewnienia narzędzi do urządzeń wbudowanych dla systemów z rodziny MS Windows (poprzednio w tym celu używano DJGPP). Szczególnie atrakcyjna była możliwość złożonej kompilacji skrośnej, na przykład budowania cross-kompilatora Windows-na-MIPS na silnych stacjach roboczych Suna, zamiast na ówczesnych wolniejszych PC-tach. W okolicach roku 1998 firma Cygnus Solutions rozpoczęła także samodzielną dystrybucję Cygwina.

[edytuj] Zobacz też

  • MinGW
  • Interix, Microsoft Services for Unix
  • Nutcracker
  • UWIN

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com