Studiu de caz asupra evoluției concurenței la nivelul limbajelor de programare

Previzualizare licența:

Cuprins licența:

1 INTRODUCERE
2 SISTEME CONCURENTE
2.1 EVOLUTIA SISTEMELOR DE CALCUL. APARITIA CARACTERISTICILOR SISTEMELOR CONCURENTE
2.2 ARHITECTURI DE SISTEME CONCURENTE
2.2.1 CLASIFICAREA DATA DE FLYNN PENTRU SISTEMELE DE CALCUL
2.2.2 O CLASIFICARE A SISTEMELOR CONCURENTE
2.2.2.1 SISTEME INERENT CONCURENTE
2.2.2.1.1 SISTEME IN TIMP REAL
2.2.2.1.2 SISTEME DE GESTIUNE A BAZELOR DE DATE SI DE PRELUCRARE A TRANZACTIILOR
2.2.2.1.3 SISTEME DE OPERARE SI SISTEME DE OPERARE DISTRIBUITE
2.2.2.2 SERVERE DE INFORMARE
2.2.2.3 APLICATII POTENTIAL CONCURENTE
2.2.2.3.1 REPLICAREA CODULUI. PARTITIONAREA DATELOR
2.2.2.3.2 PRELUCRAREA DATELOR IN PIPELINE
2.2.2.3.3 ALGORITMI CU STRUCTURA ARBORESCENTA A SPATIULUI DE SOLUTII
2.2.2.3.4 PARTAJAREA DATELOR
2.2.2.4 CERINTE PENTRU REALIZAREA APLICATIILOR CONCURENTE
2.2.3 O ALTA CLASIFICARE A SISTEMELOR CONCURENTE
2.3 O DEFINITIE A SISTEMULUI CONCURENT
2.3.1 PROPRIETATILE DE ATOMICITATE SI GRANULARITATE
2.3.2 PROPRIETATILE DE SIGURANTA SI VIVACITATE
2.4 ABORDARI COMPARATIVE PENTRU PARADIGMELE: CONCURENT, PARALEL, DISTRIBUIT
2.5 CONCURENTA IN SISTEME DISTRIBUITE
3 IMPLEMENTAREA SISTEMELOR CONCURENTE
3.1 PROCESE. FIRE DE EXECUTIE
3.1.1 CONCEPTUL DE PROCES
3.1.1.1 RELATII INTRE PROCESE
3.1.1.2 STARILE UNUI PROCES
3.1.1.3 OPERATII CU PROCESE
3.1.2 PROCESE MULTI - THREAD
3.1.3 ROLUL PROCESELOR IN IMPLEMENTAREA SISTEMELOR CONCURENTE
3.2 EVOLUTIA CONCURENTEI LA NIVELUL LIMBAJELOR DE PROGRAMARE
3.2.1 CONCURENTA LA NIVELUL LIMBAJELOR DE PROGRAMARE SECVENTIALE
3.2.2 CORUTINE
3.2.3 PARANTEZE PENTRU EXECUTIE NESECVENTIALA
3.2.4 SUPORTUL PROCESELOR PENTRU CARACTERIZAREA CONCURENTEI
3.2.5 TIPURI DE THREADURI
3.3 PROBLEMATICA CONCURENTEI
3.3.1 INTERACTIUNEA PROCESELOR
3.3.1.1 LOCALIZAREA PROCESELOR IN FUNCTIE DE STRUCTURA SOFT A SISTEMULUI
3.3.1.2 CERINTE PENTRU INTERACTIUNEA PROCESELOR
3.3.2 COMUNICAREA SI SINCRONIZAREA IN SISTEME CONCURENTE
3.3.2.1 COMUNICAREA DATELOR IN SISTEME CONCURENTE
3.3.2.2 SINCRONIZAREA PROCESELOR IN SISTEME CONCURENTE
3.3.3 EXCLUDEREA RECIPROCA
3.3.4 INTERBLOCAREA
3.4 PRIMITIVE PENTRU IMPLEMENTAREA CONCURENTEI. MECANISME IPC
3.4.1 PRIMITIVE LOW - LEVEL PENTRU SINCRONIZARE
3.4.1.1 SINCRONIZAREA PROCESELOR LA NIVEL DE EVENIMENT
3.4.1.2 SINCRONIZAREA PENTRU ACCES EXCLUSIV LA ZONE PARTAJATE
3.4.1.3 REZOLVAREA EXCLUDERII MUTUALE FOLOSIND ARBITRAJUL MEMORIEI COMUNE
3.4.1.4 TIPUL DE DATE SEMAFOR. FACILITATI SI LIMITE
3.4.2 PRIMITIVE DE LIMBAJ PENTRU CAZUL MEMORIEI PARTAJATE
3.4.2.1 MONITOARE
3.4.2.2 EXCLUDERE PE OBIECT
3.4.2.3 SINCRONIZAREA LA NIVELUL OPERATIILOR
3.4.2.3.1 EXPRESII DE TIP CALE
3.4.2.3.2 OBIECTE ACTIVE
3.4.3 PRIMITIVE DE LIMBAJ FARA PARTAJAREA MEMORIEI. TRANSMITEREA DE MESAJE
3.4.3.1 TRANSMITEREA ASINCRONA DE MESAJE
3.4.3.1.1 COMUNICAREA PRIN PORTURI SI CANALE
3.4.3.1.2 BROADCAST SI MULTICAST
3.4.3.1.3 PRIMITIVE DE CERERE. PRIMITIVE DE RASPUNS
3.4.3.2 TRANSMITEREA SINCRONA DE MESAJE
3.4.3.2.1 INVOCAREA LA DISTANTA. MECANISMUL RENDEZ - VOUS
3.4.3.3 IMPLEMENTAREA TRANSMITERII DE MESAJE
3.4.3.3.1 CANALELE OCCAM PENTRU COMUNICARE SINCRONA
3.4.3.3.2 ABSTRACTIZAREA LINDA
3.4.3.3.3 SOCKETS
3.4.4 SUPORTUL JAVA PENTRU CONCURENTA
3.5 PROBLEME CLASICE DE CONCURENTA
3.5.1 PROBLEMA ADUNARII CONCURENTE
3.5.2 PROBLEMA PRODUCATOR - CONSUMATOR
3.5.2.1 REZOLVAREA CU SEMAFOARE
3.5.2.2 REZOLVAREA CU MONITOARE
3.5.2.3 REZOLVAREA CU OBIECTE ACTIVE
3.5.3 PROBLEMA CITITOR - SCRIITOR
3.5.3.1 REZOLVAREA CU SEMAFOARE
3.5.3.2 REZOLVAREA CU REGIUNI CRITICE CONDITIONATE
3.5.3.3 REZOLVAREA CU MONITOARE
3.5.4 ALTE PROBLEME CLASICE DE CONCURENTA
4 LISTA FIGURILOR
5 BIBLIOGRAFIE

Extras din licența:

Referatul de fata isi propune o abordare generala a tematicii sistemelor concurente, in contextul modern al dezvoltarii sistemelor nesecventiale (paralele, concurente, distribuite). Marea amploare pe care a luat-o dezvoltarea aplicatiilor distribuite in ultimul deceniu ne indreptateste sa consideram aceasta tema de actualitate si de interes pentru cercetarea romaneasca. Din punct de vedere logic, referatul face parte din stagiul de pregatire pentru elaborarea lucrarii de doctorat care isi propune sa introduca un model formal pentru aplicatii nesecventiale. Acest prim referat este precedat de trei examene cu temele: limbaje formale, paradigme ale programarii (paralel, concurent, distribuit), sisteme distribuite si va fi urmat de un referat care va trata aspecte referitoare la modelarea sistemelor nesecventiale. Partea intai abordeaza nivelul fizic al sistemelor concurente de o maniera bottom-up. Astfel, primele paragrafe introduc mai multe clasificari ale sistemelor concurente, impreuna cu exemple de sisteme nesecventiale pentru tipologiile introduse. O data facuta legatura cu aplicabilitatea acestor tipuri de sisteme, in capitolul al treilea am propus o definitie a sistemelor concurente.

Aceasta definitie este completata in capitolele urmatoare de integrarea concurentei in tematica generala a sistemelor nesecventiale (paralele, concurente, distribuite). Din capitolul al patrulea trebuie remarcata diversitatea opiniilor in ceea ce priveste delimitarea celor trei concepte: paralel, concurent, distribuit.

Partea a doua abordeaza nivelul logic al sistemelor concurente, introducand o serie de mecanisme specifice de implementare a aplicatiilor concurente, mecanismele de comunicare intre procese (IPC). Partea centrala este capitolul opt care ia in discutie principalele caracteristici ale concurentei, dezvoltate si detaliate in capitolele urmatoare. Astfel, mecanismele IPC sunt descrise la cele trei nivele fundamentale: (1) low-level, (2) mecanisme bazate pe partajarea memoriei si (3) transmitere de mesaje (mecanisme fara partajarea memoriei). In capitolul al zecelea sunt enuntate o serie de probleme clasice (specifice) de concurenta. Dintre acestea, cele mai reprezentative sunt tratate in detaliu: problema adunarii concurente, problema producator-consumator si problema cititor-scriitor. partea i sisteme concurente EVOLUTIA SISTEMELOR DE CALCUL.

APARITIA CARACTERISTICILOR SISTEMELOR CONCURENTE Originea problematicii programarii concurente se regaseste la inceputul anilor 80. Dar, inainte de aceasta, se poate vorbi de aspecte concurente la nivelul sistemului de operare, mai ales odata cu aparitia calculatoarelor paralele si a retelelor de calculatoare. Cronologic vorbind, primele simptome de concurenta s-au manifestat la inceputul anilor 50, odata cu aparitia sistemelor seriale cu multiprogramare. Acestea au adus nou: (a) tehnica polling (prin care procesorul poate sonda periodic starea perifericelor), (b) lucrul cu intreruperi, (c) canalul de ...

Bibliografie:

ANDREWS G. R. - "CONCURRENT PROGRAMMING - PRINCIPLES AND PRACTICE" - REDWOOD CITY CA, BENJAMIN/CUMMINGS, 1991

ATHANASIU I. - "LIMBAJUL JAVA - O PERSPECTIVA PRAGMATICA" - COMPUTER LIBRIS AGORA, CLUJ - NAPOCA, 2000

BACON J. - "CONCURRENT SYSTEMS - OPERATING SYSTEMS, DATABASE AND DISTRIBUTED SYSTEMS: AN INTEGRATED APPROACH" - ADDISON - WESLEY, 1998

BEN - ARI M. - "PRINCIPLES OF CONCURRENT AND DISTRIBUTED PROGRAMMING" - ENGLEWOOD CLIFFS NJ: PRENTICE - HALL, 1990

BOIAN F. M. - "SISTEME DE OPERARE INTERACTIVE" - EDITURA LIBRIS, CLUJ - NAPOCA, 1994

BOIAN F. M. - "PROGRAMAREA DISTRIBUITA IN INTERNET - METODE SI APLICATII" - EDITURA ALBASTRA, CLUJ - NAPOCA, 1999

BRAUNL T. - "PARALLEL PROGRAMMING - AN INTRODUCTION" - PRENTICE - HALL, 1993

BRINCH HANSEN P. - "DISTRIBUTED PROCESSES: A CONCURRENT PROGRAMMING CONCEPT" - COMM. ACM 21(11), 1978

BURNS A. , DAVIES G. - "CONCURRENT PROGRAMMING" - ADDISON - WESLEY, 1993

CAMPBELL R. H. , HABERMAN N. A. - "THE SPECIFICATION OF PROCESS SYNCHRONIZATION BY PATH EXPRESSIONS" - LNCS 16 BERLIN: SPRINGER VERLAG, 1974

CAMPBELL R. H. , KOLSTAD R. B. - "AN OVERVIEW OF PATH PASCALS DESIGN AND PATH PASCAL USER MANUAL" - ACM SIGPLAN NOTICES 15(9), 1980

CHIOREAN I. - "CALCUL PARALEL - FUNDAMENTE" - EDITURA ALBASTRA, CLUJ - NAPOCA, 1995

COULOURIS G. F. - "DISTRIBUTED SYSTEMS - CONCEPTS AND DESIGN" - WOKINGHAM: ADDISON - WESLEY, 1999

DIJKSTRA E. W. - "THE STRUCTURE OF THE OPERATING SYSTEM" - COMM. ACM 11(5), 1968

DIJKSTRA E. W. - "GUARDED COMMANDS, NONDETERMINACY AND THEIR FORMAL DERIVATION OF PROGRAMS" - COMM. ACM 18(8), 1975

Descarcă licența

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Studiu de caz asupra evolutiei concurentei la nivelul limbajelor de programare
    • Bibliografie.doc
    • Cuprins.doc
    • Diploma.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Da
Nota:
8/10 (1 voturi)
Anul redactarii:
2001
Nr fișiere:
3 fisiere
Pagini (total):
99 pagini
Imagini extrase:
96 imagini
Nr cuvinte:
36 704 cuvinte
Nr caractere:
202 051 caractere
Marime:
158.28KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Licența
Domeniu:
Calculatoare
Predat:
la facultate din Bucuresti
Materie:
Calculatoare
Sus!