Programowanie współbieżne i rozproszone

Z Studia Informatyczne
Wersja z dnia 06:57, 9 cze 2006 autorstwa Mengel (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Autor

Marcin Engel

Typ zajęć

wykład (30 godz.) + laboratorium (30 godz.)

Opis

Celem wykładu jest zaprezentowanie najważniejszych technik stosowanych do synchronizacji procesów i realizacji komunikacji między nimi oraz problemów, jakie stają przed programistą opracowującym programy współbieżne. Omówiony zostanie scentralizowany i rozproszony model programu współbieżnego. Problematyka zostanie przedstawiona na podstawie klasycznych problemów współbieżności oraz procesów i wątków w systemie operacyjnym Linux. Przedstawione też będą klasyczne algorytmy rozproszone oraz zagadnienia związane z weryfikacją programów współbieżnych.

Wymagania wstępne

  • Wstęp do programowania
  • Systemy operacyjne

Zawartość

  • Klasyczne problemy współbieżności
  • Mechanizmy synchronizacji procesów w modelu scentralizowanym i rozproszonym
    • semafory
    • monitory
    • muteksy
    • spotkania (Ada)
  • Procesy i wątki w systemie Linux i najważniejsze metody ich synchronizacji
  • Algorytmy rozproszone: wzajemnego wykluczania, elekcji i uzgadniania
  • Poprawność programów współbieżnych i jej weryfikacja
  • Procesy i wątki w systemie Linux i najważniejsze metody ich synchronizacji
  • Notacje do opisu współbieżności
    • CSP
    • Sieci Petriego

Literatura

  1. M. Ben-Ari. Podstawy programowania współbieżnego i rozproszonego. WNT, 1996.
  2. Z. Weiss, T. Gruźlewski. Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT, 1993.
  3. M. Rochkind. Programowanie w systemie Unix dla zaawansowanych. WNT, 1997.
  4. M.K. Johnson, E.W. Troan. Oprogramowanie uzytkowe w systemie Linux. WNT, 2000.