Sunteți pe pagina 1din 63

Universitatea de Stat din Moldova Departamentul de Informatica

Curs SISTEME de OPERARE DISTRIBUITE


Curs 1. Clasificarea SO. Clasificarea generala a sistemelor paralele de calcul.
Aurelia Prepelita, conf. univ., dr. Chisinau, 2011

Cuprins:
Istoria SO Familia SO UNIX Distributii LINUX Familia SO Windows Clasificarea general a sistemelor paralele de calcul Sisteme SMP si MPP Avantaje si dezavantaje SMP si MPP Bibliografia Intrebari de recapitulare

Istoria SO
Anii 1940 i 1950

I generatie de calculatoare; consola; biblioteca de programe de I / O; utilite.

Mijlocul anilor 1950

Sisteme monoprogram si multiprogram. Cele mai simple limbaje (Cobol, Fortran). Cerine pentru echipamente: protejarea memoriei; intreruperi; regim privilegiat; cronometru.

Mijlocul anilor 1960 Terminale, swapping, organizarea memoriei pe pagini i segmente.


1970 Partajarea timpului (timesharing 1 calculator pt mai multi utilizatori). Calculatoare multiprocesor, sisteme multicomputer. Limbajul Pascal. Reele de calculatoare, 1978: prima reea internaional, Internet. 1980 Calculatoare personale.

Istoria SO

1990 MPP

Istoria SO

Cele mai multe idei si algoritmi ce tin de sistemele de operare au fost realizate lamijlocul anilor 50 i 70 ai secolului trecut.

Familia SO UNIX

Istoria UNIX
SO Unix este folosit pe scar larg att pentru servere ct i pentru staii de lucru. Mediul de dezvoltare Unix i modelul de programare client-server au fost eseniale n dezvoltarea Internetului i trecerea de la sistemele de calculatoare individuale la sistemele de calculatoare n reea.

Istoria Unix

BSD - Berkeley Software Distribution

Istoria Unix
SO Unix a fost creat n mai multe etape. Totul a nceput n 1965-1969. Un grup de cercetatori de la Bell Labs, AT & T, in cadrul proiectului Multics (Multiuser Timesharing Interactive Computing System) pentru maini mari General Electric GE645.

Istoria Unix
n 1969, Bell Labs a decis s se retrag din proiect Multics, s se concentreze pe crearea unui SO mobil n cadrul titlului convenional UNIX. UNIX a fost scris iniial n limbajul asembler. Apoi, Dennis Ritchie, care a dezvoltat limbajul B, in 1973 a propus s rescrie partea principal a SO UNIX in limbajul B. In procesul realizarii acestei idei limbajul B a fost substantial perfectionat si a fost transformat n C.

Istoria Unix
n 1971, marca ctre Bell Labs. ani, UNIX a ediii n Bell, fost versiunile aptea (1979). UNIX a fost brevetata de Pe parcursul a mai muli trecut prin mai multe cele mai populare au a sasea (1976) i a

Istoria Unix
Popularitatea in crestere a UNIX a condus la faptul ca Universitatea Berkeley din California a elaborat versiunea SO UNIX - BSD (Berkeley Software Distribution)
pe baza caruia la comanda DARPA (Agenia de Proiecte Avansate militare ale SUA) compania BBN a realizat protocoalele TCP / IP n BSD 4.1. Astfel sa nscut Internet-ul.

Istoria Unix
Proiectul GNU a fost lansat n 1984 pentru a dezvolta un sistem de operare complet, similar UNIX-ului, care este software liber

"GNU Nu Unix" (n englez GNU Not Unix)

Istoria Unix
Standardizarea sistemelor de tip UNIX:

1980 - un efort de standardizare cunoscut sub numele de POSIX a asigurat o baz comun pentru toate sistemele de operare de tip UNIX. POSIX este un standard deschis, bazat pe structurile comune de date ntlnite n sistemele UNIX concurente pe pia la vremea respectiv. Standardul POSIX a fost publicat de IEEE n anul 1988.
1989- ANSI standartdul limbajului C (peste 16 ani dupa creare)

Istoria Unix
Sistemele UNIX actuale se bazeaz pe trei ramuri originale UNIX System V (produs de cei de la AT&T la mijlocul anilor 1980), BSD(ramur desprins din proiectul AT&T la sfritul anilor 1970) i respectiv GNU/Linux (produs ca replic gratuit i open-source la celelalte dou ramuri - nucleul e dezvoltat de Linus Torvalds ncepnd cu 1991, iar o mare parte din aplicaii sunt date de Proiectul GNU).

Fiecare distribuie de astzi se bazeaz pe una din aceste ramuri, dar a preluat i anumite caracteristici de la celelalte.

Istoria Unix
Principalele tipuri de distribuii UNIX aflate n producie la ora actual sunt: Solaris - produs de firma Sun Microsystems. Este distribuit att n versiune closed-source ct i in versiune open source numitOpen Solaris. Ruleaz pe arhitectura SPARC, x86 i x86-64. HP-UX - produs de firma HP. Ruleaz pe arhitectura PARISC i IA-64 AIX - produs de firma IBM. Ruleaz pe arhitectura PowerPC i POWER IRIX - produs de firma SGI. Ruleaz pe arhitectura MIPS MacOS X - produs de compania Apple pentru calculatoarele Macintosh. Este software comercial, bazat pe o combinaie de FreeBSD, nucleul Mach i tehnologii specifice Apple. Ruleaz pe arhitectura PowerPC i x86.

Istoria Unix
Principalele tipuri de distribuii UNIX aflate n producie la ora actual sunt:

Linux (sau GNU/Linux) - produs de multiple organizaii ntr-o gama larg distribuii, open-source n baza licenei GPL (licena) i disponibil gratuit. Ruleaz pe diverse arhitecturi, incluznd x86, x86-64, IA64, PowerPC, MIPS, PlayStation 2. Dintre distribuiile Linux cele mai importante amintim: Debian GNU/Linux, Fedora, Gentoo, Knoppix, Mandriva Linux, Red Hat Linux, Slackware, SuSE Linux i Ubuntu Linux. BSD - astzi open-source, i disponibil n trei distribuii principale: FreeBSD, NetBSD i OpenBSD. NetBSD rul eaz pe 54 de arhitecturi diferite, fiind portat inclusiv pe un microcontroller care controla un prjitor de pine.

SO LINUX
Linux este un SO, creat ca un hobby de ctre un tnr student, Linus Torvalds, la Universitatea din Helsinki, n Finlanda (1991). Linus a avut un interes n Minix, un mic sistem de operare derivat din UNIX, i a decis s dezvolte un sistem care sa depeasca standardele Minix. i-a nceput activitatea sa n 1991, cnd a lansat versiunea 0.02 i a lucrat n mod constant pn n 1994, cnd versiunea 1.0 a kernel-ului Linux a fost lansata. Kernelul dezoltat de Linus este inima tuturor sistemelor Linux, fiind dezvoltat i distribuit sub GNU General Public License, iar codul su surs este disponibil gratuit.

Distributii Linux

O distribuie Linux este un SO construit din nucleul Linux i o serie de pachete asortate, precum Sistemul de Ferestre X i software din proiectul GNU.

Familia SO Windows

OS/2 era un SO facut de cei de la Microsoft impreuna cu cei de la IBM, lansat in 1987

Usage share of operating systems

Operating systems used on top 500 supercomputers

Clasificarea SO

Clasificarea sistemelor de calcul


O mare varietate de calculatoare din lumepoate fi mprit n patru clase: - PC (Personal Computer - PC), platforme Intel, AMD, SO monoutilizator; - Statii de lucru (WorkStation - WS) SO UNIX, 1-4 RISC CPU; - Supercalculatoarele (Supercomputer - SC) - extrem de costisitoare sisteme multiprocesor. Se folosesc produse comerciale (procesoare) de obicei staiile de lucru. Prin urmare, diferena ntre ele nu este att de de ordin calitativ, ct cantitativ. De exemplu, se poate vorbi despre staii de lucru cu 4-procesore ale companiei SUN i supercalculator cu 64-procesore SUN; - Sisteme distribuite - alternativ mai ieftin, rapid sistemul este asamblat in baza calculatoarelor produse n mas.

Clasificarea sistemelor de calcul paralel


Sisteme de calcul paralel

SMP
(Symmetric Multi-Processing) (Shared Memory Processing) (Sisteme strans cuplate) UMA, COMA, NUMA, ccNUMA

MPP
(Massively Parallel Processing) (Sisteme slab cuplate)

Privire de ansamblu asupra arhitecturii calculatoarelor multiprocesor. sisteme MPP Aceast abordare a crescut semnificativ scalabilitatea sisteme multiprocesor, dar, la rndul su a necesitat elaborarea unei metode speciale de schimbul de date ntre nodurile de calcul, de obicei implementate ca un mecanism de transmitere a mesajelor (Message Passing). Calculatoare cu astfel de arhitectura sunt reprezentantii cei mai izbitori a sistemelor de MPP. n prezent, aceste doua directii (sau o combinaie a acestora) sunt dominante n dezvoltarea tehnologiei supercomputer.

Privire de ansamblu asupra arhitecturii calculatoarelor multiprocesor.

n prezent, dezvoltarea tehnologiilor de supercalculatoare are loc in patru directii principale: - supercalculatoare vectoriale - sisteme SMP - sisteme MPP - clustere de calculatoare

Sisteme multiprocesor (SMP) cu memorie partajata Sistemele cu memorie partajat se numesc sistemele n care mai multe procesoare au o memorie comun (partajata). SMP (symmetric multiprocessing, shared memory multiprocessor) (sisteme puternic cuplate)

SMP

Terminologie general pentru calculul paralel


Memorie partajat din punct de vedere strict hardware este o arhitectur n care toate procesoarele au acces direct (si de obicei bazat pe bus) la memoria fizic comun. n sensul programrii, formula descrie un model n care task-urile paralele au toate aceeasi imagine a memoriei si se pot adresa si pot accesa direct aceleasi locatii logice de memorie indiferent unde exist memoria fizic n realitate.

Terminologie general pentru calculul paralel


Memorie distribuit n sensul hardware se refer la accesul la o memorie, care fizic nu este comun, printr-o retea. Ca model de programare, task-urile pot vedea logic numai memoria local a masinii si trebuie s apeleze la comunicare pentru a avea acces la memoria altor masini unde alte task-uri sunt n curs de executie.

MPP (Massively Parallel Processing)

SMP
Memoria servete, n special, pentru a asigura comunicarea ntre procesoare. Toate procesoarele acceseaza in mod egal (simetric), au drepturi egale la adresarea aceelorasi celulele de memorie. Prin urmare, SMP-arhitectura este simetrica. SMP-sistem bazat pe magistrala de sistem de mare vitez.

SMP
Cele mai cunoscute sisteme SMP sunt -SMPserverele i staiile de lucru bazate pe procesoare Intel (IBM, HP, Compaq, Dell, ALR , Unisys, DG, Fujitsu, etc). ntregul sistem ruleaz sub dirijarea unui sistem de operare unic (de obicei, UNIX-like, dar pentru Intel-platform de suport Windows NT). SO in mod automat (n proces) aloc procesoarele proceselor, dar exista mai multe moduri de alocare si distribuire a proceselor pe procesoare (curs ).

SMP
Memorie unica SO unic Program unic (pt toate CPU) I/O unic S-a constatat c aceast arhitectur nu este potrivit pentru crearea sistemelor scalabile. Prima problem, un numr mare de conflicte atunci cnd mai multe procesoare acceseaz magistrala comuna. SMP tehnologia e valabila pentru a crea sisteme cu pana la 256 de procesoare cu o capacitate total de 2 *10^11 op /sec (200Gflops).

SMP (avantaje )
Principalele avantaje ale SMP-sistemelor: - Simplitatea in programare. arhitectura SMP nu impune restricii cu privire la modelul de programare utilizat pentru a crea aplicaii: de obicei e folosit modelul de fire paralele de executie, n cazul n care toate procesoarele funcioneaza independent unul de cellalt. In general sunt sisteme destul de eficiente de calcul paralel;

SMP (avantaje )
- de obicei, SMP-sistemele folosesc sistemul de rcire cu aer condiionat ceea ce faciliteaz ntreinerea acestora; - pre relativ scazut.

SMP (dezavantaje)
Dezavantaje: scalabilitate scazuta care mpiedic n mod evident creterea

productivitii prin creterea numrului de procesoare i numrul de utilizatori. n sistemele reale pot fi utilizate nu mai mult de 32 de procesoare. Pentru a construi sisteme scalabile bazate pe SMP este folosita arhitectura de tip clustere sau NUMA.

SMP
n scopul de a mari viteza de acces a memoriei principale, fiecare procesor este dotat cu o memorie tampon de mare vitez (cache) care la nivel hardware asigura coerena cache, ceea ce duce la creterea performantei acestor sisteme.

SMP
Problema de arhitectur cu magistral multiprocesor este scalabilitatea limitata, chiar i n cazul sistemelor cu memorie cache. Pentru a construi un sistem multiprocesor cu mai mult de 256 de procesoare este nevoie de alte metode. Fiecare procesor poate fi conectat la orice modul de memorie (comuna logic) prin intermediul comutatoarelor, care pot fi deschise i nchise de hardware. Atunci cnd procesorul dorete s acceseze un modul de memorie special, nod de legtur (comutatoarele) instantaneu organizeaza accesul solicitat.

SMP
Avantajul posibilitatea de acces simultan din partea mai multor procesoare a modulelor de memorie, dei n cazul n care dou procesoare simultan doresc s acceseze aceeai adreasa de memorie, unul dintre ele va trebui s atepte. Se realizeaza accesul paralel la module de memorie de catre diferite procesoare. Toate procesoarele executa acelasi program.

SMP

Degradarea performantei SMP in functie de numarul de procesoare


SMP are probleme cu scalarea memoriei partajate, dupa cum a fost mentionat mai sus: bus-ul memoriei devine loc ngust, este stangulant. Un exemplu de astfel de situatie l furnizeaz aplicatia PSTSWM (Parallel Spectral Transform Shallow Water Model) dezvoltat pentru a evalua algoritmii paraleli. n cod sunt ncorporati algoritmi paraleli multipli, care pot fi selectati n timpul executiei n raport cu dimensiunea problemei, cu numrul de procesoare, cu descompunerea datelor. O surs de detalii posibil: http://www.csm.ornl.gov/chammp/pstswm/. Graficul care urmeaz prezint performanta unei masini IBM p690 pe modelul PSTSW si sensibilitatea ei la ncrcare.

Degradarea performantei SMP in functie de numarul de procesoare

Degradarea performantei este o functie neted de numrul de proces(oar)e

Definitia unui sistem distribuit


Un sistem distribuit este un set de calculatoare independente (autonome) care apar utilizatorului ca un singur calculator (metacomputer), a crui utilizare nu este cu mult mai complicata dect a unui calculator personal.

Tipuri de sisteme de operare (de reea, distribuite, multiprocesor)


Exist dou abordri principale de organizare a sistemelor de operare pentru sistemele de calculatoare conectate la reea SO de reea i distribuite.

Tipuri de sisteme de operare (de reea, distribuite, multiprocesor)


Sisteme de operare de retea - calculatoarele au un grad ridicat de autonomie. Avei posibilitatea s comunicati cu alte calculatoare, sa accesati de la distan fiiere, dei ierarhia de directoare poate fi diferita pentru diferii clieni. Exemplu - servere de fisiere. Sistem de operare distribuit - un mecanism de comunicare global, sistem global de control al accesului, aceeai viziune a sistemului de fiiere. n general - iluzia de un singur calculator .

Sistem de operare multiprocesor - o singur coad de ateptare pentru procesele gata de executie, un sistem unic de fiiere.

Tipuri de sisteme de operare (de reea, distribuite, multiprocesor)


Sisteme de operare de retea. Reeaua este, n caz general, este folosita pentru transmiterea de coninut prin flux de la un server la clienti. Conceptual, astfel de abordri const din dou aplicaii izolate, un server i un client. Realizarea de scenarii complexe, este, prin urmare, complicat i predispus la erori - mai ales deoarece clientul nu detine controlul de obicei sau doar are un control limitat al serverului.

Tipuri de sisteme de operare (de reea, distribuite, multiprocesor)


Sistem de operare distribuit - un mecanism de comunicare global, sistem global de control al accesului, aceeai viziune a sistemului de fiiere. n general - iluzia de un singur calculator

Middleware

A distributed system organized as middleware


Middleware permite accesul la toate resursele din reea: dispozitive distribuite i componente software pot fi controlate n mod transparent i integrate ntr-o aplicaie.

App

App Middleware OS/hardware

App

A distributed system organized as middleware

Layers of software support heterogeneous computers and networks while offering a single-system view sometimes called middleware.

A distributed system organized as middleware


Four networked computers and three applications: 1. 2. 3. Application B is distributed across computers 2 and 3. Each application is offered the same interface Distributed system provides the means for components of a single distributed application to communicate with each other, but also to let different applications communicate. It aso hides the differences in hardware and operating systems from each application.

4.

Tipuri de sisteme de operare (de reea, distribuite, multiprocesor)

Principii de elaborare a SOD

Principii de elaborare a SOD


Algoritmi Centralizati (soluii ineficiente); Algoritmi Decentralizati (soluii bune):

Nici un calculator nu este informat pe deplin cu privire la starea intregului sistem;


Calculatoarele iau decizii bazate numai pe informaii locale; Eecul (blocarea) unui calculator nu cauzeaza caderea sistemului; Lipsa unui ceas global.

Referate
Istoria Unix Istoria Linux Istoria Mac OS Cloud computing Sisteme Grid Procesoare Intel, AMD Topologii MPP

Intrebari la tem:
Anii de creare SO UNIX, Linux, Mac, DOS, Windows.
Caracteristicile principale ale acestor SO, asemanari si diferente (SO monoutilizator-multiutilizator, monoprogram - multiprogram). Distributii Linux. Familia UNIX. Caracteristici de baza a sistemelor SMP, MPP.

Avantaje, dezavantaje SMP.


Avantaje, dezavantaje MPP. In care tip de sistem paralel de calcul (SMP sau MPP) un procesor are/nu are acces la memoria locala a altui procesor?

Bibliografie
1. 2. 3. DISTRIBUTED OPERATING SYSTEMS. Andrew S. Tanenbaum, PrenticeHall, Inc., 1995 ( ). (krukov@keldysh.ru) http://parallel.ru/krukov/ ADVANCED CONCEPTS IN OPERATING SYSTEMS. Mukesh Singhal, Niranjan G. Shivaratri, McGraw-Hill, Inc., 1994 CENTRALIZED AND DISTRIBUTED OPERATING SYSTEMS. Gary J. Nutt, Prentice-Hall, Inc., 1992 David W. Walker, "The design of a standard message-passing interface for distributed memory concurrent computers", Parallel Computing, v.20, n 4, April 1994, 657-673. (www.mpi-forum.org) A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, V. Sunderam, PVM 3 Users Guide and Reference Manual, Technical report, Oak Ridge National Laboratory ORNL/TM-12187 (1993). ., . . . . .: , 2003. (ISBN 5-272-00053-6, : 877). .. , .. , .. . . http://rsusu1.rnd.runnet.ru/tutor/method/index.html

4.
5.

6.
7. 8.

Bibliografie
9. . . . http://daily.sec.ru/dailypblshow.cfm?rid=45&pid= 10616 10. : . http://exelenz.ru/learning/parallel-lections/ 11. Chiorean, Calculul parallel - fundamente, Editura Albastra, Cluj-Napoca, 1995 12. Gh. Dodescu, B. Oancea, M. Raceanu, Procesare paralela , Editura Economic a, Bucuresti, 2002 13. A. S. Tanenbaum, Retele de calculatoare, Computer Press Agora, Bucuresti, 1998 14. A. S. Tanenbaum, Organizarea Structurata a Calculatoarelor, Computer Press Agora, Bucuresti, 1999

Terminologie general pentru calculul paralel


Comunicare obisnuit, task-urile paralele trebuie s schimbe date. Exist mai multe moduri n care se poate comunica: printr-un bus al memoriilor utilizat n indiviziune (partajat) sau printr-o retea. Overhead-ul paralel durata necesar pentru a coordona task-urile paralel, n opozitie cu executarea de lucru util.

Terminologie general pentru calculul paralel


Overhead-ul paralel poate include elemente de genul: Timpul de pornire a task-ului Sincronizrile Comunicarea de date Overhead-ul software impus de compilatoarele paralel, biblioteci, instrumente (tools), sistemul de operare etc. Timpul de ncheiere a task-ului

Terminologie general pentru calculul paralel


Masiv paralel se refer la un sistem hardware care constituie un sistem paralel dat, care are multe procesoare. Semnificatia lui multe este n crestere dar n prezent multe nseamn de la 1000 n sus.

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