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