Comunicazione tra processi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
{{nota disambigua|altri significati della sigla IPC|[[Istruzioni Per Ciclo]]}}
LIn [[informatica]] l'espressione '''comunicazione tra processi''' (in inglese '''Inter-Process Communication''' o '''IPC''') si riferisce a tutte quelle tecnologietecnologi+e [[software]] il cui scopo è consentire a diversi [[Processo (informatica)|processi]] di comunicare tra loro scambiandosi dati e informazioni. I processi possono risiedere sullo stesso computer o essere [[calcolo distribuito|distribuiti]] su una [[rete di computer|rete]]. Tutti i [[sistema operativo|sistemi operativi]] multitasking forniscono qualche meccanismo fondamentale di IPC; altri meccanismi più sofisticati o orientati a particolari tipi di [[sistema software|sistemi software]] possono essere forniti da tecnologie [[middleware]], [[linguaggio di programmazione|linguaggi di programmazione]] o a [[livello applicativo]], basandosi sui meccanismi forniti dal sistema operativo. In modo equivalente, questi metodi vengono utilizzati per la gestione dei [[thread]].
 
==Descrizione==
 
Nel caso specifico di processi distribuiti, i meccanismi di comunicazione fra processi sono in effetti [[protocollo di rete|protocolli di rete]]. Si deve notare, tuttavia, che non tutti i protocolli di rete sono meccanismi di IPC; ai livelli bassi della gerarchia [[Open Systems Interconnection|ISO OSI]], infatti, il concetto di processo non compare, e i protocolli si limitano a farsi carico del trasferimento di dati fra computer. L'esempio forse più noto di protocollo di rete per lo scambio di informazioni fra processi è [[Transmission Control Protocol|TCP]]; per un esempio di IPC a livello di linguaggio di programmazione si pensi a [[Remote Method Invocation|RMI]] di [[Java (linguaggio)|Java]]. Di norma, i meccanismi di IPC per processi distribuiti permettono la comunicazione anche fra processi residenti sulla stessa macchina.