Organizzazione hw. Obbiettivo di progetto: migliorare le prestazioni del sistema mantenendo contenuti i costi
|
|
- Italo Borghi
- 5 anni fa
- Visualizzazioni
Transcript
1 Sistemi Distribuiti Esempi di applicazioni comunicazione di dati fra terminali di un sistema di elaborazione - fra sistemi di elaborazione sistemi distribuiti o centralizzati es. packed-switched networks (Arpanet, Datapac, Transpac, Telnet) comunicazione con vincoli (magazzini, carte di credito) condivisione di risorse es.: office automation identificazione - protezione - gestione della intercomunicazione controllo di processi microprocessori per controllo e monitor basi di dati distribuite partizionamento o replicazione - località - integrità controllo degli accessi -affidabilità - sicurezza Organizzazione hw Obbiettivo di progetto: migliorare le prestazioni del sistema mantenendo contenuti i costi Sistema centralizzato: aumentare la velocità (ciclo) della - limite fisico: velocità della luce - segnale elettrico può percorrere 30 cm/ns nel vuoto 20 cm/ns su rame => dato il ciclo di se un elaboratore esegue 1 istruzione in 1 ns, la massima distanza che un segnale può coprire da a memoria è 20cm Sistema distribuito: diverso modello di esecuzione diversi modelli varie classificazioni classificazione di Flynn (1972) Sistemi distribuiti - architetture Flusso di istruzioni singolo multiplo Flusso dei dati SIMD array processor MIMD singolo SISD MISD multiplo SIMD MIMD sistemi distribuiti stesso calcolo su molti dati SD2.2 SD2.3 SISD SIMD MIMD Modello von Neuman - singolo flusso di istruzioni (programma) eseguito da una e con una memoria contenente i dati - FETCH, DECODE, EXECUTE ogni singola istruzione nella sequenza Strategie di accelerazione del ciclo - parallelismo (limitato) : uso di molte ALU specializzate che eseguono ogni singola operazione ad alta velocità (es. +, x,) - pipelining : DECODE di istruzione y contemporaneo a FETCH di istruzione y+1, EXEC di y - uso di gerarchie di memoria (livelli di cache) - uso di hw specializzato Esecuzione in parallelo su un insieme di dati Architettura vettoriale anziché una singola ALU che opera su una singola variabile per ogni input, si ha un vettore di ALU che opera su un vettore di valori di input produce un vettore di output (esegue operazioni su vettori) Array processor - matrice di elementi processore/memoria - singola unità di controllo che esegue il broadcast di una singola istruzione a tutti i processori - ogni processore esegue l istruzione sui dati disponibili in memoria locale (esegue operazioni su matrici) NOTA: in entrambi i casi utilizza un singolo PC (program counter) e Nota distinte eseguono differenti programmi (multiple instruction stream) su flussi di dati distinti (multiple data stream) dotate di proprio Program Counter, memoria, dati, programmi, cooperano per svolgere e fornire un servizio comune => macchina MIMD = sistema distribuito - in alcune configurazioni le possono condividere dati collocati in memoria comune accessibile via bus di sistema (multiprocessor) - gli accessi concorrenti alla memoria comune possono creare conflitti nell accesso al bus => uso di memoria locale privata (cache) per ogni, contenente codice e dati da non condividere, minimizzando gli accessi alla memoria comune Esempio: sistema di prenotazione aerea: richieste multiple di prenotazione (multiple data stream) che possono essere servite concorrentemente (multiple instruction stream) da un insieme di che condividono la pianta dell aereo e ne tengono aggiornato lo stato. SD2.4 SD2.5 SD2.6 1
2 Sistemi distribuiti - architetture Multiprocessori a bus Multiprocessori a bus: coerenza della memoria Multiprocessore memoria condivisa accoppiamento stretto ritardo di trasmissione breve velocità di trasmissione alta Multicalcolatore memoria locale privata accoppiamento lasco maggiore ritardo di trasmissione minore velocità di trasmissione insieme di U.E. interconnesse da una rete di interconnessione Bus dati, indirizzo, controllo 32 o 64 linee indirizzi, 32 o 64 linee dati, almeno 32 linee controllo parallele banda 300 Mbps limite tipico per le prestazioni:4/5 Condivisione della memoria Problema: coerenza al tempo t la A scrive il valore x all indirizzo di memoria y al tempo t >t la B legge il valore x dall indirizzo di memoria y U.E. elaborazione, memorizzazione Rete di comunicazione Architettura: a bus -a commutazione Lettura da memoria: scrive l indirizzo di parola richiesta sul bus indirizzi conferma il comando di lettura via CNTRL memoria scrive il dato su linee dati Coerenza costosa da implementare => sovraccarico del bus Soluzione basata sulla memoria cache mantenere parole accedute più recentemente hit rate: probabilità di successo, se la parola cercata è nella m. cache (es.:90%) SD2.7 SD2.8 SD2.9 Multiprocessori a bus Multiprocessori a commutazione Multiprocessori a commutazione: Omega network coerenza: possibile soluzione scrittura attraverso la cache, ogni scrittura nella m.c. è riportara in memoria (write-through cache) tutte le controllano eventuali scritture e nel caso eliminano o aggiornano la parola (snoopy cache) meccanismo trasparente all'utente - limite tipico per le prestazioni:32/64 Memoria multimodulare Connessione a crossbar Crosspoint interruttore (switch) Svantaggio:costo n memorie ed n richiedono n 2 switches Altre architetture commutatore di crosspoint (es. n=64, 4096 switch) n memorie ed n richiedono (n/2 log n) switches Vantaggio: accesso diretto di ogni ad ogni modulo Svantaggio: maggior ritardo di comunicazione: log n stati di switching ogni stadio ha n/2 switch Esempio: n=1024, 10 stadi di switch per trasmettere da a memoria e 10 stadi per la trasmissione inversa; se la è una RISC con tempo di esecuzione di 10 ns i 20 switch devono essere attraversati da meno di 10 ns => ogni switch 10ns/2=0.5 ns= 500 picosec=> occorrono 1024x10=5120 CS da 500 picosec => costo elevato SD2.10 SD2.11 SD2.12 2
3 Multiprocessori a commutazione: Omega network Multiprocessori a commutazione: Omega network Multiprocessori a commutazione: NUMA NUMA Not Uniform Memory Access Memoria Memoria Ogni ha una memoria locale: - accesso veloce alla memoria locale - più efficienti - problemi di allocazione ottima di dati e programmi Multiprocessor Snoopy cache Limitati dalla capacità del bus (max 64 ) Crossbar switch Costoso Omega Network Costoso NUMA Complessità degli algoritmi di allocazione di+ programmi e dati Esempio: n=8, 3=log 8 livelli di switch per trasmettere da a memoria Esempio: n=16, 4 livelli di switch per trasmettere da a memoria SD2.13 SD2.14 SD2.15 Multicalcolatore a bus Multicalcolatore a commutazione Multicalcolatore a commutazione Workstation ML Workstation ML Diverse topologie Es. Griglia (struttura bidimensionale) Es. Ipercubo:cubo ad 4 dimensioni Ogni ha 4 link Ipercubo commerciale File Server Senza memoria condivisa Traffico limitato Espandibilità Protocolli di rete Rete ML Memoria locale Printer Es. Ipercubo:cubo ad n dimensioni Ogni U.E. è un vertice, gli spigoli sono connessioni Ogni U.E. ha n connessioni Crescita logaritmica delle connessioni Trasmissione anche in più passi Limite logaritmico al numero di passi con n SD2.16 SD2.17 SD2.18 3
4 Multicalcolatore a commutazione Multiprocessori e multicalcolatori a commutazione: altre soluzioni Es. Ipercubo: cubo ad 6 dimensioni Ogni ha 6 link Sistemi a parallelismo massiccio supercomputer con migliaia di bassa latenza e alta banda buona affidabilità Sistemi a cluster di workstations (COW) U.E. connesse con componenti disponibili ( off the shelf ) nessun accorgimento specifico per ottimizzare prestazioni e affidabilità Sistemi Operativi (OS) OS per un sistema uniprocessore OS per un sistema multiprocessore: MOS OS per un sistema distribuito: DOS OS per la gestione della rete in un sistema distribuito: NOS SO per un sistema di elaborazione uniprocessore gestione delle risorse condivisione delle risorse insieme di utenti (processi) sistema con memoria condivisa globale singola coda di processi pronti ed eseguibili possibile attesa attiva stato o modo di operazione nucleo vs utente modello di macchina virtuale modelli di OS microkernel monolitico SD2.19 SD2.20 SD2.21 Classificazione Accoppiamento lasco: S.O. di rete, interazione lasca Accoppiamento stretto: S.O. per multiprocessori e multicalcolatori Classificazioni Accoppiamento stretto/lasco Multicalcolatore/multiprocessore A bus/a commutazione modelli di OS microkernel Accoppiamento lasco (loosely-coupled DOS) macchine, utenti, programmi indipendenti fra loro condividono uso di risorse costose ogni U.E. è identificabile ed è in grado di operare indipendentemente dagli altri (e.g, un guasto di rete non blocca l operatività della singola U.E.) Accoppiamento stretto (tightly-coupled DOS) macchine indipendenti coordinate da un controllore Multicalcolatore Multicalcolatore Multiprocessore sw ad accoppiamento lasco sw ad accoppiamento stretto (es su LAN con DOS) sw ad accoppiamento stretto (es MPC con OS) Es. SO distribuito: sw ad accoppiamento stretto su hw ad accoppiamento lasco s.d. senza memoria condivisa gli utenti vedono il sistema come un solo ambiente (uniprocessore virtuale) meccanismi globali per comunicazione - protezione - file system - gestione di memoria locale Es. SO a multiprocessori: sw ad accoppiamento stretto su hw ad accoppiamento stretto sistema con memoria condivisa globale singola coda di processi pronti ed eseguibili possibile attesa attiva SD2.22 SD2.23 SD2.24 4
5 Es. SO di rete su multicalcolatori: sw ad accoppiamento lasco su hw ad accoppiamento lasco sistema operativo di rete (NOS - Network Operating System) rete di UE ognuna dotata di memoria,, OS, periferiche tutti i comandi sono eseguiti localmente l esecuzione di comandi in remoto richiede la visibilità all utente della locazione di risorse Esempio: rlogin ihoh UE usata come terminale remoto di ihoh i comandi inviati dalla UE sono eseguiti sulla macchina remota ad ogni istante una sola macchina è in esecuzione la selezione delle macchine è manuale => l utente deve conoscere l esistenza e disponibilità delle macchine Esempio: rcp ihoh:file1 squit:file2 copia file1 da ihoh a squit l utente deve sapere che file1 è nel FS di ihoh e che squit ha un FS in cui deposita file1 con nome file2 SD2.25 SD2.26 Due clienti e un servente in un NOS Esempio da A. Tanenbaum Sistemi Distriibuiti SD2.27 Diversi clienti possono montare i serventi in diverse parti Esempio da A. Tanenbaum Sistemi Distriibuiti SD2.28 NOS V0 NOS V1 - evoluzione di NOS V forme primitive di comunicazione e condivisione risorse - include File Server(s) condiviso(i) che gestisce(cono) file system globale - FS accetta le richieste da ogni programma sulla UE (read, write, open, close) - ogni richiesta è esaminata e servita e il risultato trasmesso al chiamante - FS mantiene un file system gerarchico - UE può montare arbitrariamente parte del file system globale nel proprio fs locale - diverse viste di utenti possibili - stesso programma eseguito su diverse UE può lavorare su gerarchie diverse - la comunicazione fra processi applicativi può avvenire tramite file condivisi SD implementazione di programmi distribuiti richiede attenzione a manipolazione ed uso di nomi di risore Es: FS mantiene file systems con path /public/work/file1 UE monta o importa file1 in /home/work/file1 il programma applicativo eseguito su UE contiene il nome esplicito fd=open( /home/work/file1,r); non portabile, ovvere eseguibile solo su quella UE e non sul File Server NOS V1 gestisce comunicazioni fra UE e FS - le UE possono eseguire sotto diversi OS - NOS V1 deve garantire concordanza almeno del FORMATO dei messaggi scambiati delle REGOLE secondo cui devono essere scambiati (standard dei PROTOCOLLI) - NON effettua coordinamento di attività ed esecuzione di programmi - NON maschera o nasconde l eterogeneita dei SO SD2.30 5
6 DOS - sw ad accoppiamento stretto su hw ad accoppiamento lasco DOS - Distributed Operating System implementa l astrazione di un singolo sistema time-sharing (single system image, virtual processor) su un insieme di macchine anche eterogenee interconnesse e operanti sotto lo stesso sistema operativo Trasparenza: gli utenti (programmi) non hanno visibilità della distribuzione delle risorse - IPC comune supporta le interazioni fra ogni coppia di processi - protezione globale combinazione di schemi (es. lista di controllo, capabilities, bit di protezione) maggiore complessità - gestione di processi identica su ogni macchina (es. set di primitive, create, destroy, start, suspend,) - file system vista identica da ogni macchina - interfaccia di sistema identica su ogni macchina (stesso nucleo, più semplice coordinamento es.: start, i nuclei cooperano per decidere dove eseguire un processo) DOS - sw ad accoppiamento stretto su hw ad accoppiamento lasco Ogni nucleo ha controllo sulle risorse locali - non vi è memoria condvisa, ogni UE gestisce la memoria locale - eventuale uso di paging e/o swapping localmente - se vi è multiprogrammazione ogni nucleo gestisce lo scheduling locale => se la gestione fosse globale occorrerebbe la nozione di stato globale del sistema distribuito, solitamente non realizzabile Sistemi multicalcolatori omogenei vs sistemi eterogenei Sistemi omogenei: DOS Sistemi eterogenei: Middleware Middleware SD2.31 SD2.32 SD2.33 Applicazione Middleware Interfaccia Protocollo comune Applicazione In un sistema distribuito aperto basato sul middleware i protocolli usati in ogni strato middleware dovrebbero essere gli stessi middleware, come le interfacce offerte alle applicazioni DOS - sw ad accoppiamento stretto su hw ad accoppiamento lasco MOS - sw ad accoppiamento stretto su hw ad accoppiamento stetto Multiprocessor Operating System - MOS - special purpose: macchina data base - general purpose: time sharing OS (es. UNIX) su multiprocessore Caratteristica: coda di esecuzione UNICA (globale) struttura dati mantenuta da MOS in memoria condivsa e contenente processi in stato di ready X Processo A cache Y Processo B cache... Z Processo C cache Memoria E ready D ready C running B running A running RUN Q: D,E MOS SD2.34 SD2.35 SD2.36 6
7 MOS - sw ad accoppiamento stretto su hw ad accoppiamento stetto Scheduling Esempio: - il processo B in Y blocca - Y lo sospende e cerca un nuovo processo in RUN Q - Y esegue MOS allocato in memoria condivisa - salva lo stato di B - entra nella regione critica per eseguire lo scheduler - evita a diverse di prelevare lo stesso processo - controlla la mutua esclusione della coda - ottenuto l accesso esclusivo a RUN Q, la Y - rimuove il processo D da RUN Q - esce dalla regione critica - esegue D Nota - nella cache inizialmente ci sono dati e istruzioni di B, per cui D è inizialmente penalizzato - allocazione dei processi: le non hanno ML per cui non ha importanza chi lo esegue, ma il tempo di esecuzione è influenzato dalla presenza dei dati e programmi in cache => conviene allocare il processo alla libera che più recentemente lo ha eseguito MOS - sw ad accoppiamento stretto su hw ad accoppiamento stetto File System MOS tradizionale con caching di blocco - accesso al File System causa MOS trap - MOS entra nella regione critica (con semafori, monitor,) - esegue la system call escludendo le altre dall accesso ai dati condivisi Es: write (fd,&buff,nbytes) - lock di blocco nel file identificato da fd - scrive nbytes da buff in blocco locked - rilascia il lock Organizzazione di MOS con dedicata ad eseguire MOS e altre riservate ad applicativi svantaggio: MOS diventa collo di bottiglia Confronto Organizzazione sw per n macchine Categoria NOS DOS - Middleware MOS Trasparenza NO SÌ - SÌ (alta) SÌ Stesso OS NO SÌ - NO SÌ Copie di OS n n 1 Comunicazione file condivisi messaggi- dip. mod. memoria condivisa Protocolli di comunicazione SÌ SÌ - dip. modello NO comuni RUN Q singola NO NO SÌ Condivisione di file con non necessariamente SÌ SÌ semantica comune Scalabilità SÌ Moderata - dip. mod. NO Openess aperto chiuso - aperto chiuso SD2.37 SD2.38 SD2.39 Sistemi distribuiti - Progetto 1/2 Sistemi distribuiti - Progetto 2/2 trasparenza immagine di un singolo sistema, time-sharing uniprocessore * della localizzazione delle risorse: dove sono? * alla migrazione delle risorse: cambiamenti di localizzazione * alla replicazione dei file: quante copie? * alla concorrenza fra utenti: accesso a risorse condivise * al parallelismo: attività eseguibili in parallelo flessibilità * kernel monolitico s.o. centralizzato + opzioni di rete e servizi remoti * microkernel comunicazione fra processi - gestione memoria gestione processi e schedulazione a basso livello I/O a basso livello più flessibile affidabilità disponibilità (Availability): fraz. di tempo in cui il sistema è utilizzabile, funzionante ridondanza: tecnica per aumentare A consistenza fra copie multiple sicurezza tolleranza ai guasti (fault tolerance) prestazioni metriche: tempo di risposta, throughput, utilizzo, banda, caratterizzazione del carico colli bottiglia load balancing definizione della grana (fine o grossa) di parallelismo scalabilità grande dimensioni evitare componenti, dati e algoritmi centralizzati SD2.40 SD2.41 7
Sistemi 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
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
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
DettagliArchitetture di Elaboratori II - Sistemi Distribuiti Introduzione al corso
Architetture di Elaboratori II - Sistemi Distribuiti Introduzione al corso Testo di riferimento G.Coulouris, J.Dollimore and T.Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley
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.
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
DettagliIntroduzione all'architettura dei Calcolatori. Maurizio Palesi
Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
DettagliSISTEMI OPERATIVI DISTRIBUITI
SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching
DettagliParte VIII. Architetture Parallele
Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliIntroduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono
Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti q Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 q Il materiale presente in
DettagliCapitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
Capitolo 4 Parte 1 Le infrastrutture hardware Il processore La memoria centrale La memoria di massa Le periferiche di I/O Funzionalità di un calcolatore Trasferimento Elaborazione Controllo Memorizzazione
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
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliSCD. Openness. Sistemi distribuiti: introduzione. Definizione
Definizione Anno accademico 2012/1 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Un sistema distribuito è un insieme di nodi di calcolo indipendenti capaci di apparire
DettagliIBM Academic Initiative
IBM Academic Initiative Architettura dei Sistemi Centrali (1 di 3) Sapienza- Università di Roma - Dipartimento Informatica 2010-2011 Obiettivi del Capitolo 1 Definire la Struttura del Sistema Centrale
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
DettagliIBM Academic Initiative
IBM Academic Initiative Modulo 2.1: Architettura dei Sistemi Centrali (Parte Prima) Sapienza- Università di Roma - Dipartimento Informatica 2007-2008 Obiettivi del Capitolo 1 Definire la Struttura del
DettagliSCD. Sistemi distribuiti: introduzione. Openness. Sistemi distribuiti: introduzione. Caratteristiche di trasparenza
Caratteristiche di trasparenza Anno accademico 201/14 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Trasparenza di Accesso Collocazione Per nascondere Differenze
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliCalcolo parallelo e sistemi multiprocessore
FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright
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
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 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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à,
DettagliSistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
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
DettagliCapitolo 1: Introduzione
Capitolo 1: Introduzione Cos è un sistema operativo Sistemi mainframe Sistemi da scrivania Sistemi con più unità d elaborazione Sistemi distribuiti Batterie di sistemi (cluster) Sistemi d elaborazione
DettagliGerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base
Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica Ricapitolazione di concetti base Sistemi Operativi - T. Vardanega Pagina 92/113 Gerarchia fisica di memoria 2 La cache è suddivisa in blocchi
DettagliMODULO 1: INTRODUZIONE
I SISTEMI OPERATIVI MODULO 1: INTRODUZIONE prof. ing. Damiano Magni ITI E. Breda Sesto S. G. - gennaio 2005 1.1 Introduzione Che cos è un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
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
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Parte I Architettura Classificazione fra architetture Flynn s taxonomy SISD Single instruction on Single Data- (es. architetture
DettagliUn semplice commutatore a pacchetto
Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti
DettagliSistemi Operativi 1. Mattia Monga. 11 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 e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliProgrammi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA rof IER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Calcolo parallelo e sistemi multiprocessore 2000 ier Luca Montessoro (si veda la nota di copyright
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
DettagliCapitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved
Capitolo 2 Elaborazione dei dati Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 2: Elaborazione dei dati 2.1 Architettura del Computer 2.2 Linguaggio macchina 2.3 Esecuzione
DettagliArchitettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann
Architettura Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Argomenti Modello di Von Neumann, Bus, Memoria centrale e dispositivi Data Path delle architetture di Von Neumann
DettagliStoria dell informatica e del calcolo automatico. Murano Aniello D Avino Assunta
Storia dell informatica e del calcolo automatico Docente corso Docente abilitante Murano Aniello D Avino Assunta Negli ultimi anni sono state delineate le principali caratteristiche architetturali delle
DettagliLA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
DettagliArchitettura dei Sistemi Informatici
Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione
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. 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
DettagliLa memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni
La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo
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
DettagliIntroduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione
Sistemi Distribuiti Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto A metà degli anni quaranta inizia l era dei calcolatori elettronici moderni: grandi, costosi e
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
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
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
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
DettagliArchitettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori
rchitettura dei Calcolatori Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria dell'informazione Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 20 settembre 2002 - rchitettura
DettagliSecondo biennio Articolazione Informatica Sistemi e Reti Prova Terza
Il clock della CPU A. fornisce la data corrente ai programmi macchina B. temporizza le operazioni elementari C. ha la stessa frequenza del clock del bus di sistema D. si misura in bit per secondo (bps)
DettagliLezione 2 Chiamate di procedura e risposta alle interruzioni
Modulo 1 U.D. 1 Lez. 2 Lezione 2 Chiamate di procedura e risposta alle interruzioni Sistemi Operativi I Modulo 1 - Architettura del Calcolatore Unità didattica 1 - Architettura e funzionamento dei sistemi
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
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
DettagliSistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.
Sistemi Distribuiti Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto 19.1 Introduzione A metà degli anni quaranta inizia l era dei calcolatori elettronici
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
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
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
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
DettagliEstensioni all architettura di Von Neumann
Estensioni all architettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali Indice Limiti dell architettura di Von Neumann Estensioni all architettura di Von Neumann CISC e RISC 2 1 La
DettagliI sistemi multiprocessori
Indice I sistemi multiprocessori Corso di Sistemi per Elaborazione dell Informazione Prof. Bruno Carpentieri A.A. 2004/2005 Loredana D Arienzo Maurizio Cembalo Sistemi Multiprocessore Caratteristiche Modelli
DettagliLe reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DettagliSISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
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
DettagliArchitettura del Calcolatore
Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore
DettagliCPU. Dispositivi di I/O. Bus. Terminale. Stampante. Memoria centrale. Unità disco CPU. Unità di controllo. Unità aritmetico logica (ALU) Registri
Capitolo 6 Le infrastrutture HardWare Il processore CPU Central Processing Unit Unità Centrale di Elaborazione Organizzazione tipica di un calcolatore bus oriented CPU Unità di controllo Dispositivi di
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
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
DettagliMacchine Astratte. Luca Abeni. February 22, 2017
Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria
DettagliIntroduzione all'architettura dei Calcolatori
Introduzione all'architettura dei Calcolatori Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte
DettagliIl Sistema Operativo
Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer
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
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
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
DettagliPrincipi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica
Principi operativi dei computer Capitolo 7 Fluency Conoscere e usare l informatica I soliti sospetti Processore Sistema operativo Software Istruzioni Ciclo macchina Memoria Hardware componente Com è fatto
DettagliSistema operativo: Introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Introduzione La presente dispensa e da utilizzarsi
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
DettagliIntroduzione ai sistemi operativi
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione ai sistemi operativi Contatti Docente: Alberto Pretto Ricevimento pretto@dis.uniroma1.it Appuntamento
DettagliProgramma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori
Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Evoluzione dei sistemi informatici Cos è una rete? Insieme di
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
DettagliCenni sulla virtualizzazione
Astrazione Cenni sulla virtualizzazione Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti Tullio Vardanega Nascondere dettagli dell implementazione per semplificare la vista logica dell utente
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
DettagliSistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15
Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:
DettagliSCD. Sistemi distribuiti: introduzione. Openness. Sistemi distribuiti: introduzione. Caratteristiche di trasparenza. Definizione
Caratteristiche di trasparenza Anno accademico 2016/17 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Trasparenza di Accesso Collocazione Per nascondere Differenze
DettagliTu sai di averne uno quando il guasto di un computer di cui non hai mai sentito parlare non ti permette di fare il tuo lavoro.
2014 Tu sai di averne uno quando il guasto di un computer di cui non hai mai sentito parlare non ti permette di fare il tuo lavoro. -Lamport Quercioli, Pecoraro, Rando, Lucero V AI Sommario Definizione...
DettagliSistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario
Sistemi RAID 1 Motivazioni Concetti di base Livelli RAID Sommario 2 1 Motivazione L evoluzione tecnologica ha permesso di avere dischi sempre più piccoli e meno costosi E facile equipaggiare un sistema
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
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
DettagliRichiami sull architettura del processore MIPS a 32 bit
Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC
DettagliCenni di sistemi operativi
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Cenni di sistemi operativi Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliCALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione
DettagliCenni sulla virtualizzazione
Cenni sulla virtualizzazione Anno accademico 2015/16 Sistemi Concorrenti e Distribuiti Tullio Vardanega Virtualizzazione Realizzare una vista logica su una risorsa indipendentemente dalla sua vera natura
Dettagli