This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
simultanee.Non implica multipli processori Richiede esecuzione “alternata” su un singolo processore
A
Tempo
B
C
Sia la concorrenza sia il parallelismo richiedono un accesso controllato a risorse condivise. Nel libro di testo i termini parallelo e concorrente sono utilizzati come sinonimi.Un azione a è concorrente a un’azione b se il loro ordine di esecuzione è indifferente
Processore condiviso da tre processiParallelismocomputazioni fisicamente
Se due processi che devono essere composti hanno delle azioni in comune, queste azioni sono dette condivise. Per mezzo di azioni condivise si modella l’interazione tra processi. Mentre le azioni non condivise possono essere alternate in modo arbitrario, un’azione condivisa deve essere eseguita nello stesso istante da tutti i processi che vi partecipano
{a1,..,ax}::P sostituisce ogni etichetta n di azione nell’alfabeto di P con le etichette a1.n,…,ax.n. Inoltre, ogni transizione (n->X) nella definizione di P è sostituita dalle transizioni ({a1.n,…,ax.n} ->X).
Il prefisso di processi è utile per modellare risorse condivise:RISORSA = (riserva->rilascia->RISORSA).
UTENTE = (riserva->usa->rilascia->UTENTE).
||CONDIVISIONE DI RISORSE = (a:UTENTE || b:UTENTE || {a,b}::RISORSA).
Queste funzioni assicurano che processi composti possano essere sincronizzati su azioni particolari
Le funzioni di relabeling sono applicate ai processi per rinominare le azioni. La forma generale di una funzione di relabeling è la seguente: /{newlabel_1/oldlabel_1,… newlabel_n/oldlabel_n}.
hiding di azioni - astrazione per ridurre la complessità
Applicato a un processo P, l’operatore di hiding \{a1..ax} rimuove i nomi di azioni a1..ax dall’alfabeto di P e rende queste azioni celate "silenti". Le azioni silenti sono etichettate tau. Azioni silenti in processi distinti NON sono condivise.
Applicato a un processo P, l’operatore di interfaccia @{a1..ax} nasconde tutte le azioni nell’alfabeto di P che NON appaiono nell’insieme a1..ax.
Talvolta è più appropriato specificare l’insieme di azioni che devono essere mostrate .... (operatore complementare)