System rozproszony: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Xmagg (dyskusja | edycje)
Nie podano opisu zmian
(Brak różnic)

Wersja z 23:15, 16 lut 2005

System rozproszony (ang. distributed system) to zbiór niezależnych komputerów połączonych siecią komputerową, które są wyposażone w oprogramowanie umożliwiające współdzielenie zasobów systemowych między różnych użytkowników. Jedną z podstawowych cech systemu rozproszonego jest jego transparentność (inaczej przezroczystość) (ang. transparency), które stwarza 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 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 typu gwiazda (wiele terminali połączonych przez modemy z jednym centralnym komputerem), pierścień (terminale, minikomputer i komputer centralny tworzą pierścień) lub hierarchicznie (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 pojedyńczą 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ń: (1) komputery osobiste (PC) podłączone do komputera centralnego, (2) hierarchiczne (komputery PC podłączone do komputerów pośredniczących, które były połączone z komputerem centralnym, przy czym komputery znajduące się bliżej komputera centralnego miały większą moc obliczeniową), (3) komputery różnej mocy obliczeniowej połączone siecią komputerową (połączenia typu równy (ang. peer)), (4) 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:

  1. współdzielenie zasobów (ang. resource sharing) - wielu użytkowników systemu może korzystać z danego zasobu (np. drukarek, plików, usług, itp.)
  2. otwartość (ang. openness) - podatność na rozszerzenia, możliwość rozbudowy systemu zarówno pod względem sprzętowym, jak i oprogramowania
  3. współbieżność (ang. concurrency) - zdolność do przetwarzania wielu zadań jednocześnie
  4. skalowalność (ang. scalability) - własność systemu polegająca na zachowaniu podobnej wydajności systemu przy zwiększeniu skali systemu (np. liczby procesów, komputerów, itp.)
  5. odporność na błędy (ang. fault tolerance) - własność systemu polegająca na zdolności działania systemu mimo pojawiania się błędów (np. poprzez utrzymywanie nadmiarowego sprzętu)
  6. transparentność, przeźroczystość (ang. transparency) - własność systemu, pozwalająca na postrzeganie systemu przez użytkownika jako całości, a nie poszczególnych składowych.

Obecnie w systemach rozproszonych istotną rolę odgrywa warstwa pośrednicząca (ang. middleware), która pośredniczy w komunikacji między komponentami systemów rozproszonych. Przykładami warstwy pośreczniczącej 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)