Sisteme de operare distribuite
Un sistem de operare distribuit există ca sistem unic de operare pe o scară de sistem informatică. Fiecare computer din rețea care rulează sub un sistem distribuit distribuie o parte din funcționalitatea acestui sistem global. Sistemul distribuit distribuie toate computerele din rețea în sensul că acestea lucrează în strânsă cooperare pentru a utiliza în mod eficient toate resursele rețelei de calculatoare. Sistemul distribuit, distribuind dinamic și automat lucrări pe diverse mașini ale sistemului pentru procesare, determină setul de mașini de rețea să funcționeze ca un uniprocesor virtual. Utilizatorul unui sistem distribuit, în general, nu știe ce mașină rulează pe care mașină.
Apariția rețelelor de interconectare a diferitelor calculatoare, a condus la dezvoltarea de instrumente, iar mai târziu sisteme care permit gestionarea așa-numita arhitectură multimashinnoy de operare, și anume totalitatea calculatoarelor completeaza (CPU, memorie, intrările O.) Conectate la rețea . În acest caz vorbim despre sisteme de calcul distribuite.
Arhitectură de sistem distribuită: fiecare computer este un modul autonom care constă în CPU, memorie și periferice. Respectarea modelul nu este rupt, chiar dacă computerul nu este un sistem de fișiere local: acesta trebuie să aibă periferice pentru a comunica cu alte mașini, și toate îi aparțin, și fișierele pot fi localizate pe un alt computer. Memoria fizică disponibilă pentru fiecare mașină este independentă de procesele care rulează pe alte mașini. Această caracteristică a sistemelor distribuite este diferită de sistemele multiprocesoare puternic cuplate. În consecință, kernelul sistemului pe fiecare mașină funcționează independent de condițiile externe ale mediului distribuit.
Există două tipuri de sisteme de operare distribuite. Sistemul de operare multiprocesor (sistem de operare multiprocesor) gestionează resursele multiprocesor. Sistemul de operare multicomputer (sistem de operare multicomputer) este dezvoltat pentru multicomputers omogene.
Există o mare asemănare între organizația multi-mașină și arhitectura unor multiprocesoare cuplate în mod liber; în ambele structuri, procesoarele sunt conectate printr-un canal de comunicare și nu printr-o memorie partajată. Diferențele sunt următoarele: 1) în cazul sistemelor distribuite (arhitectura multi-mașină), comunicarea între procesoare este relativ lentă (rețea), iar sistemele sunt independente; 2) în cazul sistemelor paralele (arhitectură multiprocesor), comunicațiile sunt efectuate rapid (magistrală), iar sistemele sunt relativ strâns legate.
Sistemele de operare distribuite, cum ar fi Mach și Chorus, pot fi utilizate atât pentru organizații multi-mașină, cât și pentru organizații multiprocesoare.
2) sisteme distribuite, cum ar fi "Newcastle". permițând comunicarea la distanță prin numele fișierelor șterse din bibliotecă. Fișierele șterse au o specificație (nume compozit), care în definiția căii de căutare conține caractere speciale sau o componentă suplimentară a numelui care precedă rădăcina sistemului de fișiere. Implementarea acestei metode nu implică modificarea kernelului sistemului, prin urmare, este mai simplă decât celelalte metode discutate în acest capitol, dar este mai puțin flexibilă.
3) sisteme distribuite absolut "transparente". în care să se facă referire la fișierele situate pe alte mașini, este suficient să se precizeze numele lor compuse standard; recunoașterea acestor fișiere ca fiind la distanță este responsabilitatea kernel-ului. Căile de căutare a fișierelor specificate în numele compușilor lor intersectează limitele mașinii la punctele de montare, indiferent de câte puncte sunt create atunci când se montează sisteme de fișiere pe discuri.
Organizarea distribuită a sistemului de operare vă permite să simplificați activitatea utilizatorilor în medii de rețea. Sistemul de operare distribuit implementează mecanisme care permit utilizatorului să reprezinte și să perceapă rețeaua sub forma unui calculator uniprocesor tradițional. Trăsăturile caracteristice ale organizației distribuite a sistemului de operare sunt: prezența unei resurse unice de serviciu de informații partajate, serviciul de timp unificat, utilizarea de apel de procedură la distanță (RPC) pentru distribuirea transparentă a procedurilor de programe pentru mașini, procesare multi-threaded, care permite să paraleliza calcule într-o singură sarcină și această sarcină imediat pe mai multe calculatoare de rețea, precum și disponibilitatea altor servicii distribuite.
Proiecte pentru crearea de sisteme de operare distribuite
Proiectul Globe este dedicat creării unor sisteme distribuite mari folosind obiecte comune și metode conexe. Dezvoltatorii pot genera aplicații folosind middleware, în loc să creeze programe de rețea direct pe baza stratului de transport, așa cum este acum. Copiile active ale obiectelor care interacționează pe bază de tip peer-to-peer vor fi disponibile simultan pe toate mașinile din sistemul distribuit și toți utilizatorii vor putea apela metodele obiectului. Abordarea va permite sistemelor să funcționeze fără stocarea centralizată a obiectelor, ceea ce face posibilă reducerea traficului în rețea și evitarea erorilor legate de inaccesibilitatea stocării. Globe extinde funcționalitatea sistemelor distribuite și crește viteza prin efectuarea de operații, cum ar fi returnarea conținutului unei pagini Web, primirea unui mesaj de poștă electronică, furnizarea accesului la un fișier sau căutarea unui nume de resursă într-un director.
Opus se bazează pe proiectul WebOS, care a fost implementat la Universitatea din Berkeley, în scopul de a oferi aplicații distribuite la serviciile de sistem de operare, inclusiv gestionarea resurselor, și mecanisme de descoperire pentru a, procesul de executie la distanta, de autentificare și de protecție. Opus adaugă un mecanism de suprapunere în pachetul WebOS, care permite aplicațiilor să își transfere în mod transparent cerințele către resursele rețelei centrale și apoi să utilizeze resursele furnizate. Acest lucru este extrem de important, deoarece pe o singură mașină, dezvoltatorii de aplicații pot folosi capabilitățile sistemului de operare local pentru a furniza servicii. Cu toate acestea, într-un sistem distribuit, dezvoltatorii de aplicații ar trebui să creeze propriile servicii, în conformitate cu setul de standarde și o varietate de servere de aplicații care necesită o mulțime de efort din partea programator și resurse considerabile de sistem. Opus rezolvă această problemă prin furnizarea de sisteme de operare de bază de servicii de Internet necesare pentru a crea aplicații care sunt distribuite, la prețuri accesibile, scalabile și dinamic configurabile.
metacomputing
Metacomputing - una din direcțiile de dezvoltare a internetului, care a stabilit sarcina de ștergere a barierelor între sistemele de calcul eterogene, distribuite spațial, creând supercalculatoare sau metacomputer că utilizatorii și programatorii ar acționa ca un mediu de calcul unic, direct accesibil de la stația de lucru (PC sau stație de lucru ).
Sistemele metacomputer pot fi caracterizate după cum urmează:
1. Combinați un număr mare de calculatoare cu diferite arhitecturi și capacități diferite printr-un mediu local sau global.
2. Asigurarea accesului transparent și uniform la metocomputer.
3. Aveți o configurație dinamică: sistemele informatice se pot conecta și deconecta de la sistem, fără a încălca funcționalitatea întregului sistem.
4. Nodurile de calcul practic nu interacționează între ele
Un mediu de operare distribuit este o nouă clasă de software necesară implementării ideii metacomputării
Gridul este un mediu distribuit, iar funcționarea acestuia este asigurată printr-o formă specială de software (SO) - servicii. Serviciile au o interfață de rețea, care permite serviciul clienți de la distanță. Spre deosebire de modelul client-server, un set de servicii este instalat în Grid pe fiecare resursă, deși serviciile serverului tradițional nu sunt, de asemenea, excluse.