La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il Sistema Operativo Processi e Risorse

Presentazioni simili


Presentazione sul tema: "Il Sistema Operativo Processi e Risorse"— Transcript della presentazione:

1 Il Sistema Operativo Processi e Risorse
Tipologie di Reti e di Mezzi trasmissivi - Giorgio Porcu Il Sistema Operativo Processi e Risorse Giorgio Porcu

2 Sommario Processi Risorse Evoluzione dei Processi Modello a Processi
Interrupt Context Switching Risorse Risorsa, Classe, Istanza, Molteplicità Risorse e Processi Tipologie di Risorse Grafo di Holt

3 Processi Ready Running New Terminate Wait

4 Processo Processo Programma in esecuzione (su un processore o CPU).
E’ entità dinamica rispetto al programma (insieme statico di istruzioni memorizzato su supporto fisico). A ogni processo è associato un insieme di risorse HW (Memoria, Periferiche) e SW da esso utilizzate. Le informazioni su ogni processo e le sue risorse sono mantenute in RAM in una struttura dati chiamata descrittore di processo (PCB, Process Control Block). Un processo si evolve nel tempo interagendo con le risorse e con altri processi.

5 Evoluzione dei Processi (1/2)
In base alla loro evoluzione nel tempo, classifichiamo i processi in: Processi indipendenti Si evolvono in modo autonomo senza comunicare. Processi cooperanti Cooperano (comunicano e si coordinano) per raggiungere obiettivi comuni. Un processo cooperante può influenzare o essere influenzato da altri. Processi in competizione Competono per l'utilizzo delle risorse e possono per esse entrare in conflitto.

6 Evoluzione dei Processi (2/2)
La competizione è l'evoluzione più comune dei processi. Si può dire in generale che: In un Sistema Operativo più processi nel tempo competono per l'utilizzo di risorse limitate L'indipendenza è l'unica evoluzione che garantisce la possibilità di eseguire i processi in parallelo. Il Sistema Operativo non conosce a priori come si evolveranno nel tempo i processi: questo, unito al fatto che i processori sono in numero limitato rende problematico un vero parallelismo, che sfrutterebbe al meglio l'architettura delle moderne CPU.

7 Modello a Processi Modello a Processi
Modalità classica di esecuzione dei programmi da parte del Gestore dei Processi del Sistema Operativo: Per ogni programma da eseguire su un computer il Sistema Operativo crea uno o più processi. Ogni processo è gestito dallo Scheduler utilizzando un algoritmo di scheduling e si evolve nel tempo passando attraverso differenti stati. I processi sono eseguiti usualmente in pseudoparallelismo (Modello a processi sequenziali) perché il numero delle CPU è limitato.

8 Stati di un processo Un processo si trova nel tempo in uno dei seguenti stati: New (nuovo) Ready (pronto) Running (esecuzione) Wait (attesa) Terminate (terminato) Ready Running New Terminate Wait

9 Interrupt HW Interrupt Modalità di comunicazione con il SO per sollecitare l'interruzione di un processo. Puo essere HW o SW: Interrupt HW (Esterno) Una risorsa HW (periferica) invia un segnale alla CPU per informare che è utilizzabile. Il SO rileva il segnale sulla CPU. Lo Scheduler blocca il processo attuale e manda in esecuzione quello che ha richiesto la risorsa, assegnandogliela.

10 Interrupt SW Interrupt SW (Interno) Lo Scheduler blocca un processo perché ha terminato il suo time slice e manda in esecuzione il successivo. Al verificarsi di un interrupt il SO esegue un operazione di context switching. Sistema Operativo Scheduler Processo Sistema Operativo Scheduler INT Risorsa HW INT CPU Interrupt HW Interrupt SW

11 Context switching Context Switching (Cambio di contesto)
Insieme delle operazioni di salvataggio/ripristino dati realtivi a un processo, eseguite tipicamente a causa di un interrupt: Salvataggio dati Tutti i dati del processo attuale sono salvati sul suo PCB. Il processo è posto in stato Wait. Ripristino dati I dati di un processo da eseguire sono estrapolati dal suo PCB. Il processo è posto in stato Running. Il Context switching è oneroso per CPU e Sistema

12 PCB PCB (Process Control Block) Struttura dati che memorizza le informazioni relative a un processo. E' composta da: PID (Identificatore processo) Stato del processo PC (Program Counter) Indirizzo in RAM della successiva istruzione del processo da eseguire Altre Informazioni PID Processo Stato PC Altre Info Istruzioni PCB Dati RAM

13 Risorse P R1 R2

14 Risorsa, Classe, Istanza
Elemento HW e SW utilizzabile da un processo. Le risorse di un Sistema sono suddivise in Classi: Classe di risorsa Insieme di risorse con caratteristiche comuni. ES: Byte o Locazioni della RAM, Registri della CPU, Insieme di stampanti Istanza di risorsa Specifica risorsa appartenente a una classe. ES: Specifica cella della RAM, singola stampante.

15 Risorsa e Molteplicità
Molteplicità di risorsa Numero di risorse appartenenti a una classe. ES: Numero di celle della RAM Numero di celle Molteplicità Singola cella Istanza RAM Classe

16 Risorse e Processi Risorse e Processi
Le risorse sono legate strettamente ai processi che in generale si evolvono competendo per il loro utilizzo. Nell'interazione tra risorse e processi giocano un ruolo chiave i concetti di: Richiesta La risorsa è richiesta da un processo ma non è detto possa essere assegnata. Assegnazione La risorsa è effettivamente assegnata a un processo. La richiesta precede sempre l'assegnazione!

17 Gestione delle risorse
Risorse e Gestore Le risorse sono controllate dal SO attraverso due meccanismi: Gestore della risorsa Programma, entità SW che ne regola l'utilizzo. ES: Driver di periferica Protocollo di accesso Procedura attraverso la quale il processo richiede, ottiene, utilizza e rilascia la risorsa. PROTOCOLLO P R Processo Risorsa GESTORE

18 Tipologie di Richieste e Assegnazioni
Una richiesta può essere: Bloccante: Il processo necessita della risorsa per evolversi; se non è assegnata si sospende e passa in stato Wait. Non Bloccante: Il processo può evolversi anche senza la risorsa e continua comunque la sua esecuzione. Una assegnazione può essere: Statica: La risorsa è dedicata al processo dalla sua creazione sino alla sua terminazione. Dinamica: La risorsa è assegnata al processo su richiesta e rilasciata al termine dell'utilizzo.

19 Tipologie di Risorse Una risorsa può essere:
Seriale (Ad accesso esclusivo) Non assegnabile a più processi contemporaneamente. Non seriale (Ad accesso condiviso) Consente l'accesso contemporaneo di più processi. Preemptive (Prerilasciabile) Può essere sottratta al processo durante l'esecuzione senza danneggiarne il lavoro. Non Preemptive (Non Preilasciabile) Non può essere sottratta al processo durante l'esecuzione senza provocare danni.

20 Grafo di Holt: Simboli di base
Rappresentazione grafica dell'evoluzione dei processi in termini di richieste e assegnazioni di risorse. Utilizza i seguenti simboli grafici di base: Risorsa: Quadrato. Processo: Cerchio. Risorsa assegnata a un processo: freccia RP Risorsa richiesta dal processo ma non assegnata: freccia PR R P R P R P

21 Grafo di Holt: Esempio Il grafo di Holt può essere corredato da informazioni su processi/risorse e sequenza di richieste: Ho 3 risorse (R1, R2, R3) e 3 processi (P1, P2, P3) P1 richiede R1 // R1 assegnata P2 richiede R2 // R2 assegnata P3 richiede R1 // R1 non assegnata R1 P1 P2 P3 R2 R3

22 Grafo di Holt: Classi E' possibile realizzare il Grafo di Holt anche nel caso di classi di risorse con qualunque molteplicità. Classe di risorse: Rettangolo. Istanza di risorsa: Cerchio pieno interno alla classe. R1 R1 P1 P2 P3

23 Grafo di Holt: Esempio con Classi
Ho 2 classi (R1: molteplicità 2, R2: molteplicità 1) 3 processi (R1, R2, R3) P1 richiede R1 // R1(i1) assegnata P2 richiede R1 // R1(i2) assegnata P3 richiede R1 // R1 non assegnata P2 richiede R2 // R2(i1) assegnata R1 P1 P2 P3 R2

24 Grafo di Holt ridotto Grafo di Holt ridotto
Evoluzione nel tempo di un Grafo di Holt. Si ottiene eliminando le assegnazioni sui processi senza richieste pendenti nell'ipotesi che le risorse già assegnate verranno in futuro rilasciate dal processo. Vale la regola pratica: Grafo di Holt riducibile Un Grafo di Holt è riducibile se presenta almeno un nodo processo con soli archi entranti (assegnazioni). P2

25 Grafo di Holt ridotto: Esempio (1/5)
Il grafo in figura (Esempio con Classi) è riducibile perché i due nodi processo P1 e P2 presentano solo archi entranti (solo assegnazioni e nessuna richiesta pendente). R1 R2 P1 P2 P3

26 Grafo di Holt ridotto: Esempio (2/5)
Per ridurlo elimino in sequenza: gli archi su P1 (riduzione per P1) gli archi su P2 (riduzione per P2) R1 R2 P1 P2 P3

27 Grafo di Holt ridotto: Esempio (3/5)
A questo punto le risorse su R1 sono libere; posso far evolvere il processo P3 trasformando la richiesta pendente in assegnazione: R1 R2 P1 P2 P3

28 Grafo di Holt ridotto: Esempio (4/5)
Anche il processo P3 può ora evolvere nel tempo: Elimino l'arco su P3 (riduzione per P3) R1 R2 P1 P2 P3

29 Grafo di Holt ridotto: Esempio (5/5)
La situazione finale mostra 3 processi evoluti completamente: hanno terminato correttamente l'esecuzione utilizzando le risorse richieste ed assegnate. R1 R2 P1 P2 P3


Scaricare ppt "Il Sistema Operativo Processi e Risorse"

Presentazioni simili


Annunci Google