System rozproszony (ang. distributed system) to zbiór niezależnych urządzeń technicznych połączonych w jedną, spójną logicznie całość. Zwykle łączonymi urządzeniami są komputery, rzadziej – systemy automatyki. Połączenie najczęściej realizowane jest przez sieć komputerową, jednak można wykorzystać również inne – prostsze – magistrale komunikacyjne. Urządzenia są wyposażone w oprogramowanie umożliwiające współdzielenie zasobów systemowych.

Jedną z podstawowych cech systemu rozproszonego jest jego przejrzystość (ang. transparency), tj. tworzenie na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Definicja systemu rozproszonego ewoluowała wraz z rozwojem komputerów i sieci komputerowych.

Historia W późnych latach 70. i na początku lat 80. systemy rozproszone składały się ze zdalnych terminali lub minikomputerów, które przeprowadzały niektóre operacje i co pewien czas komunikowały się w trybie wsadowym (ang. batch mode) z komputerem centralnym. Możliwe były połączenia terminali z komputerem centralnym w topologii gwiazdy (wiele terminali połączonych przez modemy z jednym centralnym komputerem), pierścienia (terminale, minikomputer i komputer centralny tworzą pierścień) lub hierarchicznej (komputer centralny połączony jest z minikomputerami, do których połączone są terminale).

W drugiej połowie lat 80. system rozproszony zaczął być rozumiany jako osobne, geograficznie rozproszone aplikacje współdziałające ze sobą. W tym czasie pod pojęciem systemu rozproszonego rozumiano także pojedynczą aplikację składającą się ze względnie samodzielnych i niezależnych programów współdziałających ze sobą. Dominowały wówczas następujące konfiguracje połączeń: komputery osobiste (PC) podłączone do komputera centralnego, hierarchiczne (komputery podłączone do komputerów pośredniczących, które były połączone z komputerem centralnym, przy czym komputery znajdujące się bliżej komputera centralnego miały większą moc obliczeniową) komputery różnej mocy obliczeniowej połączone siecią komputerową (połączenia typu równy, ang. peer), hybrydowe (hierarchiczne z konfiguracją typu peer).

Współczesne systemy rozproszone składają się z różnych komputerów połączonych siecią komputerową.

Cechy System rozproszony posiada następujące cechy:

Dzielenie zasobów (ang. resource sharing) – wielu użytkowników systemu może korzystać z danego zasobu (np. drukarek, plików, usług, itp.). Otwartość (ang. openness) – podatność na rozszerzenia, możliwość rozbudowy systemu zarówno pod względem sprzętowym, jak i oprogramowania. Współbieżność (ang. concurrency) – zdolność do przetwarzania wielu zadań jednocześnie. Skalowalność (ang. scalability) – cecha systemu umożliwiająca zachowanie podobnej wydajności systemu przy zwiększaniu skali systemu (np. liczby procesów, komputerów, itp.). Tolerowanie awarii (ang. fault tolerance) – właściwość systemu umożliwiająca działania systemu mimo pojawiania się błędów i (lub) uszkodzeń (np. przez utrzymywanie nadmiarowego sprzętu). Przezroczystość (ang. transparency) – właściwość systemu powodująca postrzeganie systemu przez użytkownika jako całości, a nie poszczególnych składowych.

Obecnie w systemach rozproszonych istotną rolę odgrywa oprogramowanie pośredniczące (warstwa pośrednia, ang. middleware), która pośredniczy w komunikacji między jego składowymi. Przykładami warstwy pośredniej są: gniazda (ang. sockets) RPC (Remote Procedure Call) DCE (Distributed Computing Environment) CORBA (Common Object Request Broker Architecture) DCOM (Distributed Component Object Model) RMI (Remote Method Invocation)

Zobacz też sieć Petriego system operacyjny system czasu rzeczywistego system operacyjny czasu rzeczywistego Unix

Przypisy

Bibliografia

Linki zewnętrzne Systemy rozproszone (materiały dydaktyczne MIMUW na studia informatyczne II stopnia)

Kategoria:Obliczenia rozproszone Kategoria:Systemy informatyczne