Encyklopedia w Markpol

Reklama:

Cygwin to implementacja standardu POSIX funkcji systemowych przeznaczona dla systemów Win32 oraz zestaw oprogramowania w większości przeniesionego z systemów typu Unix (np. Linux, BSD). Dostępne jest również środowisko XFree86 oraz KDE. Projekt posiada wygodny w użyciu program instalacyjny. Jednym z najważniejszych elementów Cygwina jest wirtualny system plików bazujący na systemie plików Windowsa. Najważniejszym elementem łączącym oba te systemy jest komenda mount, która nosi w sobie jedynie podobieństwa do unixowej komendy mount i na upartego nawet robi podobną rzecz: mapuje nazwę katalogu na urządzenie. Z tym, że w przypadku Cygwina tym „urządzeniem” jest katalog windowsowego systemu plików. Cygwina np. instaluje się w katalogu C:\cygwin, zatem automatyczny punkt podłączenia katalogu / (czyli root directory) Cygwina to będzie C:\cygwin. Następnie, oczywiście np. /etc będzie odpowiadać windowsowemu C:\cygwin\etc. Napędy windowsowe zaś będą dostępne pod specjalnym punktem montowania /cygdrive. Wszystkie te rzeczy można zmienić za pomocą komendy mount – niektórzy np. używają /drive zamiast /cygdrive. Zatem odpowiednikiem ścieżki C:\tmp\x w Cygwinie będzie (przy domyślnych ustawieniach) /cygdrive/c/tmp/x. 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-owych, 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 – już rzecz typowa dla Windows - /proc/registry. Istnieją również linki symboliczne, implementowane na bazie plików .lnk. Jeśli mają one odpowiednie rzeczy ustawione (read-only i ścieżkę docelową w opisie), to pod Cygwinem rozszerzenie .lnk nie jest pokazywane. Niestety, podobnie jak w windowsowym systemie plików, w każdym katalogu istnieją różne zastrzeżone nazwy, które nie mogą być nazwami plików: nul, aux, prn itd. W Cygwinie najważniejszą niewątpliwie rzeczą jest kompilator gcc, specjalnie dostosowany do kompilowania aplikacji Cygwinowych. Cała sztuczka z oszukiwaniem źródeł polega na tym, że w aplikacjach dodaje się bibliotekę dynamiczną cygwin1.dll, która dostarcza funkcje odpowiadające funkcjom systemowym Uniksa (np. open), które np. używają cygwinowych, a nie windowsowych ścieżek do pliku. Pod Cygwinem można oczywiście również kompilować programy dla Windows z użyciem MinGW, bez biblioteki cygwin1.dll. Jedyną niedogodnością w Cygwinie są rozszerzenia plików w Windows – każdy plik wykonywalny musi mieć tam końcówkę .exe. W Cygwinie wiele aplikacji domyślnie sobie to rozszerzenie dodaje, ale nie zawsze jest to możliwe, np. nie złapie tego polecenie rm. Jeśli więc jakiś skrypt spodziewa się, że po kompilacji poleceniem np. gcc
  • .o –o program powstanie plik o nazwie „program”, to specjalnie dla Cygwina trzeba by go niestety poprawić, bo pod Cygwinem powstanie wtedy „program.exe”. Co do praw do plików, użytkowników i grup - Cygwin robi to na tyle, na ile się da (Cygwin chodzi zarówno na Windowsach z rodziny NT z systemem plików NTFS, jak i np. na Windows 98 i systemem plików FAT). Jeśli system 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 pierwszą linijkę, jeśli rozpoczyna się
  • !. Natomiast w przypadku 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. Pliki wykonywalne zaś są rozpoznawane zarówno po rozszerzeniu lub zawartości, jak i po prawie do wykonywania w NTFS. X-serwer Cygwina, XWin, jest – przypadkiem - w tej chwili jednym z najlepszych X-serwerów dostępnych pod 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ć w chwili, gdy to piszę, nie wszystkie biblioteki korzystające z X-ów działają poprawnie (nie całkiem działa np. Qt, a tym samym KDE; być może stosują jakieś sztuczki dostępne tylko na uniksach, ludzie Trolltecha sami przyznają, że nie testowali Qt na Cygwinie). Niestety, oczywiście, Cygwin nie zastąpi Linuksa. Te same aplikacje – co nie jest zresztą dziwne – na Linuksie chodzą znacznie szybciej, niż na Cygwinie. Cygwina należy traktować jako emulator, który pozwala użytkownikowi na używanie wielu różnych użytecznych aplikacji POSIX-owych na platformie Windows – w tym także wiele oprogramowania Open Source. Cygwin rozwijany jest 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). Autorem (przynajmniej pierwszym) tego produktu jest założyciel Cygnus Solutions i autor pierwszego kompilatora C++ w gcc, Mike Tiemann.

    Linki zewnętrzne

  • [http://www.cygwin.com/ Strona domowa Cygwina]

    Chcesz wypromować swoją stronę w internecie?? - nie zwlekaj pozycjonowanie w Luman.biz to rozsądny wybór
    2005 Encyklopedia
    These materials are based onWikipedia and licensed under the GNU FDL
    Blog5 Game Cheats|Homeowner Loans|Savings Accounts|Secured Loan|Birthday Gifts