SISTEMI OPERATIVI THREAD. Giorgio Giacinto 2013. Sistemi Opera=vi

Documenti analoghi
SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Capitolo 5: I thread

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

GESTIONE DEI PROCESSI

Corso di Sistemi di Elaborazione delle informazioni

Architettura di un sistema operativo

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

L API socket ed i daemon

Approccio stratificato

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Il Concetto di Processo

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Il sistema operativo TinyOS

Sistemi Operativi (modulo di Informatica II) I processi

Capitolo 3: Strutture dei sistemi operativi

Mul&programmazione. Ges&one dei processi. Esecuzione parallela. MAC OSX Monitoraggio a9vità. Linux System monitor. Windows Task Manager. A.

Java Virtual Machine

Il Software. Il software del PC. Il BIOS

Protezione. Protezione. Protezione. Obiettivi della protezione

I THREAD O PROCESSI LEGGERI Generalità

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Pronto Esecuzione Attesa Terminazione

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Informatica. Prof. A. Longheu. Introduzione a Java

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Introduzione ai sistemi operativi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Multithreading in Java. Fondamenti di Sistemi Informativi

Lo scheduler di UNIX (1)

Capitolo 3 -- Silberschatz

2. I THREAD. 2.1 Introduzione

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

La torta caprese. Ingredienti. Istruzioni: 5 uova 8 cucchiai di zucchero 1/8kg di burro ¼kg di mandorle dolci 100gr di cioccolato fondente

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Corso di Informatica

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Scheduling della CPU

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

Telematica II 17. Esercitazione/Laboratorio 6

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

NozionidiBase di Informatica

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D

Introduzione ai Sistemi Operativi

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

I thread. Motivazioni e definizione. Modelli di programmazione multithread. Librerie per i thread. Problemi nella programmazione multithread

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Il Sistema Operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Corso di Informatica

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI

Linux nel calcolo distribuito

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Lezione 5. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

InitZero s.r.l. Via P. Calamandrei, Arezzo

Scheduling della CPU Simulazione in linguaggio Java

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Più processori uguale più velocità?

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Capitolo 2 -- Silberschatz

Posix Threads: l evoluzione dei processi UNIX

Il modello a thread : motivazioni

Struttura del calcolatore

Siti web centrati sui dati (Data-centric web applications)

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

2. Strutture dei Sistemi Operativi

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Sistemi operativi. Esempi di sistemi operativi

Architetture software. Virtualizzazione

PARTE 4 La Macchina Software

Approfondimenti. Contenuti

Sistemi operativi e reti A.A Lezione 2

CPU. Maurizio Palesi

Database. Francesco Tapparo Informatica e Bioinformatica /16

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Virtualizzazione e Macchine Virtuali

Architetture Applicative

Il descrittore di processo (PCB)

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Fasi di creazione di un programma

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Transcript:

SISTEMI OPERATIVI THREAD 2

Mo*vazioni» Un programma complesso può eseguire in modo concorrente più funzioni agraverso la creazione e ges=one di processi figli agraverso il meccanismo dei thread» La creazione e ges=one di più thread all interno di ciascun processo è più leggera rispego all uso di processi concorren=» Requisi= Librerie di ges=one Vantaggi con supporto hardware al mul=threading Vantaggi nel caso di architegure mul=core 3 Thread» Unità di base d uso della CPU» Le risorse sono assegnate al processo TuQ i thread di un processo condividono le risorse del processo (memoria, file aper=, ecc.) ma hanno un loro program counter, registri, stack 4

Mul*threading 5 Impieghi del mul*threading» Programmi applica=vi ges=one interfaccia grafica, input, validazione input» Server thread dedica= a ciascun client» Sistemi opera=vi diverse funzionalità implementate come thread mul=pli 6

Esempio: Archite>ura server mul*thread 7 Vantaggi mul*threading» Tempo di risposta Un thread bloccato non blocca necessariamente l intero processo» Condivisione delle risorse I thread di uno stesso processo possono cooperare senza coinvolgere il sistema opera=vo» Economia Ges=re i thread è in genere meno oneroso che ges=re processi concorren=» Scalabilità Esecuzione più rapida su architegure mul=processore 8

Esempio Pthreads 9 Esempio Pthreads Example Pthreads (Cont.) (Cont.) 10 perating System Concepts ñ 9 th Edition 4. 20 Silberschatz, Galvin and Gagne 2013

Pthreads Code for Joining 10 Threads Pthreads Codice per il join di 10 thread Operating System Concepts ñ 9 th Edition 4. 21 Silberschatz, Galvin and Gagne 2013 11 Programmazione mul*core» Il progego di una applicazione che sfruq a pieno le architegure mul=core è complesso Individuare i task fra loro indipenden= Bilanciamento del carico fra i vari task Separazione dei da= + per parallelizzare l accesso ai da= Dipendenze dei da= + evitare incoerenze fra da= elabora= da task diversi Test e debugging + complicato dalle aleatorietà dei flussi d esecuzione 12

Esecuzione concorrente su un sistema a singolo core 13 Esecuzione parallela su un sistema mul*core 14

15 Thread a livello utente e Thread a livello kernel» Thread a livello utente Sono ges== senza l intervento del sistema opera=vo Librerie dei linguaggi di programmazione» Thread a livello kernel Sono ges== diregamente dal sistema opera=vo Supporta= da Windows, Linux, Mac OS X, Solaris, ecc. 16

Modello da mol* a uno» Scheduling thread indipendente dal sistema opera=vo» Una chiamata bloccante al kernel blocca l intero processo» Non sono possibili chiamate concorren= al kernel» Nessun vantaggio in caso di architegura mu=processore 17 Modello da uno a uno» Non ha gli svantaggi del modello precedente» Svantaggio di questo modello Possibile creazione di troppi thread a livello kernel» Modello usato da Windows e Linux 18

Modello da mol* a mol*» Thread a livello kernel in numero inferiore o uguale al numero di thread a livello utente 19 Modello a due livelli 20

21 Librerie» La programmazione mul=thread avviene per mezzo di API messe a disposizione da specifiche librerie. Librerie a livello utente + Invocare la libreria non coinvolge il kernel Librerie a livello di kernel» Librerie più diffuse Pthreads di POSIX (a livello utente e kernel) Win32 (livello kernel) Java (livello utente ma agraverso JVM usano librerie del sistema opera=vo ospitante) 22

23 Principali aspeh problema*ci» Comportamento delle chiamate di sistema fork() e exec()» Cancellazione di thread è il nome dato alla terminazione forzata» Ges=one dei segnali invia= ai processi» Creazione di gruppi di thread (thread pool) La richiesta di un servizio viene soddisfaga da uno dei thread nel gruppo non ancora impegnato» Associazione ai thread di da= specifici» Comunicazione fra libreria del kernel e libreria dei thread (LWP e aqvazione dello scheduler) 24

AHvazione delle scheduler Modelli mol= a mol= e a due stadi» LWP - LightWeight Process StruGura da= intermedia Messa a disposizione dal kernel + Di solito una per ogni chiamata di sistema bloccante + Numero massimo fissato dal sistema La libreria a livello utente effegua lo scheduling sui LWP 25