W ramach tego kursu przedstawione będzie środowisko programowe systemu Unix, na które składa się interpreter poleceń Unixa i dostępne w nim filtry oparte na wyrażeniach regularnych, kompilator języka C z bibliotekami i narzędziami wspomagającymi tworzenie programów. Omówione będą również mechanizmy programowania procesów i komunikacji międzyprocesowej, a także interface gniazdek i podstawowe zagadnienia związane z tworzeniem programów sieciowych. Dużo uwagi będzie poświęcone różnym standardom i zagadnieniom przenośności programów.
**Program:**
Standardy Unixa, interpreter poleceń, skrypty, filtry, wyrażenia regularne. System kompilatora C, biblioteki, funkcje systemowe. Operacje wejścia/wyjścia niskiego poziomu, deskryptory. Narzędzia wspomagające tworzenie programów: make, RCS, debugger. Programowanie procesów i komunikacji międzyprocesowej: sygnały, potoki, gniazdka, mechanizmy System V IPC. Wątki normy POSIX i mechanizmy synchronizacji. Wstęp do tworzenia programów sieciowych przy użyciu gniazdek i Sun RPC. Tworzenie przenośnych pakietów oprogramowania narzędziami autotools. Lokalizacja i internacjonalizacja programów.
**Wymagania:**
Programowanie w ANSI C.
Znajomość Unixa na poziomie użytkownika.