Docstoc

middleware

Document Sample
middleware Powered By Docstoc
					Systemy Rozproszone

    Wprowadzenie
Definicja systemu rozproszonego


       System rozproszony to:

   Zestaw niezależnych komputerów,
     sprawiający na użytkownikach
       wrażenie jednego, logicznie
           zwartego systemu.
  Definicja systemu rozproszonego (2)




              1.1




Organizacja SR za pomocą warstwy pośredniej (middleware), która
             rozciąga się ponad wieloma maszynami
            Przezroczystość w SR
Przezroczystość                             Opis
                   Ukrywanie różnic w reprezentacji danych i metodach
Dostępu
                   dostępu do zasobów
Położenia          Fizyczna lokalizacja zasobu jest ukryta
                   Przeniesienie zasobu nie ma wpływu na sposób
Wędrówki
                   kontaktowana się z nim
                   Ukrywanie faktu, że zasób może zostać przeniesiony
Przemieszczania
                   podczas jego używania
Zwielokrotniania   Ukrywanie faktu, że istnieje kilka kopii zasobu
                   Ukrywanie faktu, że zasób może być współdzielony na
Współbieżności
                   zasadzie rywalizacji
Awarii             Ukrywanie awarii i naprawy zasobu
                   Ukrywanie czy zasób jest w pamięci ulotnej czy w
Trwałości
                   pamięci trwałej


            Różne postaci przezroczystości w SR.
             Otwartość w SR
• Otwarty SR oferuje usługi zgodne ze
  standardowymi regułami
• Interface Definition Language
• Zupełność i neutralność istotna ze względu na:
  • Zdolność do współdziałania
  • Przenośność
• Elastyczność
       Problemy skalowalności

       Koncepcja                          Przykład

Scentralizowane usługi   Jeden serwer dla wszystkich użytkowników

Scentralizowane dane     Jedna książka adresowa on-line

Scentralizowane          Wyznaczanie trasy na podstawie pełnej
algorytmy                informacji




              Przykłady ograniczeń skalowalności.
  Metody skalowania (1)




               1.4




Różnica między walidacją formularza:
a) przez serwer
b) przez klienta
  Metody skalowania (2)



               1.5




Przykład podziału przestrzeni nazw DNS na strefy.
             Zagadnienia sprzętowe


                            1.6




Różne podstawowe organizacje procesorów i pamięci w rozproszonych
                   systemach komputerowych
Multiprocesory (1)


      1.7




  Multiprocesor szynowy.
 Multiprocesory (2)



           1.8




a) wybierak krzyżowy
b) sieć przełączająca omega
Homogeniczne systemy
 wielokomputerowe


         1-9




    a) krata
    b) hiperkostka
      Zagadnienia software’owe
  System                        Opis                      Główny cel

                                                       Ukrywanie
             Ściśle powiązany SO dla komputerów
                                                       zasobów
DOS          wieloprocesorowych i multikomputerów
                                                       sprzętowych i
             homogenicznych
                                                       zarządzanie nimi
             Luźno powiązany system operacyjny dla     Oferowanie
NOS          multikomputerów heterogrnicznych (sieci   lokalnych usług
             LAN i WAN)                                klientom zdalnym
Middleware   Dodatkowa warstwa na szczycie systemu     Zapewnienie
(warstwa     NOS, realizująca usługi ogólnego          przezroczystości
pośrednia)   przeznaczenia                             rozpraszania




 Zestawienie
 • DOS (Distributed Operating Systems)
 • NOS (Network Operating Systems)
 • Middleware
       Jednoprocesorowe SO



                     1.11




Oddzielenie aplikacji od kodu SO za pomocą mikrojądra.
     Wieloprocesorowe SO (1)
     monitor Counter {
     private:
     int count = 0;
     public:
         int value() { return count;}
         void incr () { count = count + 1;}
         void decr() { count = count – 1;}
     }




Monitor chroniący zmienna przed dostępem współbieżnym.
Wieloprocesorowe SO (2)
              Wieloprocesorowe SO (3)
monitor Counter {
private:                            void decr() {
    int count = 0;                  if (count ==0) {
    int blocked_procs = 0;              blocked_procs = blocked_procs + 1;
    condition unblocked;                wait (unblocked);
public:                                 blocked_procs = blocked_procs – 1;
    int value () { return count;}       }
    void incr () {                      else
       if (blocked_procs == 0)          count = count – 1;
         count = count + 1;         }
       else                         }
         signal (unblocked);
}



    Monitor chroniący zmienna przed dostępem współbieżnym,
                        blokujący proces.
Wielokomputerowe SO (1)



           1.14




      Ogólna struktura
    Wielokomputerowe SO (2)



                       1.15




Alternatives for blocking and buffering in message passing.
            Wielokomputerowe SO (3)

                                                               Gwarancja
                                             Wysyłanie
           Punkt synchronizacji                               niezawodnej
                                              bufora
                                                              komunikacji?
  Blokuj nadawcę do czasu gdy bufor jest
                                           Tak           Niekonieczne
  niezapełniony
  Blokuj nadawcę do czasu wysłania
                                           Nie           Niekonieczne
  komunikatu
  Blokuj nadawcę do czasu odbioru
                                           Nie           Konieczne
  komunikatu
  Blokuj nadawcę do czasu dostarczenie
                                           Nie           Konieczne
  komunikatu


Związek między blokowanie, buforowaniem i niezawodną komunikacją.
Systemy rozproszonej pamięci dzielonej (1)

  a)   Strony przestrzeni
       adresowej rozproszone
       między 4 maszynami

  b)   Sytuacja po odwołaniu
       się CPU do strony 10

  c)   Sytuacja, gdy strona 10
       jest tylko do odczytu i
       użyto replikacji
Systemy rozproszonej pamięci dzielonej (2)



                            1.18




        Fałszywe dzielenie strony między procesami.
 Sieciowe SO (1)



           1-19




Ogólna struktura sieciowego SO.
         Sieciowe SO (2)



                   1-20




Dwóch klientów i serwer plików w sieciowym SO.
              Sieciowe SO (3)




                        1.21




Różni klienci mogą montować serwery w różnych miejscach.
Oprogramowanie warstwy pośredniej



                          1-22




Ogólna struktura systemu rozproszonego, traktowanego jako warstwa
                      pośrednia oprogramowania.
         Middleware a otwartość



                        1.23




W otwartym SO, opartym na owp, protokoły i interfejsy każdej
  warsty powinny być takie same
                  Porównanie systemów
                               Rozproszony SO                     SR oparty o
                                                       Sieciowy
  Wyszczególnienie                                                  warstwę
                                                          OS
                           wieloproc.    wielokomp.                pośrednią

Stopień przezroczystości   Bardzo duży      Duży         Mały        Duży

Ten sam SO we
                               Tal           Tak         Nie          Nie
wszystkich węzłach

Liczba kopii SO                1             N            N            N

                            Pamięć                                 Zależna od
Podstawa komunikacji                     Komunikaty      Pliki
                            dzielona                                modelu
                            Globalne,      Globane,
Zarządzanie zasobami                                   w węźle      w węźle
                            centralne    rozproszone

Skalowalność                   nie       umiarkowana      tak       zmienna

Otwartość                  zamknięty      zamknięty     otwarty     otwarty

                                     Porównanie SO.
 Model klient-serwer

           1.25




Interakcja między klientem a serwerem.
Przykład klienta i serwera (1)




Plik header.h używany przez klienta i przez serwer.
Przykład klienta i serwera(2)




        Przykładowy serwer.
Przykład klienta i serwera(3)


                 1-27 b




     Klient kopiujący plik na serwerze.
        Poziom przetwarzania



                   1-28




Przykładowa organizacja wyszukiwarki internetowej w
   postaci 3 różnych warstw
Architektury wielopiętrowe (1)



                   1-29




  Alternatywne organizacje klient-serwer (a) – (e).
Architektury wielopiętrowe (2)



                    1-30




  Przykład serwera zachowującego się jak klient.
Współczesne architektury


                    1-31




Przykład poziomego rozproszenia usługi WWW.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:10/10/2012
language:Polish
pages:36