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

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Meccanismi di IPC Problemi classici di IPC
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Gestione della memoria centrale
Gestione dei processi A. Ferrari.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Domande di riepilogo sulla gestione del processore
Scheduling in Linux (Kernel 2.6)
Processi Concetto di processo Scheduling dei processi
INTRODUZIONE AI SISTEMI OPERATIVI
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Processi e Thread.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Threads: Sistemi Operativi I Corso di Laurea in Ingegneria Informatica
Struttura dei sistemi operativi (panoramica)
I Thread.
1 Gestione del processore Il modello a processi sequenziali.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Sistemi Operativi GESTIONE DEI PROCESSI.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
La schedulazione dei processi
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Threads.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
I processi.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
Il nucleo del Sistema Operativo
Database Concetti di base
Rappresentazione Dati Codificare informazioni nel Computer
Database Esercizi > Progettazione Fisica > SQL
Gestione del processore (Scheduler)
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Processi e Thread Processi e thread in Windows 2000.
L’esecuzione dei programmi
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 System Call ancora Vediamo passo passo come funziona una SC.
Informatica Generale Marzia Buscemi
Elaborazione Testi Elementi di Base
Concetti di base Computer, HW e SW
Elaborazione Testi Elementi di Base
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Elaborazione Testi Oggetti grafici
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
 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.
© 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.
Organizzazione Aziendale Strutture organizzative
© 2016 Giorgio Porcu - Aggiornamennto 21/04/2016 I STITUTO T ECNICO QUINTO ANNO G ESTIONE DEL P ROGETTO Realizzare un Progetto Informatico Pianificazione.
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Il Sistema Operativo Processi e Risorse
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
Il Sistema Operativo Gestione dei Processi
Il Sistema Operativo Programmazione Concorrente
Transcript della presentazione:

© 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 BOZZA: 31/01/2016

© 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

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

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

© 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

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

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

© 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

© 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

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

© 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

© 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

© 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

© 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

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

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