TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e
- Slides: 29
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 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 PROGETTAZIONE Processi Runnin g Ready Termin ate New Wait 3
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) § 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ù 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à 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 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 © 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 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 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 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 Risorse P R 1 R 2 13
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 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 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 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 § 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 (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 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 © 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 § 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 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 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 (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 (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 (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 (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 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)
- Sistema alimentare sostenibilità management e tecnologie
- Tesina sul progresso
- Mosaico tecnologie
- Cos'è il tic
- Nuove tecnologie fotovoltaico
- Ente per le nuove tecnologie
- Uso responsabile delle tecnologie
- Ente per le nuove tecnologie
- Interfaccia grafica windows 10
- Sistema operativo onion skin
- Qu es un sistema operativo
- Onion skin sistema operativo
- Que es el sistema europeo en dibujo tecnico
- Sistema operativo mono tarea
- Sistema informativo aziendale definizione
- Sistema operativo de equipos portatiles
- Sistema operativo con ambiente gráfico
- Sistema operativo monolitico
- Sistema operativo slax
- Entorno del sistema operativo windows
- Sistema operativo ms dos
- Sistema operativo funzioni
- Funciones de un sistema operativo
- Sistema operativo de ambiente gráfico
- Router sistema operativo
- Sistema operativo multitasking
- Imagenes del sistema operativo windows
- Principales características
- Estructura sistema operativo
- Sistemas operativos distribuidos