80 likes | 267 Views
Esecuzione parallela dei processi. Di Luca Santucci 5° Progr. Esecuzione sequenziale . Esecuzione parallela. Parliamo di esecuzione parallela quando : l’esecuzione di u n sistema multiprogrammato è gestita in
E N D
Esecuzione parallela dei processi Di Luca Santucci 5° Progr.
Esecuzione sequenziale Esecuzione parallela Parliamo di esecuzione parallela quando : • l’esecuzione di un sistema multiprogrammato è gestita in modo efficace e veloce se si possono utilizzare meccanismi che facciano eseguire interi processi ,o parti di essi, in modo parallelo. • Si parla di esecuzione sequenziale quando: • - Il s.o. assegna a ogni processo le risorse necessarie nel momento in cui servono in modo da portare a compimento il lavoro.
Nell’elaborazione parallela anche un singolo programma viene suddiviso in più processi che vengono eseguiti in parallelo. Specialmente: Nel caso di programmi interattivi o che utilizzano la rete che lavorano in parallelo suddividendosi l’utilizzo della CPU.
Thread E’ una sequenza di istruzioni in corso di esecuzione. In un ambiente MULTITHREAD possiamo creare più thread contemporaneamente attivi.
Multithread Più sequenze di istruzioni che vengono eseguite contemporaneamente. Ci possono essere quindi, più thread attivi nello stesso programma. Il multithread sfrutta il fatto che un thread spende molto del proprio tempo aspettando una risorsa, per esempio la memoria, si renda disponibile o che un altro programma segnali che una certa condizione si è verificata.
Processo 1 Con un thread Processo 2 Con un thread Processo 3 Con tre thread
Nei primi due processi ci troviamo in ambienti single thread. • Nel 3° in un multithread. IL PROGRAM COUNTER All’interno di questi ambienti possiamo trovare il program counter: Esso si occupa di tracciare la directory, elencare le connessioni di rete aperte,e gestire i diritti di accesso alle varie risorse del sistema.