Page 374 - Informatica dalla A a Z
P. 374

Dati e Informazioni



           Informazione è tutto ciò che ha un significato per l’uomo. Essa prevede un insieme di re-

           gole chiamate “codice”. Il suo esempio più semplice è costituito dalla lingua parlata.

           Esiste una distinzione tra dato e informazione:

           • il dato descrive aspetti elementari di entità o fenomeni

           • l’informazione è costituita da un insieme di dati elaborati e presentati sulla base dell’esi-

           genza di utilizzo pratico da parte delle persone interessate.

           Il trattamento dei dati per ottenere le informazioni viene indicato con il termine elabora-
           zione.





                                                Programmazione Parallela




           Per sfruttare i sistemi multicore, deve cambiare il modo di pensare ai programmi. Si deve
                                                                                                        362
           fare riferimento sempre più spesso ai concetti di programmazione “Concorrente  e Pa-
                                                              364
                  363
           rallela “. La differenza è sottile: due thread  eseguiti sullo stesso core, sono una forma
           di concorrenza, ma se sono eseguiti su due core distinti sono una forma di parallelismo,
           perché procedono in parallelo. Per questo possiamo affermare che ogni programma paral-
           lelo è anche concorrente, mentre non è sempre vero il contrario.

           La comunicazione tra diversi processi è detta IPC (Inter-process communication) e avviene

           in due diversi modi: condividendo una zona di memoria (le informazioni risultano così con-
           divise tra i vari processi) o tramite uno scambio di messaggi, dove un processo prepara
           l’informazione e la consegna al processo di destinazione. Questo porta a tutta una serie di

           problematiche difficili da prevedere e quindi da affrontare.

           Per questo il modo più veloce di programmare è quello di usare i “thread”. Essendo questi
           costituiti da linee di esecuzione all’interno dello stesso processo, condividono interamente

           la memoria e pertanto, grazie all’utilizzo delle variabili globali, i dati saranno accessibili da
           tutti i thread, senza ricorrere a particolari artifizi.










           362  La programmazione concorrente risulta dalla composizione di processi indipendenti.
           363  La programmazione parallela, invece, prevede l’esecuzione simultanea di più calcoli, spesso collegati.
           364  Il thread è una suddivisione di un processo in due o più sottoprocessi, che vengono eseguiti concorrentemente.
                                                            370
   369   370   371   372   373   374   375   376   377   378   379