Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica
|
|
- Adelmo Parisi
- 6 anni fa
- Visualizzazioni
Transcript
1 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 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 Una failure di un processo non dovrebbero compromettere lo scopo dell algoritmo Valeria Cardellini - SDCC 2013/14 1
2 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 2013/14 2 Processo Unix Thread in un processo Unix Valeria Cardellini - SDCC 2013/14 3
3 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 2013/14 4 Creazione di processi/thread (tempo in sec) Fonte: Valeria Cardellini - SDCC 2013/14 5
4 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 2013/14 6 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 il parallelismo disponibile nelle architetture multiprocessore e multicore Più adatto per applicazioni di grandi dimensioni Comunicazione più economica rispetto a IPC Valeria Cardellini - SDCC 2013/14 7
5 Source: MPI: on-node communication via shared memory (at least one memory copy operation) Pthreads: no intermediate memory copy Valeria Cardellini - SDCC 2013/14 8 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 2013/14 9
6 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 2013/14 10 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 Valeria Cardellini - SDCC 2013/14 11
7 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: Native Posix Threads Library (NPTL) per Linux Valeria Cardellini - SDCC 2013/14 12 Quasi tutti i SO attuali adottano lo schema 1:1 Per sapere quale supporto per thread è attivo su Linux: getconf GNU_LIBPTHREAD_VERSION Problema principale dello schema 1:1 rispetto ad N:1: perdita di efficienza dovuta al fatto che ogni operazione del thread richiede una trap al kernel Soluzione possibile: cercare di combinare i concetti di thread a livello utente ed 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 Soluzione supportata ad es. da Netscape Portable Runtime (API indipendente dalla piattaforma per funzioni di sistema e funzioni libc) Valeria Cardellini - SDCC 2013/14 13
8 Client multithread: per nascondere la latenza delle comunicazioni distribuite Esempio: un browser è generalmente multithread Ogni risorsa inclusa in una pagina è gestita da un thread, che si occupa di una singola richiesta e risposta HTTP Esempio: chiamate multiple di tipo richiesta/risposta ad altre macchine (RPC) 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 2013/14 14 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 2013/14 15
9 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 2013/14 16 Già analizzate (in altri corsi) diverse questioni inerenti la progettazione di un server: Server iterativi e concorrenti Distribuzione orizzontale e verticale Come può il client 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 2013/14 17
10 Interrompibilità del server: è possibile 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 2013/14 18 Server senza stato (stateless) Non mantiene informazioni accurate 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 completamente indipendenti Ridotte 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 (in un server Web) Valeria Cardellini - SDCC 2013/14 19
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ò
DettagliProcessi e Concorrenza nei Sistemi Distribuiti
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.
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
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,
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
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ò
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 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
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
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
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
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
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: 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
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
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
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
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
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
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
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
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 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
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
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 (){
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
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
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
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
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):
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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. 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
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
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
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
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
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
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
DettagliCorso di Laboratorio di Sistemi Operativi A.A
Corso di Laboratorio di Sistemi Operativi A.A. 2016 2017 Lezione 17 Ivan Scagnetto ivan.scagnetto@uniud.it Nicola Gigante gigante.nicola@spes.uniud.it Dipartimento di Scienze Matematiche, Informatiche
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
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
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
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
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 è
DettagliGestione della Memoria Principale
Gestione della Memoria Principale Requisiti della Gestione della Memoria. Gestione a Partizioni Fisse. Partizionamento dinamico. Paginazione. Segmentazione. 1 Gestione della Memoria In un sistema multiprogrammato
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.,
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à,
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
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
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
DettagliModulo 2 Architetture dei SD Lezione 1
Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents
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
DettagliDescrizione generale dell architettura del sistema e dell interazione tra i suoi componenti. Descrizione del sottosistema di sicurezza locale.
Descrizione generale dell architettura del e dell interazione tra i suoi componenti. Descrizione del di sicurezza locale. Descrizione delle tecniche supportate dal per l organizzazione e la protezione
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
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
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
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di processo Schedulazione dei processi Operazioni sui processi
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 7 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Threads Un thread è l unità di base per l utilizzo della CPU. Composto
DettagliSistemi Operativi Da Unix a GNU/Linux (parte 2)
Sistemi Operativi Da Unix a GNU/Linux Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gestione della memoria 1 Massima semplicità per massima portabilità
DettagliGESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliIL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche
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
DettagliVirtualizzazione parziale del livello Transport. ai fini della gestione della mobilità
Virtualizzazione parziale del livello Transport ai fini della gestione della mobilità Relatore: Prof. Vittorio Ghini Università di Bologna - Scuola di Scienze Laurea Triennale in Informatica - II Sessione
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
DettagliEsercitazione [9] Riepilogo sui Semafori
Esercitazione [9] Riepilogo sui Semafori Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo
DettagliSISTEMI INFORMATIVI E DATABASE
SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,
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
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
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliProcessi e Thread. Meccanismi di IPC (1)
Processi e Thread Meccanismi di IPC (1) 1 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per comunicare e sincronizzarsi : scambiare dati utilizzare
DettagliCorso di Informatica
Corso di Informatica Modulo T3 2-Stati di un processo 1 Prerequisiti Concetto intuitivo di coda Cooperazione e competizione Prerilascio di una risorsa Concetto intuitivo di interruzione 2 1 Introduzione
DettagliSistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1
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
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
DettagliElaborazione parallela
La gestione dei processi laborazione parallela Il concetto di elaborazione parallela si riferisce specificamente: ai dati; alle istruzioni; ai programmi. Il parallelismo a livello di dati e di istruzioni
DettagliGestione dei Processi
Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma
DettagliLivelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente
DettagliInterazione tra Processi. Sistemi Operativi T AA
Interazione tra Processi Sistemi Operativi T AA 2012-13 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun
DettagliSISTEMI OPERATIVI - canale 2
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-2 anno SISTEMI OPERATIVI - canale 2 ING-INF/05-6 CFU - 1 semestre Docente
Dettaglimolteplici problemi e la realizzazione di una gran quantità di servizi, da parte
Il modello OSI. La comunicazione tra due utenti di una rete di computer implica la risoluzione di molteplici problemi e la realizzazione di una gran quantità di servizi, da parte d opportuni software ed
DettagliEsame 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
Dettagli