Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni2 pagine

Modello A Processi-1

Il documento descrive il modello a processi, evidenziando la differenza tra programmi e processi, e come questi ultimi vengono rappresentati nel sistema. Viene trattata la multiprogrammazione, i processi cooperanti e indipendenti, e le dinamiche di competizione per le risorse. Infine, si discutono gli stati dei processi, la classificazione delle risorse e le richieste, oltre a strumenti come il grafo di Holt per identificare possibili deadlock.

Caricato da

sonobelo2
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni2 pagine

Modello A Processi-1

Il documento descrive il modello a processi, evidenziando la differenza tra programmi e processi, e come questi ultimi vengono rappresentati nel sistema. Viene trattata la multiprogrammazione, i processi cooperanti e indipendenti, e le dinamiche di competizione per le risorse. Infine, si discutono gli stati dei processi, la classificazione delle risorse e le richieste, oltre a strumenti come il grafo di Holt per identificare possibili deadlock.

Caricato da

sonobelo2
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 2

Modello a processi

- **Programma**: è un insieme di istruzioni scritte in un linguaggio di programmazione,


salvato in un file e pronto per essere eseguito. Un programma non fa nulla da solo finché
non è caricato ed eseguito.
- **Processo**: è un programma in esecuzione. Oltre al codice, include un’area di memoria
che contiene i dati (variabili e strutture) e altre informazioni come il contesto di esecuzione
e le risorse utilizzate.

Come viene rappresentato un processo istante per istante


Un processo è rappresentato nel sistema tramite:
- Codice del programma: le istruzioni da eseguire.
- Dati: le variabili e strutture dati del programma.
- Program Counter (PC): un registro che contiene l’indirizzo della prossima istruzione da
eseguire.
- Registri della CPU: contengono dati temporanei e informazioni di stato per il processo.
- Stack: (lifo: last in first out) pila di oggetti.

Multiprogrammazione
La multiprogrammazione è una tecnica che permette al sistema operativo di caricare più
processi in memoria contemporaneamente. La CPU può così passare rapidamente da un
processo all'altro, massimizzando il tempo di lavoro effettivo e riducendo i periodi in cui
rimane inattiva. È utile per:
- Efficienza: minimizza i tempi morti della CPU.
- Condivisione delle risorse: consente a più processi di utilizzare le risorse senza che
debbano aspettare troppo a lungo.

Processi cooperanti e indipendenti


- Processi cooperanti: possono interagire tra loro per condividere dati e risorse. Per
esempio, un processo che elabora dati e uno che li visualizza possono cooperare. Questa
cooperazione è utile per migliorare la funzionalità e ridurre i tempi di elaborazione.
- Processi indipendenti: non dipendono da altri processi né scambiano informazioni con
loro. Un esempio è un programma che esegue calcoli senza interazioni con altri processi.

Processi che competono e si ostacolano


- Processi in competizione: richiedono l'accesso alla stessa risorsa, ma uno solo alla volta
può usarla. Ad esempio, se più processi vogliono stampare su una sola stampante.
- Processi che si ostacolano: accade quando l’uso di una risorsa da parte di un processo
impedisce ad altri processi di continuare (es. blocco di un file aperto).

Modelli di computazione
Descrivono come vengono eseguiti i processi nel sistema:
- Sequenziale: esegue un solo processo alla volta.
- Parallelo: esegue più processi contemporaneamente, sfruttando CPU multiple o core
multipli.
Stati dei processi
Un processo attraversa diversi stati durante la sua esecuzione:
- Nuovo: all’avvio;
- In esecuzione: il processo sta usando la CPU.
- In attesa: il processo aspetta una risorsa o un evento esterno (es. input da tastiera).
- Pronto: il processo è pronto per essere eseguito ma attende che la CPU si liberi.
- Finito;

Risorsa e classificazione
Una risorsa è qualsiasi elemento richiesto per eseguire un processo (CPU, memoria,
dispositivi, file, ecc.).
- **Risorse statiche**: risorse costanti, come CPU e memoria fisica.
- **Risorse dinamiche**: risorse che possono cambiare nel tempo, come lo spazio su disco
o la quantità di memoria libera.

Time slice
Il **time slice** è il periodo di tempo fissato che il sistema operativo assegna a ciascun
processo per usare la CPU. Alla scadenza del time slice, se il processo non ha terminato,
viene sospeso e un altro processo può utilizzare la CPU. Serve per rendere la gestione della
CPU più equa tra i processi, specialmente in un sistema a multiprogrammazione.

Istanze e classi delle risorse


- Istanza: è una specifica copia o unità di una risorsa.
- Classe: un insieme di risorse dello stesso tipo (ad es. stampanti, CPU).
- Molteplicità: numero massimo di risorse

Allocazione, disponibilità e costo di una risorsa


- Allocazione: assegnazione di una risorsa specifica a un processo.
- Disponibilità: risorse libere che possono essere allocate.
- Costo: valore "costo" associato all'uso di una risorsa, come memoria usata o tempo di
CPU.

Classificazione delle richieste


Le richieste di risorse possono essere:
- Bloccanti: il processo attende finché la risorsa non è disponibile, rimanendo nello stato
di attesa.
- Non bloccanti: il processo continua senza dover attendere, gestendo in seguito la risorsa
mancante.

Grafo di Holt
È uno strumento grafico per rappresentare i processi e le risorse che richiedono. Aiuta a
identificare i blocchi che possono verificarsi quando i processi richiedono risorse non
disponibili e sono in competizione tra loro, formando possibili deadlock o blocchi totali
del sistema.

Potrebbero piacerti anche