Opis
Celem przedmiotu jest prezentacja teoretycznych i praktycznych aspektów konstrukcji rozproszonych systemów operacyjnych. Prezentowane zagadnienia dotyczą różnych warstw systemu operacyjnego: począwszy od mechanizmów komunikacyjnych, poprzez algorytmy rozproszonego szeregowania i synchronizacji, a skończywszy na aplikacyjnych usługach systemu operacyjnego (systemy plików, usługi katalogowe).
Sylabus
Autorzy
- Jerzy Brzeziński — Politechnika Poznańska
- Cezary Sobaniec — Politechnika Poznańska
Wymagania wstępne
- Systemy operacyjne
- Sieci komputerowe
- Programowanie niskopoziomowe
- Programowanie obiektowe
Zawartość
Zagadnienia teoretyczne
- Wprowadzenie:
- architektura systemów rozproszonych
- modele przetwarzania rozproszonego
- mechanizmy komunikacyjne: wymiana komunikatów, komunikacja grupowa
- Mechanizm zdalnych wywołań procedur (RPC)
- Systemy z rozproszoną pamięcią współdzieloną (DSM):
- modele spójności (model atomowy, sekwencyjny, przyczynowy, PRAM, modele o dostępie synchronizowanym)
- protokoły spójności
- Replikacja w rozproszonych systemach mobilnych:
- modele spójności zorientowane na klienta (gwarancje sesji)
- protokoły spójności
- Rozproszone szeregowanie:
- problematyka równoważenia obciążeń, algorytmy i ich klasyfikacja
- Synchronizacja zegarów:
- zegary fizyczne (algorytmy Berkeley, Cristiana)
- zegary logiczne (skalarny Lamporta, wektorowy Fidge'a, Matterna)
- Elekcja: algorytm tyrana, elekcja w pierścieniu
- Rozproszone zakleszczenie – modele i algorytmy detekcji
- Praktyczne realizacje niektórych usług rozproszonych systemów operacyjnych:
- rozproszone systemy plików (NFS, AFS, Coda, SMB/CIFS)
- usługi katalogowe (LDAP, AD)
Zagadnienia praktyczne
- Mechanizm zdalnego wywołania procedur na przykładzie Sun RPC:
- synchroniczne i asynchroniczne wywołania zdalnych procedur
- wywołania zwrotne
- Rozproszone systemy plików – uruchomienie, konfiguracja, strojenie:
- Network File System
- SMB/CIFS
- Usługi katalogowe – konfiguracja, integracja z innymi usługami systemu operacyjnego:
- Network Information System
- LDAP
Literatura
- A. S. Tanenbaum, M. van Steen, Distributed Systems: Principles and Paradigms, Prentice-Hall, Inc., 2002.
- P. K. Sinha, Distributed Operating Systems – Concepts and Design, IEEE Press, 1997.
- A. S. Tanenbaum, Computer Networks, Pearson Education, Inc., 2003.
- G. S. Hura, M. Singhal, Data and Computer Communications. Networking and Internetworking, CRC Press LLC, Boca Raton, Florida, 2001.
- M. Singhal, N. G. Shivaratri, Advanced Concepts in Operating Systems –Disitributed, Database, and Multiprocessor Operating Systems, McGraw Hill, 1994.
- A. Gościński, Distributed Operating Systems, The Logical Design, Addison Wesley, 1991.
- A. Silberschatz, J. Peterson, P. Galvin, Operating Systems Concepts, Addison Wesley, 1991.
- A. S. Tanenbaum, Modern Operating Systems, Prentice-Hall, Inc., 1992.
- G. Tel, Introduction to Distributed Algorithms, Cambridge University Press, 1994.
- M. Gabassi, B. Dupouy. Przetwarzanie rozproszone w systemie UNIX. Lupus, 1995.
Moduły
Wykłady
- Wprowadzenie
- Komunikacja
- Komunikacja grupowa
- Procesy
- Nazewnictwo
- Synchronizacja zegarów i rozproszone transakcje
- Elekcja, wzajemne wykluczanie i zakleszczenie
- Zwielokrotnianie i spójność
- Modele spójności
- Modele spójności nastawione na klienta
- Niezawodne systemy rozproszone
- Systemy rozproszone oparte na obiektach
- Rozproszone systemy plików
- LDAP