W systemach rozproszonych programy działające rozproszenie nazywane są programami rozproszonymi.
Najważniejsze problemy związane z zarządzaniem systemem rozproszonym to:
• wzajemne wykluczanie (ang. mutual exclusion);
• wybór koordynatora:
• zakleszczenia (deadlock) - zapobieganie i
wykrywanie;
• wyłączenie działającego systemu;
• zarządzanie transferami (by bipoints and
multipoint);
• zarządzanie zdublowanymi zadaniami
(affords).
Stopień podziału
niesymetrycznie - każdy proces wykonuje swój własny algorytm
symetrycznie:
• symetria kodu (każdy proces ma swoją nazwę i procedura zależy od nazwy);
• silna symetria - procedura nie zależy od nazwy, ale od typu wiadomości;
• pełna symetria - wszystkie procesy wykonują tę samą procedurę.
Pisanie algorytmów rozproszonych jest łatwiejsze, jeśli mamy do dyspozycji monitor rozwiązujący ten problem.