Systemy rozproszone

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

  1. Wprowadzenie
  2. Komunikacja
  3. Komunikacja grupowa
  4. Procesy
  5. Nazewnictwo
  6. Synchronizacja zegarów i rozproszone transakcje
  7. Elekcja, wzajemne wykluczanie i zakleszczenie
  8. Zwielokrotnianie i spójność
  9. Modele spójności
  10. Modele spójności nastawione na klienta
  11. Niezawodne systemy rozproszone
  12. Systemy rozproszone oparte na obiektach
  13. Rozproszone systemy plików
  14. LDAP