Processi e Concorrenza nei Sistemi Distribuiti
|
|
- Gianfranco Colucci
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Processi e Concorrenza nei Sistemi Distribuiti Corso di Sistemi Distribuiti e Cloud Computing A.A. 2016/17 Valeria Cardellini Processi nei SD Sistema distribuito: composto da un insieme di processi in esecuzione su più nodi del sistema I processi possono comunicare, sincronizzarsi e cooperare con le stesse modalità sia se sono in esecuzione su nodi remoti, sia sullo stesso nodo Algoritmo distribuito: algoritmo eseguito da un insieme {P 1, P 2,, P n } dove P i è un processo Nessun processo conosce lo stato attuale dell intero sistema I processi basano le proprie decisioni sui dati che possiedono Il fallimento di un processo non dovrebbero compromettere lo scopo dell algoritmo Valeria Cardellini - SDCC 2016/17 1
2 Processori, processi e thread Costruire processori virtuali a livello software, al di sopra dei processori fisici Processore: fornisce un insieme di istruzioni, con la capacità di eseguire una sequenza di queste istruzioni Thread: processore software minimale nel cui contesto può essere eseguita una sequenza di istruzioni Eseguire un thread: eseguire una sequenza di istruzioni nel contesto di quel thread Salvare il contesto del thread: interrompere l esecuzione corrente e salvare tutti i dati necessari a continuarne l esecuzione successivamente Processo: processore software nel cui contesto possono essere eseguiti uno o più thread Valeria Cardellini - SDCC 2016/17 2 Processi e thread in Unix Processo Unix Thread in un processo Unix Valeria Cardellini - SDCC 2016/17 3
3 Processi e thread a confronto Cambio di contesto più costoso tra processi: occorre salvare tutte le informazioni richieste nel descrittore di processo Creazione e distruzione di thread: molto meno costosa Gestione di thread: richiede meno risorse di sistema Valeria Cardellini - SDCC 2016/17 4 Thread vs process creation time Creation of processes/threads (time in sec) - Thead creation is around 1 order of magnitude faster than process creation Source: Valeria Cardellini - SDCC 2016/17 5
4 Processi e thread a confronto (3) I processi offrono trasparenza alla concorrenza, ma ad un costo relativamente alto in termini di prestazioni Meccanismi di Inter-Process Communication (IPC): semafori, pipe, code di messaggi, memoria condivisa, socket Cambi di contesto legati all uso di un meccanismo di IPC I thread offrono concorrenza con un grado minore di trasparenza Applicazioni con prestazioni migliori (in molti casi) ma con codifica e debug più difficile Difficoltà legate alla sincronizzazione tra thread Valeria Cardellini - SDCC 2016/17 6 Ulteriori vantaggi del multithreading In generale si ottimizza l esecuzione dei programmi - Miglioramento delle fasi di allocazione ed esecuzione (condivisione dello stato e dello spazio di indirizzamento) Possibilità di sfruttare implicitamente il parallelismo disponibile nelle architetture multiprocessore e multicore Più adatto per applicazioni di grandi dimensioni Comunicazione più economica rispetto a IPC Valeria Cardellini - SDCC 2016/17 7
5 Performance improvement on SMPs for on-node communications Source: MPI: on-node communication via shared memory (at least one memory copy operation) Pthreads: no intermediate memory copy Valeria Cardellini - SDCC 2016/17 8 Implementazione di thread Principali modalità alternative per fornire il supporto di thread Implementazione a livello utente (N:1) Implementazione a livello kernel (1:1) Implementazione ibrida (N:M) Distinzione in base alla corrispondenza tra numero di thread a livello applicativo e numero di entità schedulabili dal kernel Valeria Cardellini - SDCC 2016/17 9
6 Implementazione di thread: livello utente A livello dello spazio utente (anche schema N:1) N thread a livello applicativo, 1 entità schedulabile dal kernel La libreria di thread viene eseguita completamente in modalità utente Tutte le operazioni sui thread sono completamente gestite all interno di un singolo processo Non interviene il kernel del SO per creare, terminare, schedulare per l esecuzione, sospendere, o risvegliare un thread Implementazione molto efficiente (tempo di cambio di contesto tra thread molto basso) Tutti i servizi forniti dal kernel del SO sono per conto del processo in cui il thread risiede Se un thread si blocca in attesa di un operazione di I/O sincrona, il kernel blocca l intero processo a cui appartiene il thread Esempio: GNU Portable Threads Valeria Cardellini - SDCC 2016/17 10 Implementazione di thread: livello utente (2) Svantaggio principale: i thread si bloccano su una base per-evento Poiché il kernel non distingue i thread di un processo, non può segnalare l occorrenza di eventi ai singoli thread Si perde il vantaggio del multithreading nella gestione di eventi di I/O Ulteriore svantaggio: mancanza di parallelizzazione su architetture multiprocessore o multicore Esempi: libreria green threads in Solaris Valeria Cardellini - SDCC 2016/17 11
7 Implementazione di thread: kernel A livello del kernel (anche schema 1:1) 1 thread a livello applicativo, 1 entità schedulabile dal kernel Il kernel contiene l implementazione del pacchetto di thread A ciascuna funzione per la gestione dei thread corrisponde una chiamate di sistema Le operazioni che bloccano un thread non sono più un problema come nello schema N:1 Il kernel può schedulare un altro thread disponibile all interno dello stesso processo La gestione di eventi di I/O è semplice Il kernel (che cattura tutti gli eventi) schedula il thread associato all evento Supporta la parallelizzazione su architetture multiprocessore o multicore Esempio: libpthread, NPTL per Linux (ora integrata con la libreria GNU C) Valeria Cardellini - SDCC 2016/17 12 Implementazione di thread: kernel (2) Quasi tutti i SO attuali adottano lo schema 1:1 Linux, MS Windows, Mac OS X Per sapere quale supporto per thread è attivo su Linux: getconf GNU_LIBPTHREAD_VERSION Problema principale dello schema 1:1 rispetto a N:1 - Perdita di efficienza dovuta al fatto che ogni operazione del thread richiede una trap al kernel Valeria Cardellini - SDCC 2016/17 13
8 Implementazione di thread: ibrida Per sfruttare i vantaggi degli schemi N:1 ed 1:1 riducendone gli svantaggi: combinare thread a livello utente e a livello kernel (detto schema N:M) Soluzione ibrida: N thread a livello applicativo sono mappati su M entità schedulabili dal kernel, con N >= M Maggiore complessità di implementazione rispetto agli schemi N:1 e 1:1 Esempi: IRIX, HP-UX, Tru64 Unix, Netscape Portable Runtime (API indipendente dalla piattaforma per funzioni di sistema e funzioni libc) Valeria Cardellini - SDCC 2016/17 14 Thread e SD: lato client Client multithread: per nascondere la latenza delle comunicazioni Esempio: browser multithread Ogni risorsa inclusa in una pagina è gestita da un thread, che si occupa di una singola richiesta e risposta HTTP Esempio: chiamate/invocazioni remote multiple per subtask appartenenti allo stesso task (RPC o Java RMI) Il client effettua molteplici chiamate contemporaneamente, ciascuna gestita da un diverso thread Attende finché non ottiene tutte le risposte Speedup lineare se le chiamate sono a server diversi Valeria Cardellini - SDCC 2016/17 15
9 Thread e SD: lato server Server multithread: per incrementare l efficienza di prestazioni e la modularità architetturale (specializzazione, semplicità) Prestazioni Thread più economico di un processo per gestire una richiesta in ingresso Scalabilità del server in architettura multiprocessore o multicore Nascondere la latenza di rete reagendo alla richiesta successiva mentre si risponde alla precedente Struttura migliore In caso di elevata richiesta di I/O: l uso di chiamate di sistema bloccanti semplifica la struttura complessiva I programmi multithread tendono ad essere di dimensioni minori e più semplici da capire per il controllo di flusso semplificato Valeria Cardellini - SDCC 2016/17 16 Problematiche lato client: trasparenza Il client comprende componenti per ottenere la trasparenza della distribuzione Trasparenza di accesso: generalmente gestita attraverso la generazione di un client stub Trasparenza all ubicazione, alla migrazione e al riposizionamento: generalmente il client tiene traccia della locazione effettiva Trasparenza alla replica: molteplici invocazioni gestite dal client stub Trasparenza ai guasti: spesso gestita solo lato client (cercando di mascherare malfunzionamenti del server o della comunicazione) Valeria Cardellini - SDCC 2016/17 17
10 Problematiche lato server: porta Già analizzate (in altri corsi) diverse questioni inerenti la progettazione di un server: Server concorrenti, distribuzione verticale, Come fa il client a conoscere la porta su cui contattare il server? Porta preassegnata e nota Porta assegnata dinamicamente (interazione con daemon) Daemon in ascolto su porta preassegnata delle richieste per alcuni servizi Richieste per lo stesso servizio girate su porta assegnata dinamicamente di cui viene informato il server corrispondente Attivazione dinamica di server (interazione con superserver) Per richieste non frequenti non conviene mantenere server attivi Il superserver ascolta le porte corrispondenti e per ogni richiesta in arrivo risveglia (o crea dinamicamente) il server corrispondente Ad es. inetd e xinetd per Linux, launchd per OS X Valeria Cardellini - SDCC 2016/17 18 Problematiche lato server: interrompibilità Si può interrompere un server una volta che ha accettato una richiesta di servizio? Soluzione 1: interruzione della connessione Comporta l interruzione del servizio Soluzione 2: dati out-of-band Usare una porta di controllo separata Il server ha un thread (o processo) in attesa di messaggi urgenti Quando arriva un messaggio urgente, la richiesta di servizio associata viene sospesa Oppure usare i meccanismi di comunicazione out-of-band forniti dal livello di trasporto Ad es. TCP permette di trasmettere dati urgenti sulla stessa connessione Valeria Cardellini - SDCC 2016/17 19
11 Problematiche lato server: stato Server senza stato (stateless) Non mantiene informazioni accurate (ad es. informazioni di sessione) sullo stato del client e non deve informarlo di eventuali cambi di stato lato server Ad es. non invalida la cache di un client Ad es. non registra che un file è stato aperto Conseguenze: Client e server sono indipendenti Si riducono le inconsistenze di stato dovuto a crash del client o del server Possibile perdita di prestazioni, ad es. il server non può anticipare il comportamento del client Server con stato (stateful) Mantiene informazioni persistenti sullo stato del client Ad es. registra che un file è stato aperto, in modo da poterne fare il prefetching Ad es. conosce il contenuto della cache di un client e consente ad un client di mantenere una copia locale di dati condivisi Ad es. informazioni di sessione Valeria Cardellini - SDCC 2016/17 20
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può
DettagliUniversità degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica
Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Sistema distribuito: composto da un insieme di processi in esecuzione su più nodi del sistema I processi
DettagliProcessi nei Sistemi Distribuiti
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Processi nei Sistemi Distribuiti Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Processi nei SD Un sistema software
DettagliSCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Cliente e servente concorrenti 1
Cliente e servente concorrenti 1 Processi e concorrenza in distribuito Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Multi-threading di
DettagliSISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi
SISTEMI OPERATIVI THREAD 2 Motivazioni» Un programma complesso può eseguire in modo concorrente più funzioni attraverso la creazione e gestione di processi figli attraverso il meccanismo dei thread» La
DettagliSCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 3
Considerazioni di costo 2 Processi e concorrenza in distribuito Anno accademico 2013/14 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Laurea Magistrale in Informatica,
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliProcessi nei Sistemi Distribuiti
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Processi nei Sistemi Distribuiti Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Processi nei SD Un sistema software
DettagliI thread. Non bastavano i processi?
I thread Non bastavano i processi? 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento, vediamo cosa significa... 2 Spazi di indirizzamento distinti
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può
DettagliSCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 1
Considerazioni di costo 2 Processi e concorrenza in distribuito Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Il context switch a livello
DettagliProcessi, Threads e Agenti
Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito ècompostodaun insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere definito
DettagliSCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 3
Considerazioni di costo 2 Processi e concorrenza in distribuito Anno accademico 2017/18 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Il context switch a livello
DettagliSistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1
GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di
DettagliGestione del processore. Il modello a thread
Gestione del processore Il modello a thread 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento privato ed il modo per interagire è quello di utilizzare
DettagliModelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi
DettagliI thread. Motivazioni e definizione. Modelli di programmazione multithread. Librerie per i thread. Problemi nella programmazione multithread
I Thread I thread Motivazioni e definizione Modelli di programmazione multithread Librerie per i thread Problemi nella programmazione multithread Thread di Linux 4.2 Motivazioni 1 La gestione dei processi
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 9 Giovedì 2-11-2017 Comunicazione con pipe Oltre che con la memoria condivisa
DettagliSistemi Operativi (modulo di Informatica II) I thread
Sistemi Operativi (modulo di Informatica II) I thread Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Generalità: il concetto di thread ed il multi-threading Modelli multithread
DettagliIl modello a thread : motivazioni
Sistemi Operativi Giuseppe Prencipe Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento privato ed il modo per interagire è quello di utilizzare i
DettagliSistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
Dettagli27/03/2013. Contenuti
Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della
DettagliSOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito
SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire
DettagliSistemi Operativi (modulo di Informatica II) I thread
Sistemi Operativi (modulo di Informatica II) I thread Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Generalità: il concetto di thread ed il multi-threading Modelli multithread
DettagliSistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali
Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Servizi fondamentali di un Sistema Operativo Classificazione dei Sistemi Operativi secondo l ut Concetti
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliIntroduzione ai. Sistemi Distribuiti
Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1
DettagliSistemi a processori multipli
Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni
DettagliCapitolo 5: I thread
Capitolo 5: I thread Generalità. Modelli multithread. Problematiche relative ai thread. Pthread. 5.1 I thread Il thread è un flusso di controllo relativo ad un dato processo. Molti sistemi operativi moderni
DettagliLab 1: Java Multithreading
Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading
DettagliIntroduzione al Multithreading
Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui
Dettagli5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:
1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 8 Giovedì 25-10-2018 Comunicazione con pipe Oltre che con la memoria
DettagliCorso di Informatica
Corso di Informatica Modulo T5 1 I thread 1 Prerequisiti Concetto di processo Interazione diretta Interazione indiretta Mutua esclusione Produttore-consumatore Schedulatore 2 1 Introduzione Generalmente,
DettagliSistemi operativi e distribuiti
Sistemi operativi e distribuiti La memoria Indirizzi fisici e indirizzi logici Importante separazione di concetti Ci permette di separare la parte software da la parte hardware Indirizzo logico (o virtuale):
DettagliCorso Sistemi Operativi AA Prof. Enzo Mumolo
Corso Sistemi Operativi AA2017-2018 Prof. Enzo Mumolo Motivazioni principali del corso Il corso NON si occupa di utilizzo dei Sistemi Operativi a livello utente MA Di conoscenza approfondita del linguaggio
DettagliI thread. Operating System Concepts 9 th Edition
I thread I thread Motivazioni e definizione Programmazione multicore Modelli di programmazione multithread Librerie per i thread Threading implicito Problemi nella programmazione multithread Thread di
DettagliIl Concetto di Processo
I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 10 Martedì 7-11-2017 Thread a livello kernel Modello da uno a uno La
DettagliThreads. Processi Single e Multi-thread
Threads Processi Single e Multi-thread 1 Benefici Diminuisce i tempi di risposta di una applicazione: durante attesa altre attività della applicazione possono essere fatte Condivisione delle risorse: tutti
DettagliSpazio di indirizzamento virtuale
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliSistemi Operativi (modulo di Informatica II) I thread
Sistemi Operativi (modulo di Informatica II) I thread Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Generalità Modelli multithread Problematiche relative ai thread Pthread
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 4 Giovedì 12-10-2017 Struttura e organizzazione software dei sistemi
DettagliArchitetture Applicative Altri Esempi
Architetture Applicative Altri Esempi Alessandro Martinelli alessandro.martinelli@unipv.it 15 Aprile 2014 Architetture Applicative Altri Esempi di Architetture Applicative Architetture con più Applicazioni
DettagliRemote file access sulla grid e metodi di interconnesione di rete
Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001 Remote file access sulla grid Studio, progettazione e implementazione
DettagliCorso di Informatica
Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere
DettagliLezione 4. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata
Lezione 4 Sistemi operativi 4 aprile 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 4.1 Di cosa parliamo in questa lezione? Relazione tra processi e thread, e relative
DettagliProcessi e thread. Marco Cesati. Schema della lezione. Eseguire programmi SO Processi e thread. Marco Cesati. Schema della lezione
Lezione 4 Di cosa parliamo in questa lezione? Relazione tra processi e thread, e relative API 1 Gestione dei processi Sistemi operativi 2 3 Supporto del nucleo e modelli di implementazione 4 aprile 2017
DettagliSISTEMI DI ELABORAZIONE
SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2017/2018 Il progetto deve essere realizzato singolarmente (non è possibile realizzarlo in gruppo).
DettagliInterazione tra Processi. Sistemi Operativi T AA
Interazione tra Processi Sistemi Operativi T AA 2009-2010 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun
DettagliSistemi Di Elaborazione Dell informazione
Sistemi Di Elaborazione Dell informazione Dott. Antonio Calanducci Lezione II: Software Corso di Laurea in Scienze della Comunicazione Anno accademico 2009/2010 Tipi di software Software di sistema (o
DettagliComponenti di un sistema operativo
Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria
DettagliProgettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione all imaging medico
Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione all imaging medico Relatore: Chiar.mo Prof. Renato Campanini Correlatore: Dott.
DettagliOperazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU
Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliInformatica Generale 06 - Introduzione ai Sistemi Operativi
Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema
DettagliClassificazione delle Architetture Parallele
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
DettagliSistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
DettagliProcessi, Threads e Agenti
Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
DettagliScuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 www.u4learn.it Alessandro Bruno Introduzione al calcolo parallelo Approcci per il calcolo parallelo Programmazione
DettagliSistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano
DettagliSCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU
SISTEMI OPERATIVI SCHEDULING DELLA CPU Obiettivi» Introduzione allo scheduling della CPU Aspetto fondamentale dei sistemi operativi multiprogrammati» Algoritmi di scheduling della CPU» Criteri per la scelta
DettagliSistemi Operativi ed interazione con HW e CAD
Sistemi Operativi ed interazione con HW e CAD Corsi di Informatica Grafica Prof. Manuel Roveri Indice Il Sistema Operativo Software di sistema e applicativo Architettura di un sistema operativo Classificazione
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliSCD. Processi e concorrenza. Sistemi distribuiti: processi e concorrenza. UniPD - SCD 2009/10 - Sistemi Concorrenti e Distribuiti 1
Processi e concorrenza Anno accademico 2009/10 stemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Cliente e servente concorrenti 1 Multi-threading di lato cliente La concorrenza
DettagliSISTEMI DI ELABORAZIONE
SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2011/2012 Il progetto consiste nello sviluppo di un applicazione client/server. Client e server
DettagliProgrammazione modulare
Programmazione modulare 2018-2019 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5B Docente: Maria Lizzi, Giorgio Carnevale Ore settimanali
DettagliStruttura dei Sistemi Operativi
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
DettagliArchitetture della memoria
Architetture della memoria Un elemento determinante per disegnare una applicazione parallela e' l architettura della memoria della macchina che abbiamo a disposizione. Rispetto all architettura della memoria
DettagliLinux nel calcolo distribuito
openmosix Linux nel calcolo distribuito Dino Del Favero, Micky Del Favero dino@delfavero.it, micky@delfavero.it BLUG - Belluno Linux User Group Linux Day 2004 - Belluno 27 novembre openmosix p. 1 Cos è
DettagliI Processi. Il Concetto di Processo
I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite
DettagliThread. Overview. Il modello a thread. Introduzione. Thread. Multithread
Thread Corso di Sistemi per Elaborazione dell Informazione Prof. Carpentieri Bruno A.A. 2004/2005 Aliberti Filly Pacileo Roberta Overview Introduzione Il modello a thread Multhreading Thraed vs Processi
DettagliProgramma e Modalità d Esame
Programma e Modalità d Esame Come programma di esame si assumono tutti gli argomenti trattati dai docenti del corso nelle videolezioni. Tali argomenti sono riepilogati di seguito: I. Concetti base dei
DettagliSistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliProf. G. Ascia. Sistema Operativo
Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo
DettagliSCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione
Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci
DettagliIl sistema operativo
Il sistema operativo Il sistema operativo E uno strato software che opera direttamente sull hardware Isola gli utenti dai dettagli dell hardware Mono-utente o multi-utente E organizzato a strati: Architettura
DettagliBASI DI DATI DISTRIBUITE
BASI DI DATI DISTRIBUITE Definizione 2 Un sistema distribuito è costituito da un insieme di nodi (o di siti) di elaborazione una rete dati che connette fra loro i nodi Obiettivo: far cooperare i nodi per
DettagliIl sistema operativo
Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno
DettagliReti di Calcolatori COMMS Reti di Calcolatori 1. Il modello Client/Server. I Sistemi di Rete
Reti di Calcolatori INFOS COS.. - 2004-2005 Reti di Calcolatori 1 I Sistemi di Rete Dal punto di vista del programmatore o dell utente la rete è il servizio di interconnessione tre due o più unità computazionali
Dettaglicorrettezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precisione; anywhere, anytime; affidabilità,
DettagliArchitettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete
I semestre 02/03 Modelli di Riferimento: TCP/IP e OSI Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Architettura di rete architettura di rete insieme delle specifiche funzionali
DettagliSimulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio
DettagliProgrammazione modulare
Programmazione modulare 2015-2016 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5A e 5B Docente: Maria Lizzi Ore settimanali previste:
Dettaglicoda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms
1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva l algoritmo di scheduling nel sistema Windows Vista (e
DettagliSistemi Distribuiti Anno accademico 2009/10
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Sistemi Distribuiti Anno accademico 2009/10 Valeria Cardellini E-mail: cardellini@ing.uniroma2.it Tel: 06 72597388 Laurea Magistrale in
Dettagli