Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di computer » Meccanismi di sincronizzazione tra processi

Meccanismi di sincronizzazione tra processi




Visite: 1137Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

Programma che mette in ordine un vettore


PROGRAMMA CHE METTE IN ORDINE UN VETTORE   Program uno; uses crt; const

Architettura 8086d


Architettura 8086d Le operazioni aritmetiche e di comparazione si applicano

Hardware


HARDWARE UNITA' CENTRALE DI ELABORAZIONE Definita con la sigla CPU, l'unità
immagine di categoria

Scarica gratis Meccanismi di sincronizzazione tra processi

MECCANISMI DI SINCRONIZZAZIONE TRA PROCESSI


Le macchine concorrenti seguono due modelli fondamentali: i modelli a MEMORIA COMUNE e i modelli a SCAMBIO DI MESSAGGI. Nel modello a memoria comune, che prenderemo ora in considerazione, la macchina è costituita da un certo insieme di unità di elaborazione (processori), le quali però fanno tutte uso di un'unica memoria condivisa.

Definiamo come RISORSA un qualunque componente passivo del sistema; una risorsa può essere quindi sia hardware che software ed è uno strumento utilizzato dai processi perché i loro flussi di controllo possano essere proseguiti.


Un processo è un'attività posta in essere dal SO. Dal punto di vista computazionale, esso non è altro che un programma in esecuzione e come tale è costituito da una sequenza di istruzioni. Un'istruzione come è noto è formata da codici operativi e (eventualmente) da operandi. Poiché è senz'altro vero che un processo ha bisogno degli operandi 'per andare avanti', in base alla generica definizione che abbiamo dato di risorsa, si può affermare che le risorse del processo sono i suoi operandi. Un operando dal canto suo può appartenere ad un tipo elementare (integer, byte etc.) o, più spesso, può far parte di una struttura dati (array, record, stack etc.). In generale le risorse di un processo sono l'insieme delle strutture dati sulle quali esso può operare.

La definizione di risorsa come di dato strutturato può sembrare limitativa o troppo legata ad un discorso teorico. Ma in realtà essa si adatta perfettamente alla realtà; si pensi alla specie più 'familiare' di risorsa, quella delle risorse fisiche, e in particolare dei dispositivi di I/O (dischi fissi, monitor, scanner, stampanti etc.). Un programma utente non può inviare direttive ad una stampante se non scrivendo (indirettamente, come vedremo) specifiche informazioni nei registri dell'interfaccia parallela. Questo pone evidentemente dei problemi di appartenenza a determinati tipi, di compatibilità fra tipi etc.. D'altro canto per un processo ogni risorsa, indipendentemente dalla sua natura, è sempre una STRUTTURA DATI ALLOCATA NELLA MEMORIA comune. Le operazioni definite sulle risorse sono espresse mediante procedure[1].


Una risorsa può essere utilizzata solo rispettando degli opportuni metodi di accesso. L'insieme di una struttura dati e dei metodi di accesso stabiliti per la sua gestione costituisce un OGGETTO. In questo caso si parlerà dunque dell'"oggetto" risorsa.


Se il modello adottato è quella della memoria comune, chiaramente anche le risorse saranno comuni, visto che le strutture dati ad esse associate risiedono su di una memoria che può essere acceduta da qualunque processo. Nel modello a scambio di messaggi si hanno invece più memorie locali e di conseguenza risorse private. Altra importante distinzione riguarda la modalità di allocazione delle risorse. Quando una risorsa è allocata STATICAMENTE, il processo che la usa ne ha visibilità durante tutta la propria esecuzione. Quando una risorsa è allocata DINAMICAMENTE, un processo ne ha visibilità solo durante determinati intervalli di tempo. In presenza di risorse comuni, è conveniente allocare le risorse dinamicamente ai processi. In questo modo infatti si possono agevolmente risolvere i conflitti fra i processi, sottraendo secondo necessità la visibilità delle risorse a determinati processi e concedendola ad altri.


Lo schema che segue classifica le risorse in private e comuni in base al modello di macchina e al tipo di allocazione che si scelgono.



RISORSE DEDICATE (visibili in ogni RISORSE CONDIVISE (visibili in ogni istante

istante da un solo processo) anche da più processi contemporaneamente)


ALLOCAZIONE PRIVATA COMUNE (a più processi nello stesso

STATICA tempo)


ALLOCAZIONE COMUNE (dedicata, ma a più

DINAMICA processi in tempi diversi) COMUNE







Poiché le operazioni definibili su tipi astratti di solito non sono preesistenti a livello di linguaggio macchina e devono essere programmate appositamente.

Scarica gratis Meccanismi di sincronizzazione tra processi
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...