La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 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.

Presentazioni simili


Presentazione sul tema: "© 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."— Transcript della presentazione:

1 © 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 ORCU www.thegiorgio.it BOZZA: 31/01/2016

2 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Sommario  Processo e Immagine  Thread  LightWeight Process Realizzazione di Thread  Implementazione di Thread  Multitasking e Multithreading  Stati di un Thread 2

3 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 Thread T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread 3

4 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Processo e Immagine 4 Processo Programma in esecuzione (su un processore o CPU) cui è associato: 1.Un descrittore di processo (PCB). 2.Un'area di memoria RAM contenente istruzioni e dati detta spazio di indirizzamento del processo. 3.Un insieme di risorse HW e SW da esso utilizzate. L'insieme dei dati contenuti nel PCB e nello spazio di indirizzamento prende il nome di immagine del processo.

5 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Immagine del Processo 5 PID PC Altre Info ProcessoProcesso Stato PCB Istruzioni Dati Spazio di indirizzamento Risorsa 1 Risorsa 2 Risorsa N Risorse Immagine

6 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Thread 6 Porzione di processo parallelizzabile. Segmento di codice eseguibile in parallelo con altri thread dello stesso processo e dichiarato come tale dal programmatore. A ogni thread sono associati:  Una struttura dati detta descrittore di thread (TCB, Thread Control Block) simile al PCB.  Uno spazio di indirizzamento e un insieme di risorse condivise con gli altri thread dello stesso processo.

7 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread LightWeight Process 7 Un thread è detto anche processo leggero (LightWeight Process) perché meno oneroso da gestire per il sistema rispetto a un processo standard. Infatti:  Il thread è molto più veloce da eseguire.  La memoria RAM e le risorse associate sono condivise con altri thread mentre processi diversi necessitano di memoria e risorse specifiche.  L'operazione di context switching per il passaggio a un nuovo thread è più semplice perché i dati da salvare e ripristinare sono minori e condivisi.

8 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Thread n Thread e Processo 8 Thread 2 Thread 1 ProcessoProcesso … Thread 2 Thread n Codice Processo

9 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Thread n Thread e Risorse 9 TID Altre Info Thread 1 TCB Istruzioni Dati Spazio di indirizzamento Risorsa 1 Risorsa 2 Risorsa N Risorse Condivise da Thread nello stesso processo Thread 3 Thread 2

10 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 Thread T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Realizzazione di Thread 10

11 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Implementazione di Thread Un thread può essere realizzato in due modalità:  User level (livello utente) Il Thread è gestito direttamente dal processo che lo ha creato e il kernel ne ignora l’esistenza.  Kernel level (livello kernel) Il Thread è gestito dal kernel utilizzando lo Scheduler. 11

12 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Thread User-Level Il processo gestisce i thread utilizzando librerie SW (thread package) contenti le funzioni per la loro gestione. +Efficienza di gestione: tempi di switching ridotti perché non si richiama il kernel +Implementabili su qualunque Sistema Operativo -Se un Thread effettua una System Call blocca se stesso, il processo e tutti gli altri thread perché visti come entità unica dal kernel -Non eseguibile in vero parallelismo 12

13 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Thread Kernel-Level Il kernel utilizza uno Scheduler che riconosce e gestisce opportunamente i Thread assieme ai processi con un modello a stati e opportuni algoritmi. +Eseguibile in parallelismo reale su architetture multiprocessore +Una System Call non blocca il processo -Efficienza di gestione: tempi di switching maggiori e schedulazione più complessa per la compresenza di Thread e processi 13

14 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Multitasking e Multithreading (1) Un Sistema operativo, in base al supporto di processi e Thread si definisce:  Multitasking Può eseguire più processi in contemporanea.  Multithreading Può eseguire più Thread in contemporanea all’interno dello stesso processo. Non è detto che Processi e Thread in contemporanea siano eseguiti fisicamente in parallelo: dipende dalle caratteristiche HW e SW del PC e dalla sua gestione. 14

15 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Multitasking e Multithreading (2) 15

16 © 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread Stati di un Thread 16


Scaricare ppt "© 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."

Presentazioni simili


Annunci Google