MIMINF:Programowanie współbieżne i rozproszone: Różnice pomiędzy wersjami
Nie podano opisu zmian |
|||
(Nie pokazano 4 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
== Forma zajęć == | == Forma zajęć == | ||
Wykład (30 godzin) + laboratorium | Wykład (30 godzin) + ćwiczenia (30 godzin) + laboratorium (30 godzin) | ||
== Opis == | == Opis == | ||
Celem wykładu jest zaprezentowanie najważniejszych technik stosowanych do synchronizacji procesów i realizacji komunikacji między nimi | Celem wykładu jest zaprezentowanie najważniejszych technik stosowanych do synchronizacji procesów i realizacji komunikacji między nimi, 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 zilustrowana przykładami klasycznych problemów współbieżności oraz mechanizmów synchronizacji procesów i wątków w systemie operacyjnym Linux. Przedstawione też zostaną metody weryfikacji programów współbieżnych oraz notacje do opisu współbieżności. W drugiej części zajęć uwaga skupi się na tematyce związanej z rozproszonymi systemami operacyjnymi, transakcjami oraz podstawowymi algorytmami rozproszonymi. | ||
== Sylabus == | == Sylabus == | ||
=== Autor === | === Autor === | ||
* Marcin Engel — Uniwersytet Warszawski | * Marcin Engel — Uniwersytet Warszawski | ||
* Janina Mincer-Daszkiewicz — Uniwersytet Warszawski | |||
=== Wymagania wstępne === | === Wymagania wstępne === | ||
Linia 21: | Linia 22: | ||
** muteksy | ** muteksy | ||
** spotkania (Ada) | ** spotkania (Ada) | ||
* | ** Linda | ||
* | |||
* Notacje do opisu współbieżności: | * Notacje do opisu współbieżności: | ||
** CSP | ** CSP | ||
** Sieci Petriego | ** Sieci Petriego | ||
* Poprawność programów współbieżnych i jej weryfikacja | |||
* Procesy i wątki w systemie Linux i najważniejsze metody ich synchronizacji | |||
* Algorytmy rozproszone: | |||
** synchronizacja zegarów logicznych | |||
** wzajemne wykluczanie | |||
** elekcja | |||
** uzgadnianie | |||
* Transakcje | |||
* Rozproszone systemy operacyjne | |||
** topologia sieci | |||
** rozproszone systemy plików | |||
** organizacja pamięci w systemach rozproszonych | |||
=== Literatura === | === Literatura === | ||
# M. Ben-Ari, ''Podstawy programowania współbieżnego i rozproszonego.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1996. | # M. Ben-Ari, ''Podstawy programowania współbieżnego i rozproszonego.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1996. | ||
# A.S. Tanenbaum, M. van Steen, ''Systemy rozproszone. Zasady i paradygmaty.'' Wydawnictwa Naukowo-Techniczne, Warszawa 2006. | |||
# G. Coulouris, J. Dollimore, T. Kindberg, ''Systemy rozproszone, podstawy i projektowanie.'' Wydawnictwa Naukowo-Techniczne, 1998. | |||
# Z. Weiss, T. Gruźlewski, ''Programowanie współbieżne i rozproszone w przykładach i zadaniach.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1993. | # Z. Weiss, T. Gruźlewski, ''Programowanie współbieżne i rozproszone w przykładach i zadaniach.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1993. | ||
# M. Rochkind, ''Programowanie w systemie Unix dla zaawansowanych.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1997. | # M. Rochkind, ''Programowanie w systemie Unix dla zaawansowanych.'' Wydawnictwa Naukowo-Techniczne, Warszawa 1997. |
Aktualna wersja na dzień 09:03, 4 gru 2006
Forma zajęć
Wykład (30 godzin) + ćwiczenia (30 godzin) + laboratorium (30 godzin)
Opis
Celem wykładu jest zaprezentowanie najważniejszych technik stosowanych do synchronizacji procesów i realizacji komunikacji między nimi, 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 zilustrowana przykładami klasycznych problemów współbieżności oraz mechanizmów synchronizacji procesów i wątków w systemie operacyjnym Linux. Przedstawione też zostaną metody weryfikacji programów współbieżnych oraz notacje do opisu współbieżności. W drugiej części zajęć uwaga skupi się na tematyce związanej z rozproszonymi systemami operacyjnymi, transakcjami oraz podstawowymi algorytmami rozproszonymi.
Sylabus
Autor
- Marcin Engel — Uniwersytet Warszawski
- Janina Mincer-Daszkiewicz — Uniwersytet Warszawski
Wymagania wstępne
- Wstęp do programowania
- Systemy operacyjne
- Środowisko programisty
Zawartość
- Klasyczne problemy współbieżności
- Mechanizmy synchronizacji procesów w modelu scentralizowanym i rozproszonym:
- semafory
- monitory
- muteksy
- spotkania (Ada)
- Linda
- Notacje do opisu współbieżności:
- CSP
- Sieci Petriego
- Poprawność programów współbieżnych i jej weryfikacja
- Procesy i wątki w systemie Linux i najważniejsze metody ich synchronizacji
- Algorytmy rozproszone:
- synchronizacja zegarów logicznych
- wzajemne wykluczanie
- elekcja
- uzgadnianie
- Transakcje
- Rozproszone systemy operacyjne
- topologia sieci
- rozproszone systemy plików
- organizacja pamięci w systemach rozproszonych
Literatura
- M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 1996.
- A.S. Tanenbaum, M. van Steen, Systemy rozproszone. Zasady i paradygmaty. Wydawnictwa Naukowo-Techniczne, Warszawa 2006.
- G. Coulouris, J. Dollimore, T. Kindberg, Systemy rozproszone, podstawy i projektowanie. Wydawnictwa Naukowo-Techniczne, 1998.
- Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach. Wydawnictwa Naukowo-Techniczne, Warszawa 1993.
- M. Rochkind, Programowanie w systemie Unix dla zaawansowanych. Wydawnictwa Naukowo-Techniczne, Warszawa 1997.
- M.K. Johnson, E.W. Troan, Oprogramowanie użytkowe w systemie Linux. Wydawnictwa Naukowo-Techniczne, Warszawa2000.