Il Sistema Operativo Processi e Risorse

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Gestione della memoria
Gestione dei processi A. Ferrari.
Il Sistema Operativo.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Il problema dello stallo
Gestione del processore
Gestione del processore
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Deadlock Modello del sistema Caratterizzazione dei deadlock
Processi Concetto di processo Scheduling dei processi
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Risorse e Stallo.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
Sistemi Operativi GESTIONE DEI PROCESSI.
Il sistema operativo Vito Perrone
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Architettura degli elaboratori
La schedulazione dei processi
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
I processi.
Il nucleo del Sistema Operativo
Database Concetti di base
Rappresentazione Dati Codificare informazioni nel Computer
Gestione del processore (Scheduler)
Sistemi Elettronici Programmabili
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Processi e Thread Processi Thread
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
1 Risorse e Stallo 2 Risorse (1) Esempi di risorse –stampanti –nastri –tabelle I processi devono accedere alle risorse in un ordine ragionevole Supponiamo.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Generale Marzia Buscemi
Concetti di base Computer, HW e SW
Elaborazione Testi Elementi di Base
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Informazione.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.
© 2015 Giorgio Porcu - Aggiornamennto 04/11/2015 I STITUTO T ECNICO QUINTO ANNO G ESTIONE DEL P ROGETTO Elementi di Economica Informazione e Organizzazione.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
Il Sistema Operativo Gestione dei Processi
Transcript della presentazione:

Il Sistema Operativo Processi e Risorse Tipologie di Reti e di Mezzi trasmissivi - Giorgio Porcu Il Sistema Operativo Processi e Risorse Giorgio Porcu www.thegiorgio.it

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

Processi Ready Running New Terminate Wait

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.

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.

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.

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.

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

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.

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

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

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

Risorse P R1 R2

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.

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

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!

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

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.

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.

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

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

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

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

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

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

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

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

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

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