UNIWERSYTET ŁÓDZKI - Centralny System Uwierzytelniania
Strona główna

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) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia informatyczne, 28 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia informatyczne, 28 godzin więcej informacji
Wykład, 28 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia informatyczne, 28 godzin więcej informacji
Wykład, 28 godzin więcej informacji
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

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest UNIWERSYTET ŁÓDZKI.
kontakt deklaracja dostępności mapa serwisu USOSweb 7.0.3.0-2