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.