<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>PROGRAMMAZIONE CONCORRENTE 1 by Chiara Viganò</title>
      <link>https://padlet.com/maxandsmusmi/lezione1</link>
      <description>Realizzato con i pinguini e gli gnu</description>
      <language>en-us</language>
      <pubDate>2017-02-12 14:47:07 UTC</pubDate>
      <lastBuildDate>2025-10-22 18:46:57 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet-assets.s3.amazonaws.com/icons/Terminator.png</url>
      </image>
      <item>
         <title>Cosa impareremo:</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153276515</link>
         <description><![CDATA[<div>- il concetto di programmazione concorrente<br>- a realizzare il grafo delle precedenze<br>- il concetto di interazione tra processi</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 14:47:43 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153276515</guid>
      </item>
      <item>
         <title>ELABORAZIONE SEQUENZIALE E CONCORRENTE (Lezione 1)</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153276724</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 14:51:18 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153276724</guid>
      </item>
      <item>
         <title>Generalità</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153277092</link>
         <description><![CDATA[<div><strong>Elaborazione sequenziale</strong>: esecuzione di un programma sequenziale che genera un processo sequenziale con un ordinamento totale alle azioni che vengono eseguite<br><br><strong>Programmazione concorrente: </strong>tecniche e strumenti impiegati per descrivere il comportamento di più attività o processi che si intende far eseguire contemporaneamente in un sistema di calcolo<strong> (processi paralleli) <br><br>Sistema concorrente:</strong> intendiamo un sistema software implementato su vari tipi di hardware che porta avanti contemporaneamente tante attività diverse, tra di loro correlate, che possono cooperare ad un obiettivo comune oppure possono competere per utilizzare risorse condivise&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 14:57:27 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153277092</guid>
      </item>
      <item>
         <title>Processi non sequenziali e grafo di precedenza</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153278386</link>
         <description><![CDATA[<div>Nei <strong>processi sequenziali</strong> la sequenza degli eventi che costituisce il processo è <em>totalmente ordinata</em></div><div>Se la rappresentiamo come un<strong> grafo orientato</strong> questo risulterà <em>totalmente ordinato</em> </div><div>L’ordine in cui vengono eseguiti è sempre lo stesso<br><br><strong>Grafo delle precedenze</strong>: grafo che descrive l’ordine con cui le azioni (o gli eventi) si eseguono del tempo </div><div>Nei <strong>processi paralleli</strong> l’ordinamento non è completo (l’esecutore per alcune istruzioni “è libero” di scegliere quali iniziare prima senza che il risultato sia compromesso)</div><div>Nella elaborazione parallela l’esecuzione delle istruzioni segue un <strong>ordinamento parziale<br><br></strong>Per la descrizione del grafo delle precedenze vengono utilizzati i seguenti simboli con i rispettivi significati:<br><br></div>]]></description>
         <enclosure url="https://padletuploads.blob.core.windows.net/prod/172102561/1edbf9c7dc5368532583bb5902cf8530/Immagine1.png" />
         <pubDate>2017-02-12 15:15:00 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153278386</guid>
      </item>
      <item>
         <title>Scomposizione di un processo non sequenziale</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153278431</link>
         <description><![CDATA[<div><strong>Processo non sequenziale</strong>: consiste nella elaborazione contemporanea di più processi che sono di tipo sequenziale</div><div>possono essere studiati, descritti e programmati singolarmente<br><br><strong>Scomposizione sequenziale</strong>: Un processo non sequenziale può essere scomposto in un insieme di processi sequenziali che possono essere eseguiti contemporaneamente<br><br>Le attività che i processi eseguono sono:</div><ul><li>attività completamente indipendenti</li><li>attività interagenti</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 15:15:44 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153278431</guid>
      </item>
      <item>
         <title>Esempio</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153279291</link>
         <description><![CDATA[<div>inizio<br>leggi X<br>leggi Y<br>leggi Z<br>k &lt;- max(X,Y);<br>k &lt;- max(K,Z);<br>scrivi k<br>fine</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 15:31:04 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153279291</guid>
      </item>
      <item>
         <title></title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153279463</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padletuploads.blob.core.windows.net/prod/172102561/1d6176a2cba0759a06f61dad8462bd56/Immagine2.png" />
         <pubDate>2017-02-12 15:33:20 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153279463</guid>
      </item>
      <item>
         <title></title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153279519</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padletuploads.blob.core.windows.net/prod/172102561/0c7fbf35c502019cd0c466c1d82242cf/Immagine3.png" />
         <pubDate>2017-02-12 15:33:50 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153279519</guid>
      </item>
      <item>
         <title>Eseguiamo</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153279623</link>
         <description><![CDATA[<div>(2*6) + (1+4) * (5-2)</div>]]></description>
         <enclosure url="https://padletuploads.blob.core.windows.net/prod/172102561/1850948eb21da78928c492e0ecdbaf25/Immagine4.png" />
         <pubDate>2017-02-12 15:35:19 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153279623</guid>
      </item>
      <item>
         <title>END</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153279786</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 15:37:47 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153279786</guid>
      </item>
      <item>
         <title>Processi completamente indipendenti</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153280519</link>
         <description><![CDATA[<div><strong>Processi indipendenti</strong>: l'evoluzione di un processo non influenza quella dell'altro<br>Due <strong>processi indipendenti </strong>devono lavorare su un <strong>insieme privato</strong> di variabili e ogni variabile che ciascuno di essi modifica non può essere utilizzata da nessun altro processo: l'unico caso in cui due <strong>processi indipendenti</strong> utilizzano una <strong>variabile comune</strong> è quello in cui su tale variabile effettuano solo <strong>operazioni di lettura</strong>.</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 15:49:34 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153280519</guid>
      </item>
      <item>
         <title>Processi interagenti</title>
         <author>maxandsmusmi</author>
         <link>https://padlet.com/maxandsmusmi/lezione1/wish/153280567</link>
         <description><![CDATA[<div>Processi interagenti: situazione in cui i due (o più) processi non possono evolvere in modo completamente autonomo&nbsp;</div><div>Devono interagire o volontariamente o involontariamente&nbsp;</div><div>La rappresentazione nel grafo delle precedenze dovrà necessariamente avere degli elementi comuni<br>&nbsp;<br>Classifichiamo le modalità di interazione tra processi in base alla loro conoscenza o meno della presenza degli altri.<br><br><strong>Processi totalmente ignari</strong></div><ul><li>sono indipendenti e non sono stati progettati per lavorare assieme ma “evolvono” in un ambiente comune</li><li>interagiscono tra loro in competizione sulle risorse e si devono quindi sincronizzare.</li></ul><div>Questa situazione viene gestita dal sistema operativo che deve essere arbitro della loro evoluzione. Deve effettuare la sincronizzazione all’accesso delle risorse ogni volta che i processi le richiedono.<br><br><strong>Processi indirettamente a conoscenza uno dell'altro</strong></div><ul><li>i processi sono a conoscenza dell’esistenza degli altri ma non ne conoscono il nome (o il PID )</li><li>non possono comunicare direttamente tra loro</li><li>devono cooperare per qualche motivo e possono scambiarsi i dati utilizzando risorse comuni, come aree di memoria condivisa.</li></ul><div>Il SO deve offrire dei meccanismi di sincronizzazione che rendano possibile la cooperazione</div><div><br></div><div><strong>Processi direttamente a conoscenza uno dell'altro</strong></div><ul><li>i processi devono cooperare per qualche motivo</li><li>comunicano tra loro conoscendo i propri nomi</li><li>possono quindi effettuare direttamente lo scambio di informazioni mediante invio di messaggi espliciti</li></ul><div>Il SO deve offrire dei meccanismi di sincronizzazione che rendano possibile la cooperazione&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2017-02-12 15:50:18 UTC</pubDate>
         <guid>https://padlet.com/maxandsmusmi/lezione1/wish/153280567</guid>
      </item>
   </channel>
</rss>
