Předmět: Distribuované systémy

« Zpět
Název předmětu Distribuované systémy
Kód předmětu KIV/DS
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia nespecifikován
Semestr Zimní
Počet ECTS kreditů 6
Vyučovací jazyk Čeština
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Brenkus David, Ing. Ph.D.
Obsah předmětu
1. Úvod do distribuovaných systémů, vlastnosti, architektura, požadavky, modely. 2. Komunikace mezi procesy, posílání zpráv, volání vzdálených podprogramů. 3. Skupinová komunikace, spolehlivé protokoly pro skupinovou komunikaci. 4. Transakce, vnořené transakce, distribuované transakce, uzamykání, časové značky, obnova po chybě. 5. Čas, synchronizace času, logické a fyzické hodiny. Algoritmy synchronizace času. 6. Distribuované algoritmy, rozdělení, základní vlastnosti, synchronizace, semafory. 7. Uvíznutí systému, vyloučení, prevence, detekce. Uvíznutí v distribuovaných systémech. 8. Konzistentnost, modely orientované na klienta a na data, replikace souborů, distribuovaná sdílené paměť. 9. Bezpečnost v distribuovaných systémech. Napadení, ochrana zdrojů, šifrování, otisk zprávy. 10. Bezpečná komunikace, ověřování pravosti uživatele, distribuce klíčů. 11. Distribuovaný systém souborů, příklady (NFS, AFS). 12. Peer-to-peer systémy, distribuované hashovaní tabulky. 13. Bezdrátové senzorické sítě.

Studijní aktivity a metody výuky
Prezentace práce studentů, Individuální konzultace, Studium metodou řešení problémů, Samostatná práce studentů, Samostudium studentů, Samostudium literatury, Přednáška, Cvičení
  • Příprava na zkoušku [10-60] - 45 hodin za semestr
  • Kontaktní výuka - 65 hodin za semestr
  • Příprava na dílčí test [2-10] - 12 hodin za semestr
  • Příprava prezentace (referátu) [3-8] - 8 hodin za semestr
  • Vypracování seminární práce v magisterském studijním programu [5-100] - 50 hodin za semestr
Předpoklady
Odborné znalosti
prokázat znalost počítačových sítí na úrovni KIV/PSI
prokázat znalost operačních systémů na úrovni KIV/OS
prokazovat znalost programovacího jazyka C
prokazovat znalost konečných automatů i jejich realizaci v programovacím jazyce
orientovat se v abstraktních datových typech a jejich implementaci v jazyce C
prokazovat znalost operačního systému Linux včetně programování síťových aplikací
prokazovat znalost vytváření paralelních procesů a vláken
prokazovat znalost synchronizačních metod v operačním systému Linux
Odborné dovednosti
použít základní vývojové a verzovací nástroje
základní dovednosti pro práci s personálním počítačem pod operačním systémem Linux
na základní uživatelské úrovni používat některé z vývojových prostředí jazyka C
vytvářet složitější programy v jazyce C
vytvářet komunikační programy pod operačním systémem Linux v s využitím BSD socketů
Obecné způsobilosti
mgr. studium: používají své odborné znalosti, odborné dovednosti a obecné způsobilosti alespoň v jednom cizím jazyce,
Výsledky učení
Odborné znalosti
orientovat se v problematice distribuovaných systémů
prokázat teoretické znalosti o různých problémech, jejichž korektní řešení vyžaduje koordinaci činnosti programů, pracujících odděleně, včetně algoritmů, používaných pro jejich řešení
prokázat hluboké znalostí o síťovém programování, zejména o systémových funkcích
prokázat hlubokou znalost o grafickém programovém rozhraní
prokazovat znalost vybraných distribuovaných algoritmů
prokazovat znalost problematiky synchronizace času, konzistentnosti, vícenásobných kopií, distribuovaných transakcí, distribuovaných souborových systémů, P2P sítí
prokazovat znalosti z oblasti spolehlivosti a detekce chyb v distribuovaných systémech
Odborné dovednosti
mít praktické zkušenosti s programováním paralelních procesů, vláken a jejich synchronizací
umět předávat data mezi procesy a vlákny pod operačním systémem UNIX (Linux)
orientovat se v příkazech operačního systému Linux, zejména v příkazech, které se týkají síťových aplikací. Provádět analýzu nastavení sítě včetně kontroly tohoto nastavení a diagnostiky problémů
navrhnout a realizovat síťové aplikace typu server/klient. Navrhnout a realizovat implementaci vybraných distribuovaných algoritmů
být schopen ladit programové vybavení v distribuovaném prostředí
provádět analýzu aplikace včetně lokalizace případných chyb
Obecné způsobilosti
mgr. studium: dle vyvíjejících se souvislostí a dostupných zdrojů vymezí zadání pro odborné činnosti, koordinují je a nesou konečnou odpovědnost za jejich výsledky,
mgr. studium: plánují, podporují a řídí s využitím teoretických poznatků oboru získávání dalších odborných znalostí, dovedností a způsobilostí ostatních členů týmu,
Vyučovací metody
Odborné znalosti
Cvičení (praktické činnosti),
Individuální konzultace,
Přednáška založená na výkladu,
Řešení problémů,
Samostudium,
Samostatná práce studentů,
Odborné dovednosti
Prezentace práce studentů,
Samostatná práce studentů,
Obecné způsobilosti
Přednáška založená na výkladu,
Hodnotící metody
Odborné znalosti
Test,
Seminární práce,
Kombinovaná zkouška,
Průběžné hodnocení,
Odborné dovednosti
Individuální prezentace,
Seminární práce,
Obecné způsobilosti
Písemná zkouška,
Doporučená literatura
  • Coulouris, George; Dollimore, Jean; Kindberg, Tim. Distributed systems : concepts and design. 3rd ed. Harlow : Addison-Wesley, 2001. ISBN 0-201-61918-0.
  • Tanenbaum, Andrew S.; Van Steen, Maarten. Distributed systems : principles and paradigms. Upper Saddle River : Prentice Hall, 2002. ISBN 0-13-088893-1.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr