Programowanie aplikacji sieciowych
Transkrypt
Programowanie aplikacji sieciowych
nabór_2008 KARTA INFORMACYJNA PRZEDMIOTU przedmiot: Programowanie aplikacji sieciowych kod przedmiotu: 5ET206S202 Wydział Elektroniki Instytut Telekomunikacji. obowiązkowy: NIE wybieralny: TAK (obowiązek zapisu min.15 studentów) język realizacji: polski. rodzaj studiów: stacjonarne II stopnia-magisterskie. specjalność: Systemy teleinformatyczne semestr II kierunek: Elektronika i Telekomunikacja. forma zajęć, liczba godzin/rygor (X -egzamin, + - zaliczenia, # - projekt) razem wykłady ćwiczenia laboratoria projekt seminarium 45 15 / + - 30/ + - - punkty ECTS 4 Autor programu przedmiotu: dr inż. Jacek JARMAKIEWICZ Prowadzący wykłady: dr inż. Jacek JARMAKIEWICZ EFEKTY KSZTAŁCENIA Nauczyć architektury systemu Linux i zasad tworzenia oprogramowania w Linuksie, nauczyć podstaw programowania sieciowego, zapoznać z posługiwaniem się środowiskiem programowania o kodzie otwartym (Open Source). BEZPOŚREDNIE POWIĄZANIE Z INNYMI PRZEDMIOTAMI: Bazuje na przedmiotach: Sieci IP Systemy i terminale multimedialne Podbudowuje przedmioty: Praca magisterska Seminaria dyplomowe TREŚĆ PRZEDMIOTU: Tworzenie aplikacji w środowisku systemu operacyjnego Linux. Charakterystyka jądra systemu Linux Zaawansowane funkcje języka C. Kompilowanie i debugowanie z wykorzystaniem GCC, system pomocy dla programistów aplikacji sieciowych - man. Edycja oprogramowania GNU/Linux. Standardowe wejście – wyjście, kody zakończenia programu, środowisko, pliki tymczasowe, kodowanie defensywne, biblioteki. Procesy, sygnały, asynchroniczne czyszczenie potomków, procesy zombie. Wątki – tworzenie, anulowanie; dane własne, synchronizacja i sekcje krytyczne, muteksy, semafory, zakleszczenia. Porównanie procesów i wątków. Komunikacja międzyprocesowa. Pamięć współdzielona, semafory procesów, odwzorowanie w pamięci, potoki, gniazda Urządzenia sprzętowe i specjalne. Typy urządzeń, numery urządzeń, pliki urządzeń, urządzenia sprzętowe, urządzenia specjalne, urządzenia loopback. Analiza przykładu aplikacji usług sieciowych. LITERATURA: 1. Mark Mitchell, Jeffrey Oldham, Linux, Programowanie dla zaawansowanych, 2002. 2. Brian "Beej" Hall, Beej’s Guide to Network Programming - Używanie gniazd internetowych, tłum. Bartosz Zapałowski – Internet, 2000. 3. Sven Goldt, Sven van der Meer, Scott Burkett, Matt Welsh, The Linux Programmer’s Guide, Internet, 1999. 4. W. Richard Stevens, Gary R. Wright, Biblia TCP/IP - Implementacje, 2002. 5. W. Richard Stevens, Programowanie w środowisku systemu UNIX, WNT Warszawa 2002. 6. W. Richard Stevens, Unix programowanie usług sieciowych – API: gniazda i XTI, WNT Warszawa 2002. nabór_2008 7. W. Richard Stevens, Unix programowanie usług sieciowych – komunikacja międzyprocesowa, WNT Warszawa 2002. 8. Leszek Madeja, Ćwiczenia z systemu LINUX, Podstawy obsługi systemu, MIKOM, 2004. ZASADY ZALICZANIA: Kolokwia - 2, Laboratorium –sprawozdania, Zaliczenie na podstawie ocen z kolokwiów.