Sisteme concurente. Evolutia concurentei la nivelul limbajelor de programare

CUPRINS
      INTRODUCERE 1
partea i  sisteme concurente 5
      1.    EVOLUŢIA SISTEMELOR DE CALCUL. APARIŢIA CARACTERISTICILOR
        SISTEMELOR CONCURENTE     5
      2.arhitecturi de sisteme concurente     6
      2.1.Clasificarea dată de Flynn pentru sistemele de calcul     7
      2.2.O clasificare a sistemelor concurente    9
        2.2.1.Sisteme inerent concurente      10
         2.2.1.1.Sisteme în timp real  10
         2.2.1.2.Sisteme de gestiune a bazelor de date şi de prelucrare a
    tranzacţiilor 12
         2.2.1.3.Sisteme de operare şi sisteme de operare distribuite    13
        2.2.2.Servere de informare 15
        2.2.3.Aplicaţii potenţial concurente  16
         2.2.3.1.Replicarea codului. Partiţionarea datelor    17
         2.2.3.2.Prelucrarea datelor în pipeline   18
         2.2.3.3.Algoritmi cu structură arborescentă a spaţiului de soluţii
    18
         2.2.3.4.Partajarea datelor    19
        2.2.4.Cerinţe pentru realizarea aplicaţiilor concurente     19
      2.3.O altă clasificare a sistemelor concurente     19
      3.o definiŢie a sistemului concurent    21
      3.1.Proprietăţile de atomicitate şi granularitate  22
      3.2.Proprietăţile de siguranţă şi vivacitate 24
      4.    abordĂri comparative pentru paradigmele: concurent, paralel,
        distribuit     24
      5.concurenŢa În sisteme distribuite     26
partea a ii a  implementarea sistemelor concurente 29
      6.procese. fire de execuŢie  29
      6.1.Conceptul de proces      29
        6.1.1.Relaţii între procese     30
        6.1.2.Stările unui proces  31
        6.1.3.Operaţii cu procese  32
      6.2.Procese multi-thread     34
      6.3.Rolul proceselor în implementarea sistemelor concurente   35
      7.    EvoluŢia concurenŢei la nivelul limbajelor de programare      36
      7.1.Concurenţa la nivelul limbajelor de programare secvenţiale      37
      7.2.Corutine     38
      7.3.Paranteze pentru execuţie nesecvenţială  39
      7.4.Suportul proceselor pentru caracterizarea concurenţei     40
      7.5.Tipuri de threaduri      42
      8.    problematica concurenŢei    44
      8.1.Interacţiunea proceselor 44
        8.1.1.Localizarea proceselor în funcţie de structura soft a
  sistemului     45
        8.1.2.Cerinţe pentru interacţiunea proceselor    47
      8.2.Comunicarea şi sincronizarea în sisteme concurente   49
        8.2.1.Comunicarea datelor în sisteme concurente  49
        8.2.2.Sincronizarea proceselor în sisteme concurente   50
      8.3.Excluderea reciprocă     51
      8.4.Interblocarea      53
      9.    primitive pentru implementarea concurenŢei. mecanisme ipc     54
      9.1.Primitive low - level pentru sincronizare      57
        9.1.1.Sincronizarea proceselor la nivel de eveniment   588
        9.1.2.Sincronizarea pentru acces exclusiv la zone partajate 58
        9.1.3.Rezolvarea excluderii mutuale folosind arbitrajul memoriei
  comune    59
        9.1.4.Tipul de date semafor. Facilităţi şi limite      60
      9.2.Primitive de limbaj pentru cazul memoriei partajate  63
        9.2.1.Monitoare      64
        9.2.2.Excludere pe obiect  65
        9.2.3.Sincronizarea la nivelul operaţiilor  65
         9.2.3.1.Expresii de tip cale  66
         9.2.3.2.Obiecte active   66
      9.3.Primitive de limbaj fără partajarea memoriei. Transmiterea de
mesaje      67
        9.3.1.Transmiterea asincronă de mesaje      69
         9.3.1.1.Comunicarea prin porturi şi canale     71
         9.3.1.2.Broadcast şi multicast      72
         9.3.1.3.Primitive de cerere. Primitive de răspuns    73
        9.3.2.Transmiterea sincronă de mesaje 74
         9.3.2.1.Invocarea la distanţă. Mecanismul rendez-vous      75
        9.3.3.Implementarea transmiterii de mesaje  77
         9.3.3.1.Canalele occam pentru comunicare sincronă    77
         9.3.3.2.Abstractizarea Linda  78
         9.3.3.3.Sockets    78
      9.4.Suportul Java pentru concurenţă     79
      10.Probleme clasice de concurenŢĂ 81
      10.1.Problema adunării concurente 82
      10.2.Problema PRODUCĂTOR-CONSUMATOR     83
        10.2.1.Rezolvarea cu semafoare  83
        10.2.2.Rezolvarea cu monitoare  85
        10.2.3.Rezolvarea cu obiecte active   86
      10.3.Problema CITITOR-SCRIITOR    87
        10.3.1.Rezolvarea cu semafoare  88
        10.3.2.Rezolvarea cu regiuni critice condiţionate      90
        10.3.3.Rezolvarea cu monitoare  911
      10.4.Alte probleme clasice de concurenţă     92
      Lista figurilor -------------------------------------------------------
        ------------  94
      Bibliografie ----------------------------------------------------------
        ------------    95