Sunteți pe pagina 1din 17

Sistem informatic distribuit.

Sisteme omogene

Vom admite c prin sistem distribuit de calcul sau sistem informatics distribuit se
innelege o multime de programe peste o retea de noduri care au acces fiecare la o memorie
proprie , fiind conectate intre ele prin niste linii de comunicatie , avand diverse topologii de
conexiune ,sistemul fiind conceput cu scopul partajrii unor resurse sau/si pentru rezolvarea
concurent a unoraplicaii paralele sau paralelizabile.

Motivatia pentru construirea si utilizarea sistemelor capabile de calcul paralel vine din
nevoia de a reduce timpul de calcul prin diviziunea unei probleme mari in sub-probleme ce se
pot rezolva simultan pe structuri de calcul adecvate, iar sistemele informatice distribuite rspund
cerintelor de simultaneitate a calcului paralel si au in plus facilitti de a putea partaja unele
resurse scumpe: hardware (imprimante, discuri, scanere, faxuri) si software(pagini web, baze
de date, fisiere).

In cadrul partajrii resurselor intr-un sistem distribuit denumirea de serviciu este


considerat ca o parte distinct a unui sistem care face managementul unei colectii de resurse
asemntoare si face public functionalitatea lor utilizatorilor si aplicatiilor care apeleaz la ele.

Termenul de server se refer la un program care ruleaz (proces) pe un computer dintro retea si care accept cereri de la computere din retea, iar cei care trimit cereri poart numele
de clienti, functionalitatea fiind asigurat prinprotocolul client/ server.

Intr-un sistem distribuit care este modelat prin folosirea programrii orientate pe obiect,
resursele pot fi incapsulate ca obiecte si pot fi accesate de asa numitii client object prin cererea
unei metode de la server object.

Din punct de vedere al structurii hardware si a tipului de conexiune, sistemele


care cuprind mai multe procesoare pot fi:
-puternic cuplate (conectate la nivel de memorie, de exemplu multiprocesoare, clustere);
-slab cuplate (conectate la nivel de reea de calculatoare, de exemplu multicalculatoare,
griduri).

Sistemele informatice distribuite se impart in dou clase:


-sisteme informatice distribuite omogene (bazate pe multiplicarea unor resurse identice,
de exemplu unele multiprocesoare, MPP sau unele clustere);
-sisteme informatice distribuite eterogene (neomogene), de exemplu reteaua Internet,
unele clustere, un sistem grid etc.

2. Caracteristici si avantaje specifice ale sistemelor distribuite

Din modul de definire a sistemelor distribuite rezult cateva caracteristici de baz ale lor:

-concurenta: se poate lucra simultan pe diferite computere din retea, eventual


partajandu-se aceleasi resurse (pagini web, fisiere, etc.);
-lipsa unui ceas global: exist limite in ceea ce priveste capacitatea computerelor din
retea de a-si sincroniza ceasurile interne;
-rezistenta la erori: un defect in retea poate duce la izolarea unorcomputere, ins
reteaua va functiona in continuare si de obicei programele care vor rula pe nodul deconectat nu
vor detecta c a fost intrerupt conexiunea sau c aceasta a devenit neobisnuit de inceat, ba
mai mult, nici celelalte noduri din sistem nu vor sesiza imediat c unul din noduri a czut.
Proiectarea si utilizarea sistemelor informatice distribuite este argumentat
de cateva avantaje specifice sistemelor distribuite:

-Facilitatea schimbului de informaii: cresterea exponenial a cantittii de informatie si


necesitatea de a schimba rapid informatii intre diferitele puncte aflate in locuri geografice
deprtate fac necesar conectarea intre calculatoare autonome.

-Partajarea resurselor scumpe: o organizatie prefer s cumpere mai


multe calculatoare mai ieftine si de puteri rezonabile in loc s cumpere unul performant si
scump. Prin interconectarea acestor calculatoare mai mici intre ele, eventual cu un numr redus
de calculatoare mai puternice ale cror resurse (memorie, putere a procesorului, periferice de

capaciti mari) s fie partajate intre acestea; costul mririi capacittii unei astfel de retele este
mult mai mic decat in cazul resurselor conectate la un singur calculator, fie el cat de performant;

-Fiabilitate mrit n functionare: dac un sistem de calcul este format dintr-un singur
calculator, defectarea acestuia face imposibil utilizarea intregului sistem. La proiectarea unui
sistem distribuit trebuie s tinem seama de siguranta in functionare a acestuia, astfel incat
cderea unui nod s nu perturbe functionarea sistemului in ansamblu, ci alte noduri
vor prelua sarcinile nodului czut. Intr-un sistem distribuit avem aceast
posibilitate
-Cresterea performantei prin paralelizarea calculului: existenta mai multor procesoare
intr-un sistem distribuit face posibil reducerea timpului de realizare a unui calcul laborios prin
imprirea sarcinilor intre diferite procesoare, colectarea ulterioar a rezultatelor partiale si
determinarea rezultatului final .

-Specializarea nodurilor: proiectarea unui sistem de calcul autonom cu functionalitti


multiple este destul de dificil. Din motive practice; la proiectare sistemul se imparte in module,
fiecare modul implementand o parte din functionalitti si comunicand cu alte module;

-Scalabilitatea sau extensibilitatea: un sistem distribuit poate fi modificat relativ usor prin
adugarea sau indeprtarea unor noduri;

3.Midlleware

Majoritatea sistemelor informatice actuale sunt sisteme deschise neomogene


(eterogene), ale cror date si aplicatii coexist pe platforme hardware si software neomogene.
Cu toate precautiile productorilor de hardware si software de a respecta anumite cerinte
generale pentru a facilita comunicarea intre aceste platforme, este evident c sunt necesare o
serie de programe de translatare de la o platform hardware sau software la alta. Acest lucru se
face cu ajutorul unor programe intermediare sau midlleware (middle - de mijloc,
intermediar, in limba englez).

Conceptul midlleware joac un rol esential in sistemele informatice distribuite eterogene.


Aceste programe de traducere/ translatare trebuie s indeplineasc o conditie esential:
transparenta pentru utilizator.

Se poate utiliza middlware orientat pe obiecte, care permite programatorului


s creeze un model orientat pe obiecte al unei intreprinderi si apoi s scrie aplicatiile care cer
informatii din obiecte si nu din anumite surse de date. Cererea este coordonat de un Object
Request Broker (ORB), adic un intermediar de cereri orientat pe obiecte, care reprezint un
middleware. Middleware-ul de aplicatie execut operayiile de detaliu privind conexiunea dintre
diferitele platforme hardware si software care trebuie s comunice intre ele pentru a satisface
cererile utilizatorului.

4.Cerinte n proiectarea unui sistem informatic distribuit


1.2.1. Eterogenitatea
1.2.2. Scalabilitatea
1.2.3. Securitatea
1.2.4. Tratarea erorilor
1.2.5. Deschiderea
1.2.6. Concurena
1.2.7. Transparena

Eterogenitatea

Aceast caracteristic a sistemelor informatice distribuite se manifest


la diverse nivele. Un sistem distribuit de tip intranet poate fi format din calculatoare eterogene.
La randul su, Internetul este compus din conectarea unor intraneturi si calculatoare eterogene,

dar diferentele dintre ele sunt ascunse de faptul c se utilizeaz pentru comunicare aceleasi
protocoale.

Pentru mascarea eterogenittii se utilizeaz conceptul de arhitectur distribuit middleware,


cele mai reprezentative fiind:

CORBA (Common Object Request Broker Architecture);


DCE (Distributed Computing Environment);
DCOM (Distributed Component Object);
Java RMI (Remote Method Invocation).

Scalabilitatea

Scalabilitatea a fost introdus la inceput pentru compararea sistemelor paralele. In


aceast acceptiune scalabilitatea inseamn modificarea liniar a performantelor unui sistem,
adic nu se produce o modificare semnificativ a performantelor odat cu modificarea
numrului sau calittii resurselor instalate

Pentru ca un sistem distribuit s fie scalabil, la proiectarea sa trebuie


gsite soluii la probleme ca:

controlul costului resurselor fizice: pentru ca un sistem cu n utilizator s fie scalabil,


cantitatea de resurse fizice trebuie s fie in jur de O(n);
controlul pierderii performannelor: cresterea dimensiunii duce in general la scderea
performantelor, deci trebuie gsite solutii pentru ca aceast scdere s fie semnificativ
prevenirea cderii resurselor software;
evitarea strangulrilor:

Securitatea

Exist trei concepte fundamentale de securitate a informatiei:


1. Atac de securitate: orice actiune care poate compromite securitatea informatiilor dintr-un
sistem;

2. Mecanism de securitate: mijloc pentru detectarea si prevenirea atacurilor de securitate;


3. Serviciu de securitate: monitorizeaz atacurile si declanseaz mecanismele de securitate
adecvate.

Principalele atacuri de securitate, pasive sau active, asupra unui sisteminformatic distribuit sunt:
1. ntreruperea: un element al sistemului este scos din uz
2. Interceptia: o entitate neautorizat (o persoan sau un program) are acces in sistem, putand
captura date sau copia fisiere si programe;
3. Modificarea: o entitate neautorizat poate modifica continutul mesajelor transmise sau poate
schimba date in fisiere;
4. Falsificarea: o entitate neautorizat poate s insereze mesaje false in retea sau s adauge
inregistrri false in fisierele de date.

Tratarea erorilor

Un procesor/computer din retea poate esua in mod independent de celelalte. De aceea


fiecare component din sistem trebuie s tin cont de faptul c o alt component de care
depinde poate esua si s fie capabil s gseasc o solutie in caz de avarie.
Iat cateva tehnici folosite pentru tratarea erorilor:
1. Detectarea erorilor (care pot fi detectate).
2. Mascarea erorilor (unele erori care pot fi detectate pot fi ascunse sau
gsite soluii de ameliorare a lor).
3. Toleranta la erori. De exemplu, un browser Web performant care nu
poate intra in contact cu un server, informeaz utilizatorul asupra
problemei si nu il face s astepte indefinit.
4. Recuperarea datelor. Sistemul trebuie astfel proiectat incat datele s

poat fi recuperate dup ce serverul a czut.


5. Redundanta. Serviciile dintr-un sistem distribuit trebuie s fie tolerante
la erori prin folosirea unor tehnici de redundan

. Deschiderea

Termenul de deschidere (openness) este caracteristica unui sistem care indic, dac el
poate fi extins si implementat in moduri diferite. Deschiderea pentru un sistem distribuit se
refer in primul rand la disponibilitatea de adugare si publicarea de noi servicii de partajare a
resurselor Sistemele distribuite deschise sunt bazate pe asigurarea unui mecanism uniform de
comunicare si publicare a interfetelor pentru accesul la resursele partajate in mod transparent.
Sistemele distribuite pot fi constituite din entitti eterogene, dar trebuie s se asigure buna
functionare a acestora in cadrul SD. Marea provocare a deschiderii const in integrarea
componentelor scrise deutilizatori diferiti.

Concurenta

Intr-un sistem distribuit exist posibilitatea ca o aceeasi resurs partajat s poat fi


accesat de mai multi utilizatori simultan. O solutie limitativ si greu acceptabil ar fi ca
mecanismul care face managementul resursei s serveasc numai cate un client odat. In
general ins aplicatiile in sistemele distribuite sunt construite pentru a putea deservi mai multi
clienti simultan (multiprocessing, multitasking etc.). Pentru ca un obiect s fie sigur intr-un
mediu concurent, operaiile asupra lui trebuie s poat fi sincronizate astfel incat s avem date
consistente pentru fiecare utilizator. Acest lucru se poate obtine prin tehnici standard de
sincronizare, cum ar fi semafoarele.

Transparenta

Un sistem este transparent atunci cand este perceput ca un intreg si nu ca o simpl


colecie de componente independente si eterogene.

Exist mai multe tipuri de transparent:

1. Acces transparent: permite ca resursele remote si cele locale s poat fi accesate prin
aceleasi operatii;
2. Transparenta localizrii: face posibil accesarea resurselor fr s se stie unde sunt
localizate;
3. Transparenta concurentei: permite ca mai multe procese s opereze concurent folosind
resursele partajate fr s interfereze intre ele;
4. Transparenta replicrii: ofer posibilitatea ca mai multe instante a unei resurse s poat fi
folosite, mrindu-se astfel performanta si robustetea;
5. Transparenta erorilor: faciliteaz ascunderea erorilor, permitand utilizatorilor s-si rezolve
task-ul chiar dac apar erori software sau hardware;
6. Mobilitate transparent: face posibil mobilitatea resurselor si a clientilor in SD fr s fie
afectat operayionalitatea;
7. Performanta transparent: permite SD s poat fi reconfigurat pentru a-i se imbuntti
performantele;
8. Scalabilitate transparent: permite extinderea SD fr s fie nevoie deschimbarea structurii
sistemului sau a algoritmilor folositi.

5.Retele de tip internet: SIPRNET, FidoNet, Internet

Cuvantul internet provine din concatenarea prescurtrilor a dou cuvinte englezesti,


interconnected (interconectat) si network (retea) si desemneaz o retea de mari dimensiuni
format prin interconectarea mai multor retele autonome eterogene.

Astfel, substantivul comun internet (cu minuscul) desemneaz in general o reuniune de


retele, vzut ca o retea unitar, impreun cu informatia si serviciile care sunt oferite
utilizatorilor prin intermediul acestei reele (Web, E-Mail, FTP etc.).

Exemple de retele mari de tip internet sunt

-Secret Internet Protocol Router Network (SIPRNET),


-FidoNet,
-Internet,

Cea mai mare, mai notorie si uzual dintre reyele de tip internet la oraactual este
numit
Internet (nume propriu, scris cu majuscul), adic super-reieaua mondial unic de computere,
interconectate prin protocolul IP/TCP;
Atat Internetul sau The NET (Reteaua), cum i se mai spune in lume, cat si alte retele mai
mici de tip internet sunt exemple de sisteme informatice distribuite.

Astfel, prin Internet multe resursele dint-o anumit locatie geografic pot fi partajate
(exploatate in comun) de ctre utilizatori din cele mai diverse locuri geografice.
De asemenea, oricine dispune de un nume de user si o parol pentru administrarea bazei de
date a IJCCC, poate face modificri in aceasta baz de date de la orice computer din lume care
este conectat la Internet.

6.Cluster

Clusterul este un tip de sistem distribuit ce permite calculul paralel, format fizic dintr-o
retea de cel putin dou procesoare, numite statii de lucru care pot fi folosite si de sine stttor,
interconectate intr-o retea, fiind utilizat ca o resurs de calcul integrat si singular. In practic
se utilizeaz dou tipuri de clustere: clustere dedicate(formate din procesoare omogene) si
clustere de ntreprindere (formate din procesoare neomogene).
Un cluster are, in mod iluzoriu, pentru utilizator o imagine de sistem
unic -SSI (Single System Image).

Elementele clusterului sunt vzute din afar ca fiind anonime si


interschimbabile.
Rolul principal intr-un cluster il joac statiile de lucru, iar sistemele paralele din retea pot
fi folosite ca nuclee de calcul foarte puternice in aplicatii de mare complexitate (fizica atomului,
studiul genomului uman, meteorologie
etc.).
Conceptul software corespunztor conceptului de cluster este domeniul de executie,
care reprezint o masin virtual foarte puternic, are o evolutie dinamic in functie de
necesitti: se pot scoate sau introduce in orice moment statii de lucru, servere de baze de date,
procesoare specializate etc.

7.Clasificare clustere

Clusterele pot fi clasificate in baza urmtoarelor atribute:

asamblare (compact sau distribuit);


control (local sau centralizat);

omogenitate (eterogen sau omogen);


securitate (inchis sau deschis).

n practic se folosesc indeosebi dou tipuri de clustere:


-Cluster dedicat: este instalat cu toate nodurile intr-un rack compact,
este omogen, este controlat centralizat si este accesat via unsistem front-end (inchis pentru
exterior);
-Cluster de ntreprindere: este distribuit geografic cu noduri in rackuri
diferite din aceeasi camer sau in camere diferite, este eterogen,cu un
control limitat, iar joburile locale au prioritate fat de cele ale intreprinderii.

8.GRID

Grid-ul este un tip de sistem paralel si distribuit care permite partajarea,


selectarea si agregarea serviciilor unor resurse distribuite eterogene peste domenii cu
administrare multipl, bazate pe disponibilitate, capabilitate, performant, cost si cerinte
calitative ale utilizatorilor.

Deci, resursele unui Grid sunt caracterizate prin


1. Partajare: sunt puse la dispoziia utilizatorilor care au nevoie de elepentru rezolvarea unor
aplicatii;
2. Distribuire: sunt amplasate in locaii geografice oriunde pe glob;
3. Eterogenitate: nu sunt toate de aceeasi natur, pot diferi prin sisteme de gestiune a fisierelor,
prin sisteme de operare, prin tipul de procesoare utilizate etc.;

4. Coordonare: resursele sunt organizate virtual , conectate si exploatate in functie de nevoi


(obiective) si mijloace disponibile pe baza unui software de configurare si gestiune a gridului;
5. Externalizare: resursele sunt accesibile la cerere de ctre furnizori externi;
6. Autonomie (descentralizare): in contrast cu clusterul, lipseste imaginea de sistem unic si
controlul centralizat.

Domeniile de aplicabilitate pentru Grid Computing:


1. Modelare predictiv si simulare: prognoze meteo prin simulri numerice; oceanografie,
astofizica etc
2. Proiecte ingineresti si automatizri: modelri prin metoda elementului finit, aerodinamic,
inteligent artificial
3. Explorarea resurselor energetice: siguranta reactoarelor nucleare, explorri seismice, puterea
de fuziune a plasmei; modelarea rezervelor energetice.
4. Cercetri fundamentale n medicin si probleme militare: imagini si vizualizri in explorri
medicale, probleme de mecanic cuantic, chimia polimerilor, proiecte de atac nuclear.
5. Vizualizare: vizualizri grafice, video, animaie, film cu ajutorul
calculatorului.

Sistemele GRID pot fi clasificate in trei mari categorii:


1. Grid computaional: supercalcul distribuit si transfer de mare vitez,
2. Data Grid: exploatarea unor baze de date de mari dimensiuni,
3. Service Grid: servicii grid la cerere, colaborativ, multimedia

9.Comenzi SHELL

Shell-ul este interfata primar a utilizatorului cu sistemul de operare. Un shell UNIX este
in primul rand un interpretor de comenzi, permitand executia bogatului set de utilitare UNIX. In
al doilea rand, shell-ul este un limbaj de programare care d posibilitatea combinrii acestor
comenzi in activitti complexe.

Comenzi generale:
$ date - afiseaz data curent;
$ exit - inchide sesiunea de lucru;
$ man - aceast comand realizeaz o cutare a subiectului indicat in
sistemul de fisiere cu documentaie de care dispune eventual sistemul;
$ man man - pentru a afla informaii despre sistemul de manuale online;

Comenzi SHELL referitoare la fisiere:


$ mkdir nume_catalog - creeaz un nou catalog (director) cu
numele: nume_catalog, in directorul curent;
$ rmdir nume_catalog - sterge directorul nume_catalog;
acesta trebuie s nu conin nici un fisier;
$ pwd - afiseaz catalogul curent de lucru al utilizatorului;
$ cd [nume_catalog] - schimb catalogul curent, noul catalog de
lucru fiind cel specificat in nume_catalog;
$ ln nume_fisier nume_legatur - creeaz o noua legtur
cu numele la fisierul nume_fisier;
$ rm nume_fisier - sterge fisierul nume_fisier;
$ mv nume_vechi nume_nou - redenumeste/ mut un fisier;
$ cp fisier_surs fisier_destinaie - copiaz fisiere
$ find catalog_start -name fisier print - afiseaz
numele cataloagelor (din structura arborescent a crei rdcini este specificat
ca prim parametru al comenzii), care conin fisierul cu numele fisier.

10.Schema functional a Internetului (router, gateway, host)

Din punct de vedere functional in Internet sunt operationale trei tipuri de calculatoare (servere):

1. calculator router (de dirijare): calculator ce furnizeaz servicii de dirijare a informatiilor intre
dou noduri (calculatoare din retea), care se adreseaz prin emisie-receptie;
2. calculator gateway (de legtur): calculator de legtur intre nivelele retelei Internet si care
realizeaz conectarea intre dou retele distincte;
3. calculator host (gazd): calculator conectat la reteaua Internet pe unul din cele patru nivele
(utilizator, local, tara si mondial) de la care se pot cere servicii Internet.

11.Modelul client/server

Modelul client/server reglementeaz relatia intre dou programe de computer, unde


programul-client cere un serviciu programului-server, care rspunde acestei cereri.
De altfel, conceptul client/server poate fi utilizat si intr-un singur calculator, dar el devine
foarte important, de fapt un concept de baz, in retelele de calculatoare. Intr-o retea, modelul
client/server este un mijloc convenabil si eficient de interconectare a programelor aflate in locatii
geografice diferite.

In modelul uzual client/server exist un server, numit daemon ce functioneaz nonstop, care este activat s astepte cererile clientilor si s le inainteze altor
programe/procese/servere, care sunt capabile s rspund la aceste cereri. De exemplu, in
Internet, un browser Web este de fapt un program-client care cere un serviciu de la server Web.
Similar se petrec lucrurile, dac un client cu protocolul TCP/IP instalat cere/trimite fisiere prin
FTP (File Transfer Protocol).

12.World Wide Web

World Wide Web, prescurtat WWW sau simplu Web, este un system de distributie local
sau global a informatiilor hipermedia.
Din punct de vedere tehnic, spatiul Web nu trebuie confundat cu Internetul sau cu o
retea, cum se crede gresit uneori. Spatul Web este doar o aplicatie distribuit in Internet care
pune la dispozitia utilizatorilor un system global si standardizat de comunicare multimedia.

Deci, Web-ul este un sistem distribuit deschis utilizat pentru distribuia local sau global
a informatiilor, putand fi extins si implementat in diferite moduri fr a-i afecta funcyonalitatea.

World Wide Web are facilitti multimedia si integrative, o interfat grafic pentru utilizator
- GUI (Graphic User Interface) foarte atrgtoare din punct de vedere grafic, practic si simplu
de folosit (prietenoas).

Se utilizeaz in prezent, in general, inInternet pe baza modelului client/server. Clienii,


adic navigatoarele Web sau browserele Web, au acces la informayiile hipermedia si
multiprotocol organizate asociativ, aflate pe un server Web (cele mai cunoscute servere Web
sunt: Apache, Netscape Enterprise Server, Sun Web Server, Microsoft Internet
Information Server, Stronghold, Jigsaw).

Modelul client/server pentru calculatoarele conectate in retea angreneaz


trei componente in cazul unei aplicatii Web:
program client, este o aplicaie care de obicei ruleaz pe calculatorul
utilizatorului final;
program server, este o aplicaie care ruleaz de obicei pe calculatorul
furnizorului de informaii;
protocolul de reea, pe baza cruia se transport cererea de la client la
server si rspunsul de la server la client.

S-ar putea să vă placă și