TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e

  • Slides: 29
Download presentation
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse GIORGIO PORCU www. thegiorgio. it

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse GIORGIO PORCU www. thegiorgio. it © 2015 Giorgio Porcu - Aggiornamennto ISTITUTO TECNICO SECONDO BIENNIO

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Sommario • Processi Evoluzione dei

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Sommario • Processi Evoluzione dei Processi Modello a Processi Interrupt Context Switching © 2015 Giorgio Porcu - Aggiornamennto § § • Risorse § § Risorsa, Classe, Istanza, Molteplicità Risorse e Processi Tipologie di Risorse Grafo di Holt 2

Il Sistema Operativo Processi e Risorse © 2015 Giorgio Porcu - Aggiornamennto TECNOLOGIE E

Il Sistema Operativo Processi e Risorse © 2015 Giorgio Porcu - Aggiornamennto TECNOLOGIE E PROGETTAZIONE Processi Runnin g Ready Termin ate New Wait 3

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Processo Programma in esecuzione (su

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse 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. 4 © 2015 Giorgio Porcu - Aggiornamennto • Processo

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Evoluzione dei Processi (1/2) §

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Evoluzione dei Processi (1/2) § 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. 5 © 2015 Giorgio Porcu - Aggiornamennto In base alla loro evoluzione nel tempo, classifichiamo i processi in:

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse La competizione è l'evoluzione più

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse 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. 6 © 2015 Giorgio Porcu - Aggiornamennto Evoluzione dei Processi (2/2)

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • Modello a Processi Modalità

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • 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. 7 © 2015 Giorgio Porcu - Aggiornamennto Modello a Processi

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Stati di un processo Un

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse 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) © 2015 Giorgio Porcu - Aggiornamennto § § § Runnin g Ready Termin ate New Wait 8

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Interrupt HW • Interrupt ©

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Interrupt HW • Interrupt © 2015 Giorgio Porcu - Aggiornamennto 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. 9

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse § Interrupt SW (Interno) Lo

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse § 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 INT Process o INT Sistema Operativo Scheduler Risorsa HW CPU Interrupt HW Interrupt SW 10 © 2015 Giorgio Porcu - Aggiornamennto Interrupt SW

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Context switching Insieme delle operazioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Context switching 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 11 © 2015 Giorgio Porcu - Aggiornamennto • Context Switching (Cambio di contesto)

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse PCB Struttura dati che memorizza

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse PCB 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 Process o Stato PC Altre Info Istruzioni Dati PCB RAM 12 © 2015 Giorgio Porcu - Aggiornamennto • PCB (Process Control Block)

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE © 2015 Giorgio Porcu - Aggiornamennto Processi e

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE © 2015 Giorgio Porcu - Aggiornamennto Processi e Risorse P R 1 R 2 13

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorsa, Classe, Istanza © 2015 Giorgio

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorsa, Classe, Istanza © 2015 Giorgio Porcu - Aggiornamennto • Risorsa 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. 14

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorsa e Molteplicità © 2015 Giorgio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorsa e Molteplicità © 2015 Giorgio Porcu - Aggiornamennto • 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 15

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • Risorse e Processi Le

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • 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! 16 © 2015 Giorgio Porcu - Aggiornamennto Risorse e Processi

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Gestione delle risorse © 2015

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Gestione delle risorse © 2015 Giorgio Porcu - Aggiornamennto • 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. Processo P PROTOCOLLO GESTORE R Risorsa 17

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Tipologie di Richieste e Assegnazioni

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Tipologie di Richieste e Assegnazioni § 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. 18 © 2015 Giorgio Porcu - Aggiornamennto Una richiesta può essere:

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Tipologie di Risorse § Seriale

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse Tipologie di Risorse § 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. 19 © 2015 Giorgio Porcu - Aggiornamennto Una risorsa può essere:

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • Grafo di Holt Rappresentazione

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • Grafo di Holt 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. R P § Risorsa assegnata a un processo: freccia R P § Risorsa richiesta dal processo ma non assegnata: freccia P R R P 20 © 2015 Giorgio Porcu - Aggiornamennto Grafo di Holt: Simboli di base

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Esempio ©

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Esempio © 2015 Giorgio Porcu - Aggiornamennto Il grafo di Holt può essere corredato da informazioni su processi/risorse e sequenza di richieste: Ho 3 risorse (R 1, R 2, R 3) e 3 processi (P 1, P 2, P 3) 1. P 1 richiede R 1 2. P 2 richiede R 2 3. P 3 richiede R 1 // R 1 assegnata // R 2 assegnata // R 1 non assegnata R 1 R 2 R 3 P 1 P 2 P 3 21

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Classi §

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Classi § Classe di risorse: Rettangolo. § Istanza di risorsa: Cerchio pieno interno alla classe. © 2015 Giorgio Porcu - Aggiornamennto E' possibile realizzare il Grafo di Holt anche nel caso di classi di risorse con qualunque molteplicità. R 1 P 1 P 2 P 3 22

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Esempio con

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt: Esempio con Classi Ho 2 classi (R 1: molteplicità 2, R 2: molteplicità 1) 3 processi (R 1, R 2, R 3) P 1 richiede R 1 P 2 richiede R 1 P 3 richiede R 1 P 2 richiede R 2 // R 1(i 1) assegnata // R 1(i 2) assegnata // R 1 non assegnata // R 2(i 1) assegnata R 1 P 1 © 2015 Giorgio Porcu - Aggiornamennto 1. 2. 3. 4. R 2 P 3 23

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • Grafo di Holt ridotto

TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse • 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). P 2 24 © 2015 Giorgio Porcu - Aggiornamennto Grafo di Holt ridotto

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio (1/5) R 1 P 1 © 2015 Giorgio Porcu - Aggiornamennto Il grafo in figura (Esempio con Classi) è riducibile perché i due nodi processo P 1 e P 2 presentano solo archi entranti (solo assegnazioni e nessuna richiesta pendente). R 2 P 3 25

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio (2/5) Per ridurlo elimino in sequenza: R 1 P 1 © 2015 Giorgio Porcu - Aggiornamennto § gli archi su P 1 (riduzione per P 1) § gli archi su P 2 (riduzione per P 2) R 2 P 3 26

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio (3/5) R 1 P 1 © 2015 Giorgio Porcu - Aggiornamennto A questo punto le risorse su R 1 sono libere; posso far evolvere il processo P 3 trasformando la richiesta pendente in assegnazione: R 2 P 3 27

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse Grafo di Holt ridotto: Esempio (4/5) Anche il processo P 3 può ora evolvere nel tempo: R 1 P 1 © 2015 Giorgio Porcu - Aggiornamennto § Elimino l'arco su P 3 (riduzione per P 3) R 2 P 3 28

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse La situazione finale mostra 3

Il Sistema Operativo TECNOLOGIE E PROGETTAZIONE Processi e Risorse La situazione finale mostra 3 processi evoluti completamente: hanno terminato correttamente l'esecuzione utilizzando le risorse richieste ed assegnate. R 1 P 1 R 2 P 3 29 © 2015 Giorgio Porcu - Aggiornamennto Grafo di Holt ridotto: Esempio (5/5)