Programowanie w systemach Unix/Linux
Transkrypt
Programowanie w systemach Unix/Linux
nabór_2009 KARTA INFORMACYJNA PRZEDMIOTU przedmiot: Programowanie w systemach Unix / Linux kod przedmiotu: 5EV109S627 Wydział: Elektroniki. Instytut: Telekomunikacji obowiązkowy: nie wybierany: tak (obowiązek zapisu min. 15 studentów) język realizacji: polski rodzaj studiów: Stacjonarne I stopnia – inżynierskie specjalność: Systemy teleinformatyczne Systemy cyfrowe kierunek: Elektronika i telekomunikacja semestr forma zajęć, liczba godzin/rygor (X -egzamin, + - zaliczenia, # - projekt) razem wykłady ćwiczenia laboratoria projekt seminarium 30 10 / + - 12 / + 8/+ - VI punkty ECTS Autor programu przedmiotu: dr inż. Jacek Jarmakiewicz Prowadzący wykłady: dr inż. Jacek Jarmakiewicz 2 EFEKTY KSZTAŁCENIA Umiejętność korzystania z zaawansowanych narzędzi budowy programów komputerowych, umiejętność rozwiązywania problemów współpracy z systemem operacyjnym w celu realizacji określonych zadań. Umiejętność budowy programów z wykorzystaniem procesów i wątków, umiejętność budowy aplikacji, które będą mogły wymieniać między sobą dane i będą synchronizowane między sobą. W ramach projektu student będzie zobowiązany do opracowania programu z rzutowaniem struktur danych i ich przetwarzaniem. Nauczyć wykorzystania struktur danych w systemach operacyjnych Posixowych (Unix/Linux) i zapewnić możliwość pisania własnych programów z wykorzystaniem urządzeń wejściowych i wyjściowych komputerów. BEZPOŚREDNIE POWIĄZANIE Z INNYMI PRZEDMIOTAMI: Bazuje na przedmiotach: • • • Języki programowania Architektura komputerów i systemy operacyjne Programowanie obiektowe Podbudowuje przedmioty: • Seminaria dyplomowe TREŚĆ PRZEDMIOTU: Wykorzystanie zaawansowanych środowisk budowy programów komputerowych. Współpraca systemu Unix, Linux z procesem użytkownika. Pliki i katalogi. Operacje wejścia-wyjścia. Biblioteki. Zaawansowane funkcje języka C. Funkcje POSIX-owe. Środowisko programowania. Powoływanie procesów, zarządzanie procesami. Wątki, nowoczesne techniki programowania. Synchronizacja, sekcje krytyczne, mutexy, semafory, pamięć współdzielona, potoki, gniazda, zakleszczenia. Komunikacja w procesach i międzyprocesowa. Analiza przykładu aplikacji Open source. Opracowanie aplikacji złożonej z kilku procesów/wątków. LITERATURA: • • • M.Michell,J.Oldham, A.Samuel, Linux programowanie dla zaawansowanych, wydawnictwo RM, 2002 W.R.Stevens, Programowanie w środowisku systemu Unix, WNT2002 U.Vahalia, Jądro systemu Unix, nowe horyzonty, WNT 2001 ZASADY ZALICZANIA: zaliczenie kolokwium wykładów; zaliczenie praktyczne laboratoriów; zaliczenie opracowanego projektu z wykorzystaniem IDE.