background image

Systemy rozproszone

Systemy rozproszone

Wg

Wg

Wikipedii

Wikipedii

:

:

System rozproszony

System rozproszony

to zbiór niezależnych urządzeń 

to zbiór niezależnych urządzeń 

(komputerów) połączonych w jedną, spójną logicznie całość. 

(komputerów) połączonych w jedną, spójną logicznie całość. 

Połączenie najczęściej realizowane jest przez 

Połączenie najczęściej realizowane jest przez 

sieć 

sieć 

komputerową

komputerową

. Urządzenia są wyposażone w 

. Urządzenia są wyposażone w 

oprogramowanie

oprogramowanie

umożliwiające współdzielenie 

umożliwiające współdzielenie 

zasobów 

zasobów 

systemowych

systemowych

.

.

Jedną z podstawowych cech 

Jedną z podstawowych cech 

systemu

systemu

rozproszonego jest 

rozproszonego jest 

jego

jego

transparentność

transparentność

, inaczej 

, inaczej 

przezroczystość

przezroczystość

, która stwarza 

, która stwarza 

na użytkownikach systemu rozproszonego wrażenie 

na użytkownikach systemu rozproszonego wrażenie 

pojedynczego i zintegrowanego systemu.

pojedynczego i zintegrowanego systemu.

background image

Systemy rozproszone - cechy

Systemy rozproszone - cechy

współdzielenie zasobów

- wielu użytkowników systemu może 

korzystać z danego zasobu (np. drukarek, plików,  usług, itp.)

otwartość

- podatność na rozszerzenia, możliwość rozbudowy 

systemu zarówno pod względem sprzętowym, jak i oprogramowania

współbieżność

- zdolność do przetwarzania wielu zadań jednocześnie

skalowalność

- zachowanie podobnej wydajności systemu przy 

zwiększeniu skali systemu (np. liczby procesów, komputerów, itp.)

odporność na błędy

- zdolność działania systemu mimo pojawiania 

się błędów (np. poprzez utrzymywanie nadmiarowego sprzętu)

transparentność, przeźroczystość

- postrzeganie systemu przez 

użytkownika jako całości, a nie poszczególnych składowych.

background image

Otwartość

Otwartość

-usługi muszą być zgodne ze standardowymi regułami

opisującymi ich składnię i semantykę (np. protokoły 
sieciowe)

-specyfikacja interfejsu musi być kompletna i neutralna

Programy od różnych dostawców MUSZĄ współpracować 
ze sobą, o ile spełniają warunek zgodności interfejsów

Przenośność – aplikacja stworzona dla jednego systemu
może być uruchomiona w innym bez potrzeby dokonania
jakichkolwiek zmian.

background image

Przezroczystość

Przezroczystość

dostępu – poprzez ujednolicenie metod dostępu do danych 

i ukrywanie różnic w ich reprezentacji 

położenia – użytkownicy nie mogą określić położenia zasobu, 

np. na podstawie jego nazwy

wędrówki – można przenosić zasoby między serwerami bez 

zmiany odwoływania się do nich

przemieszczania– możliwość przenoszenia zasobów nawet 

podczas ich używania

background image

Przezroczystość

Przezroczystość

zwielokrotniania– użytkownik nie zauważa faktu zwielokrotniania 

zasobów

współbieżności – możliwość współbieżnego przetwarzania nie 

powodującego utraty spójności

awarii – niezauważalne zastępowanie uszkodzonych węzłów

trwałości – maskowanie sposobu przechowywania zasobu 

(pamięć lub dysk)

background image

Skalowalność

Skalowalność

pod względem rozmiaru (możliwość dodawania 

pod względem rozmiaru (możliwość dodawania 

nowych zasobów i użytkowników)

nowych zasobów i użytkowników)

geograficzna (rozrzucenie zasobów i 

geograficzna (rozrzucenie zasobów i 

użytkowników po całym świecie)

użytkowników po całym świecie)

administracyjna (skuteczna, mimo że rozrzucona 

administracyjna (skuteczna, mimo że rozrzucona 

administracja systemem)

administracja systemem)

background image

Skalowalność - rozwiązania

Skalowalność - rozwiązania

1.

1.

Ukrywanie opóźnień komunikacji

Ukrywanie opóźnień komunikacji

komunikacja asynchroniczna

komunikacja asynchroniczna

część obliczeń po stronie klienta

część obliczeń po stronie klienta

2.

2.

Rozpraszanie (

Rozpraszanie (

np

np

DNS)

DNS)

3.

3.

Zwielokrotnianie

Zwielokrotnianie

równoważenie obciążenia

równoważenie obciążenia

zwiększenie dostępności

zwiększenie dostępności

zwiększenie niezawodności

zwiększenie niezawodności

caching

caching

Problem spójności danych

Problem spójności danych

background image

Realizacje sprzętowe rozproszenia

Realizacje sprzętowe rozproszenia

Systemy

Systemy

wieloprocesory

wieloprocesory

(pamięć dzielona)

(pamięć dzielona)

multikomputery

multikomputery

(pamięć odrębna)

(pamięć odrębna)

Architektura

Architektura

szyna

szyna

przełącznik

przełącznik

background image

Systemy homogeniczne

Systemy homogeniczne

Sieci systemowe

grupa komputerów 

grupa komputerów 

homogenicznych połączonych siecią

homogenicznych połączonych siecią

architektura połączeń 

architektura połączeń 

szyna lub przełącznik

szyna lub przełącznik

topologia połączeń 

topologia połączeń 

siatki i

siatki i

hiperkostki

hiperkostki

Realizacje:

Realizacje:

procesory o masywnej równoległości (specjalna 

procesory o masywnej równoległości (specjalna 

sieć)

sieć)

klastry

klastry

, grupy stacji roboczych (sieć standardowa) 

, grupy stacji roboczych (sieć standardowa) 

background image

Oprogramowanie

Oprogramowanie

1.

1.

Systemy operacyjne dla komp. rozproszonych:

Systemy operacyjne dla komp. rozproszonych:

a)

a)

ś

ciśle powiązane (zarządzanie wszystkimi 

ś

ciśle powiązane (zarządzanie wszystkimi 

globalnymi zasobami przez system) 

globalnymi zasobami przez system) 

w

w

wieloprocesorach

wieloprocesorach

, komp.

, komp.

homogeniczych

homogeniczych

b)

b)

luźno powiązane (zbiór współpracujących 

luźno powiązane (zbiór współpracujących 

komputerów z lokalnymi S.O.) 

komputerów z lokalnymi S.O.) 

sieciowe 

sieciowe 

systemy operacyjne

systemy operacyjne

2.

2.

Oprogramowanie warstwy pośredniej

Oprogramowanie warstwy pośredniej

background image

Oprogramowanie - cele

Oprogramowanie - cele

Ad 1a: Ukrywanie zasobów sprzętowych i     

Ad 1a: Ukrywanie zasobów sprzętowych i     

zarządzanie nimi

zarządzanie nimi

Ad 1b: Oferowanie lokalnych usług klientom 

Ad 1b: Oferowanie lokalnych usług klientom 

zdalnym

zdalnym

Ad 2: Zapewnianie przezroczystości rozproszenia

Ad 2: Zapewnianie przezroczystości rozproszenia

background image

Wielokomputerowy S.O.

Wielokomputerowy S.O.

Jądro

Jądro

Jądro

Usługi rozproszonego systemu operacyjnego

Aplikacje rozproszone

background image

Rozproszona pamięć dzielona

Rozproszona pamięć dzielona

Stronicowana rozproszona pamięć dzielona 

Stronicowana rozproszona pamięć dzielona 

jako forma komunikacji

jako forma komunikacji

Problemy z efektywnością:

Problemy z efektywnością:

-

-

zwielokrotniania stron do odczytu,

zwielokrotniania stron do odczytu,

-

-

zwielokrotnianie wszystkich stron,

zwielokrotnianie wszystkich stron,

-

-

rezygnacja ze ścisłej spójności

rezygnacja ze ścisłej spójności

-

-

fałszywe dzielenie (gdy 2 procesy odwołują się 

fałszywe dzielenie (gdy 2 procesy odwołują się 

do różnych zmiennych, ale na tej samej stronie)

do różnych zmiennych, ale na tej samej stronie)

background image

Sieciowy S.O.

Sieciowy S.O.

Jądro

Jądro

Jądro

Aplikacje rozproszone

Usługi

sieciowego

systemu

operacyjnego

Usługi

sieciowego

systemu

operacyjnego

Usługi

sieciowego

systemu

operacyjnego

background image

Usługi sieciowego S.O.

Usługi sieciowego S.O.

Praca zdalna (np.

Praca zdalna (np.

rlogin

rlogin

)

)

Kopiowane plików (np.

Kopiowane plików (np.

rcp

rcp

)

)

Sieciowy system plików

Sieciowy system plików

-

-

serwer

serwer

-

-

klient

klient

background image

Oprogramowanie warstwy pośredniej

Oprogramowanie warstwy pośredniej

Jądro

Jądro

Jądro

Aplikacje rozproszone

Usługi

sieciowego

systemu

operacyjnego

Usługi

sieciowego

systemu

operacyjnego

Usługi

sieciowego

systemu

operacyjnego

Warstwa pośrednia

background image

Wzorce, założenia do warstwy pośredniej

Wzorce, założenia do warstwy pośredniej

Wszystko jest plikiem (z

Wszystko jest plikiem (z

Unixa

Unixa

)  

)  

-

-

komunikacja 

komunikacja 

jako zapis/odczyt pliku

jako zapis/odczyt pliku

Zdalne wywołania procedur (RPC) 

Zdalne wywołania procedur (RPC) 

procedury 

procedury 

zdalne jak lokalne (ukrywanie komunikacji)

zdalne jak lokalne (ukrywanie komunikacji)

Obiekty rozproszone 

Obiekty rozproszone 

obiekt na jednej 

obiekt na jednej 

maszynie, interfejs do niego na wielu

maszynie, interfejs do niego na wielu

Model dokumentów rozproszonych (WWW)

Model dokumentów rozproszonych (WWW)

background image

Usługi warstwy pośredniej

Usługi warstwy pośredniej

Komunikacja 

Komunikacja 

RPC, zdalne obiekty, przezroczysty 

RPC, zdalne obiekty, przezroczysty 

dostęp do rozproszonych plików, baz danych, 

dostęp do rozproszonych plików, baz danych, 

dokumenty WWW 

dokumenty WWW 

Nazewnictwo 

Nazewnictwo 

lokalizacja zasobów 

lokalizacja zasobów 

-

-

skalowalność

skalowalność

Trwałość 

Trwałość 

pliki, bazy danych, rozproszona pamięć 

pliki, bazy danych, rozproszona pamięć 

dzielona

dzielona

Transakcje rozproszone 

Transakcje rozproszone 

atomowość

atomowość

, dane na wielu 

, dane na wielu 

maszynach, maskowanie awarii

maszynach, maskowanie awarii

Bezpieczeństwo

Bezpieczeństwo

background image

Otwartość warstwy pośredniej

Otwartość warstwy pośredniej

Nadbudowa nad systemem 

Nadbudowa nad systemem 

uniezależnienie od 

uniezależnienie od 

systemu

systemu

Zależność aplikacji od warstwy pośredniej

Zależność aplikacji od warstwy pośredniej

Niekompletność interfejsów warstwy pośredniej 

Niekompletność interfejsów warstwy pośredniej 

konieczność odwoływania się bezpośrednio do 

konieczność odwoływania się bezpośrednio do 

systemu

systemu

Zgodność warstwy pośredniej ze standardem, ale

Zgodność warstwy pośredniej ze standardem, ale

nieprzenośność

nieprzenośność

aplikacji

aplikacji

background image

Przykłady warstw pośrednich

Przykłady warstw pośrednich

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)

background image

Porównanie systemów

Porównanie systemów

Warstwa

Warstwa

pośrednia

pośrednia

Sieciowy

Sieciowy

system

system

operacyjny

operacyjny

Rozproszony S.O.

Rozproszony S.O.

otwarty

otwarty

otwarty

otwarty

zamknięty

zamknięty

zamknięty

zamknięty

Otwartość

Otwartość

zmienna

zmienna

tak

tak

umiarkowana

umiarkowana

nie

nie

Skalowalność

Skalowalność

lokalne

lokalne

lokalne

lokalne

globalne, 

globalne, 

rozproszone

rozproszone

globalne,

globalne,

centralne

centralne

Zarządzanie 

Zarządzanie 

zasobami

zasobami

zależna

zależna

od modelu

od modelu

pliki

pliki

komunikaty

komunikaty

pamięć 

pamięć 

dzielona

dzielona

Komunikacja

Komunikacja

n

n

n

n

n

n

1

1

Kopie S.O.

Kopie S.O.

nie

nie

nie

nie

tak

tak

tak

tak

Jeden SO?

Jeden SO?

duża

duża

mała

mała

duża

duża

b. duża

b. duża

Przezroczystość

Przezroczystość

Wielokomp

Wielokomp

.

.

Wieloproc

Wieloproc

.

.

background image

Model klient-serwer

Model klient-serwer

Klient

Serwer

żądanie

odpowiedź

wykonanie

usługi

background image

Model trójwarstwowy

Model trójwarstwowy

Klient

Serwer

aplikacji

Serwer
b. danych

background image

Interfejs

Interfejs

Interfejs

Interfejs

Interfejs

Interfejs

Aplikacja

Aplikacja

Aplikacja

Aplikacja

Aplikacja

Aplikacja

B. danych

B. danych

B. danych

B. danych

B. danych

B. danych

S e r w e r

K l i e n t