Programowanie Współbieżne
II rok informatyki studiów dziennych
semestr letni roku akademickiego 2003/2004
Na tej stronie znajdziesz informacje i materiały dotyczące
wykładu z Programowania Współbieżnego dla II roku informatyki
studiów dziennych na Wydziale
Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego .
- Wyniki pierwszego zadania zaliczeniowego zostaly rozeslane.
W najblizszym czasie pojawia sie takze w USOSWebie.
Zasady punktacji znajduja sie tutaj .
W razie niezgodnosci oceny z tymi zasadami lub nie otrzymania wyniku
prosze o kontakt osobisty w poniedzialek 30.05 od godz. 11:00
w pokoju 4200.
- Termin oddania zadania trzeciego (i zarazem ostatniego) uplywa 30.05, godz. 23:59
- Organizacja zajęć
- Wykład z ćwiczeniami
- Laboratorium
- Literatura
Wybierajac pozycje z poniższej listy uzyskasz dostęp do
slajdów z wykładów w postaci zbioru postscriptowego (ps).
Odbitki slajdów są również dostępne w bibliotece wydziałowej.
Uwaga: Poniższy harmonogram jest jedynie orientacyjny. Zarówno
kolejność wykładów, jak i ich treść może ulec zmianie.
- Wykład 1 (12.02)
(ps)
Programowanie współbieżne - wstęp
- Wykład 2 (19.02)
(ps)
Komunikacja asynchroniczna w modelu rozproszonym.
Proces i plik w systemie UNIX.
- Wykład 3 (26.02)
(ps)
Komunikacja synchroniczna na przykładzie
CSP
- Wykład 4 (5.03)
(ps)
CSP dokończenie. Randki w Adzie.
- Wykład 5 (12.03)
(ps)
Ada dokończenie. Sygnały uniksowe jako prymitywny
mechanizm
synchronizacji
- Wykład 6 (19.03)
(ps)
Linda. Porównanie mechanizmów synchronizacyjnych.
- Wykład 7 (26.03) - Inne mechanizmy synchronizacji
rozproszonej (Occam,
Estelle ).
- Wykład 8 (2.04)
(ps)
Model scentralizowany, semafory.
- Wykład 9 (9.04)
(ps)
Semafory cd., Semafory w Uniksie,
segmenty pamięci dzielonej w Uniksie.
- Wykład 10 (16.04)
Klasówka
- Wykład 11 (30.04)
(ps)
Monitory
- Wykład 12
Synchronizacja rozproszona
- Wykład 13 (14.05)
Bizantyjscy generałowie
- Wykład 14 (21.05)
Weryfikacja programów współbieżnych
Początek
Tu znajdziesz rozwiązania zadań z ćwiczeń wraz z ich omówieniem.
Będą one udostępniane stopniowo zawsze po zajęciach ostatniej
grupy ćwiczeniowej.
- Ćwiczenia 1
(ps)
Algorytm Petersona
- Ćwiczenia 2
(ps)
Klasyczne problemy współbieżności w modelu
asynchronicznym.
- Ćwiczenia 3 CSP
(ps)
Producenci i konsumenci oraz czytelnicy i pisarze
w CSP
- Ćwiczenia 4 CSP ciąg dalszy
(ps)
- Ćwiczenia 5 Ada, pięciu filozofów
(ps)
- Ćwiczenia 6 Ada, ciąg dalszy
(ps)
- Ćwiczenia 7 Powtórzenie Ada i CSP
(ps)
- Ćwiczenia 8
(ps)
Linda
- Ćwiczenia 9
(ps)
Semafory
- Ćwiczenia 10
(ps)
Semafory c.d.
- Ćwiczenia 11
(ps)
Semafory / Monitory
- Ćwiczenia 12
(ps)
Monitory
- Ćwiczenia 13
(ps)
Monitory c.d.
- Ćwiczenia 14
(ps)
Algorytm Agrawali
Początek
Tu znajdziesz omówienie rozwiązań zadań laboratoryjnych.
Będą one udostępniane stopniowo zawsze po zajęciach ostatniej
grupy laboratoryjnej
- Tekst 1. zadania zaliczeniowego.
- Tekst 2. zadania zaliczeniowego.
- Tekst 3. zadania zaliczeniowego.
- Lab1. Makefile.
- Lab2. Fork.
- Lab3. Pipe.
- Lab4. Fifo.
- Lab 5. Sygnały
- Lab 7. Kolejki komunikatów.
- M. Ben-Ari, "Podstawy programowania współbieżnego",
WNT 1989.
- M. Ben-Ari, "Podstawy programowania współbieżnego
i rozproszonego", WNT, 1996.
- Z. Weiss, T. Gruźlewski, "Programowanie współbieżne
i rozproszone w przykładach i zadaniach", WNT, 1993.
- W. Iszkowski, M. Maniecki, "Programowanie współbieżne",
WNT 1982.
- A. Shaw, "Projektowanie logiczne systemów
operacyjnych", WNT, 1980 (rozdz. 3).
- Per Brinch Hansen, "Podstawy systemow operacyjnych",
WNT 1979 (rozdz. 3).
- M.K. Johnson, E.W. Troan, "Oprogramowanie uzytkowe w
systemie Linux"
- M. Rochkind, "Programowanie w systemie Unix dla
zaawansowanych", WNT, 1993.
- W. Richard
Stevens
- "Programowanie zastosowań sieciowych w
systemie Unix", WNT, 1995.
- C. Brown, "Unix Distributed Programming",
Prentice Hall, 1994.
Początek
Grafik zajęć
| |
1 |
2 |
3 |
4 |
5 |
6 |
6' |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
| Wtorek |
15.02 |
22.02 |
01.03 |
08.03 |
15.03 |
22.03 |
|
05.04 |
12.04 |
19.04 |
26.04 |
10.05 |
17.05 |
24.05 |
| Środa |
16.02 |
23.02 |
02.03 |
09.03 |
16.03 |
23.03 |
|
06.04 |
13.04 |
20.04 |
27.04 |
04.05 |
11.05 |
18.05 |
25.05 |
| Czwartek |
17.02 |
24.02 |
03.03 |
10.03 |
17.03 |
24.03 |
31.03 |
07.04 |
14.04 |
21.04 |
28.04 |
05.05 |
12.05 |
19.05 |
| Piątek |
18.02 |
25.02 |
04.03 |
11.03 |
18.03 |
01.04 |
|
08.04 |
15.04 |
22.04 |
29.04 |
06.05 |
20.05 |
|
| Klasówki |
|
|
|
|
|
|
|
|
|
|
(27.04) |
|
|
|
|
|
Początek
Na zajęcia z Programowania Wspólbieżnego składają się
dwa niezależne od siebie przedmioty: część teoretyczna (wykład
+ ćwiczenia) oraz część praktyczna (laboratorium). Oznacza to,
że na zakończenie każdy student uczestniczący w obu zajęciach
otrzyma dwie oceny. Poniżej znajdują się kryteria zaliczenia
obu przedmiotów.
Początek
Początek
Początek
Początek