Concurrent and Distributed Programming
Informacje ogólne
Kod przedmiotu: | 1500-ERASMCDP |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Concurrent and Distributed Programming |
Jednostka: | Wydział Fizyki i Informatyki Stosowanej |
Grupy: | |
Punkty ECTS i inne: |
0 LUB
6.00
LUB
3.00
(zmienne w czasie)
|
Język prowadzenia: | angielski |
Forma studiów: | stacjonarne |
Wymagania wstępne: | Dobra umiejętność programowania w C/C++, znajomość podstaw systemów operacyjnych. |
Skrócony opis: |
Celem kursu jest zapoznanie studentów z podstawowymi metodami komunikacji międzyprocesowej i synchronizacji procesów, problemami związanymi z dzieleniem zasobów a także specyfiką komunikacji i synchronizacji w przetwarzaniu rozproszonym. |
Efekty uczenia się: |
Po zakończeniu kursu student 1. Objaśnia problemy związane z dzieleniem zasobów. 2. Opisuje metody komunikacji międzyprocesowej. 3. Opisuje metody unikania zakleszczeń. 4. Opisuje klasyczne problemy współbieżności. 5. Analizuje proste problemy synchronizacji międzyprocesowej i rozwiązuje je przy pomocy poznanych mechanizmów. 6. Tworzy komunikujące się ze sobą programy, synchronizujące swoje działanie przy pomocy poznanych mechanizmów. 7. Tworzy proste programy rozwiązujące dany problem przez podzielenie go na części rozwiązywane współbieżnie przy pomocy procesów potomnych albo wątków. 8. Rozumie potrzebę systematycznego zapoznawania się z czasopismami naukowymi i popularnonaukowymi, podstawowymi dla informatyki, w celu poszerzania i pogłębiania wiedzy |
Zajęcia w cyklu "Semestr zimowy 2019/2020" (zakończony)
Okres: | 2019-10-01 - 2020-02-23 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 28 godzin
|
|
Koordynatorzy: | Bartosz Zieliński | |
Prowadzący grup: | Bartosz Zieliński | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Ocena zgodna z regulaminem studiów | |
Czy IRK BWZ?: | T |
Zajęcia w cyklu "Semestr zimowy 2018/2019" (zakończony)
Okres: | 2018-10-01 - 2019-02-10 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 28 godzin
Wykład, 28 godzin
|
|
Koordynatorzy: | Bartosz Zieliński | |
Prowadzący grup: | (brak danych) | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Ocena zgodna z regulaminem studiów | |
Czy IRK BWZ?: | T |
|
Metody dydaktyczne: | Wykład informacyjny z elementami prezentacji multimedialnych. Metoda ćwiczeniowa. |
|
Sposoby i kryteria oceniania: | Ocena z wykładu wystawiana jest na podstawie egzaminu ustnego sprawdzającego wiedzę teoretyczną studenta. Ocena z ćwiczeń wystawiana jest na podstawie kilku wybranych (trudniejszych) ćwiczeń programistycznych z zajęć dla których student musi przedstawić i omówić rozwiązanie. Ocena bierze pod uwagę trudność wybranych ćwiczeń, jakość rozwiązania i umiejętność wyjaśnienia przez studenta problemu i rozwiązania. Ocena końcowa to średnia ocen z wykładu i ćwiczeń. Jeśli prowadzący ćwiczenia i wykład to ta sama osoba, egzamin ustny i sprawdzenie ćwiczeń powinno odbyć się w tym samym czasie. Obecność na zajęciach jest obowiązkowa |
|
Treści kształcenia: | 1. Synchronizacja procesów współbieżnych: mechanizmy niskopoziomowe (algorytm Dekkera, synchronizacja sprzętowa dzięki testuj-i-ustaw), semafory liczące i binarne, muteksy, monitory, zmienne warunkowe. 2. Mechanizmy współbieżności: procesy ciężkie, procesy lekkie (wątki systemowe), wątki poziomu użytkownika, wielozadaniowość kooperacyjna. 3. Mechanizmy komunikacji międzyprocesowej: pamięć dzielona, kolejki komunikatów, komunikaty synchroniczne i asynchroniczne. 4. Klasyczne problemy współbieżności: spotkanie dwóch i n procesów, producentów-konsumentów, czytelników i pisarzy, głodnych filozofów. 5. Unikanie i rozpoznawanie zakleszczeń. 6. Naturalna współbieżność: przetwarzanie potokowe. 7. Specyfika przetwarzania rozproszonego. 8. Mechanizmy komunikacji rozproszonej. 9. Problemy współbieżności, np.: a. Relacja uprzedniości zdarzeń w środowisku rozproszonym. b. Wzajemne wykluczanie w środowisku rozproszonym. c. Problem bizantyjskich generałów. 10. Zegary logiczne skalarne i wektorowe. Synchronizacja zegarów w środowisku rozproszonym. 11. Rozproszone podejmowanie decyzji, w szczególności transakcje rozproszone. 12. Mechanizmy współbieżności w systemie Linux |
|
Literatura: |
1. A. Silberschatz, P.B. Gavin, Podstawy systemów operacyjnych. Wydawnictwa Naukowo-Techniczne Warszawa 1998 2. M. Ben-Ari, Podstawy programowania współbieżnego Wydawnictwa Naukowo-Techniczne Warszawa 1989 3. A.S. Tanenbaum, M. Steen, Systemy rozproszone. Zasady i paradygmaty. Wydawnictwa Naukowo-Techniczne Warszawa 2006 Literatura uzupełniająca: 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 1996. 2. A.B. Downey, The Little Book of Semaphores http://www.greenteapress.com/semaphores/ 3. E. W. Dijkstra, “Hierarchical ordering of sequential processes,” Acta Informatica, Vol. 1, pp. 115-138. 4. L. Lamport, “A New Solution of Dijkstra’s Concurrent Programming Problem”, Communications of the ACM, August 1974, Vol. 17, No. 8. 5. L. Lamport, “Time, Clocks, and the ordering of Events in a Distributed System”, Communications of the ACM, July 1978, Vol. 21, No. 7. 6. L. Lamport, S. Shostak, M. Pease, “The Byzantine Generals Problem”, ACM Transactions on Programming Languages and Systems, Vol. 4, No. 3, July 1982, 382-401. |
Zajęcia w cyklu "Semestr zimowy 2017/2018" (zakończony)
Okres: | 2017-10-01 - 2018-02-09 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 28 godzin
Wykład, 28 godzin
|
|
Koordynatorzy: | Bartosz Zieliński | |
Prowadzący grup: | (brak danych) | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Ocena zgodna z regulaminem studiów | |
Czy IRK BWZ?: | T |
Właścicielem praw autorskich jest UNIWERSYTET ŁÓDZKI.