MIMINF:Programowanie współbieżne i rozproszone: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 43: | Linia 43: | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 5|Communicating Sequential Processes]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 5|Ćwiczenia. Tworzenie programów w modelu synchronicznym]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 5|Communicating Sequential Processes]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 5|Ćwiczenia. Tworzenie programów w modelu synchronicznym]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 6|Algorytmy rozproszone: synchronizacja zegarów logicznych, wzajemne wykluczanie, elekcja]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 6| Laboratorium.RPC]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 6|Algorytmy rozproszone: synchronizacja zegarów logicznych, wzajemne wykluczanie, elekcja]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 6| Laboratorium.RPC]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 7|Rozproszony algorytm uzgadniania]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 7|Laboratorium. Sygnały w Linuksie]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 7|Rozproszony algorytm uzgadniania]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 7|Laboratorium. Sygnały w Linuksie]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 8|Mechanizmy scentralizowane. Semafory]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 8|Ćwiczenia. Tworzenie programów korzystających z semaforów.]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 8|Mechanizmy scentralizowane. Semafory]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 8|Ćwiczenia. Tworzenie programów korzystających z semaforów.]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 9|Semafory cd.]] | # [[Programowanie współbieżne i rozproszone/PWR Wykład 9|Semafory cd.]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 9|Laboratorium. IPC. Semafory]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 10|Monitory]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 10|Ćwiczenia. Tworzenie programów korzystających z monitorów.]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 10|Monitory]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 10|Ćwiczenia. Tworzenie programów korzystających z monitorów.]]) | ||
# [[Programowanie współbieżne i rozproszone/PWR Wykład 11|Specyfikowanie i weryfikacja własności programów współbieżnych. CTL.]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 11|Laboratorium. Wątki i muteksy w Linuksie]]) | # [[Programowanie współbieżne i rozproszone/PWR Wykład 11|Specyfikowanie i weryfikacja własności programów współbieżnych. CTL.]] ([[Programowanie współbieżne i rozproszone/PWR Ćwiczenia 11|Laboratorium. Wątki i muteksy w Linuksie]]) |
Wersja z 01:06, 16 paź 2006
Forma zajęć
Wykład (30 godzin) + laboratorium/ćwiczenia (30 godzin)
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 przykładzie 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 oraz notacje do opisu współbieżności.
Sylabus
Autor
- Marcin Engel — 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)
- 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
- M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 1996.
- 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.