Architetture SIMD. (Architetture e Principi di Programmazione) Modello Architettura SIMD. Control Unit. Proc 1 Proc 2 Proc n-1. Mem. 1 Mem. 2 Mem.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architetture SIMD. (Architetture e Principi di Programmazione) Modello Architettura SIMD. Control Unit. Proc 1 Proc 2 Proc n-1. Mem. 1 Mem. 2 Mem."

Transcript

1 rchitetture SIMD (rchitetture e Principi di Programmazione) Modello rchitettura SIMD ontrol Unit PE PE 1 PE PE n-1 Proc Mem. Proc 1 Proc Proc n-1 Mem. 1 Mem. Mem. n-1 Rete di Interconnessione PE = Processing Element Michele olajanni rchitetture SIMD /7

2 rchitetture SIMD Nella categoria delle macchine SIMD rientrano o possono rientrare: 1. Supercomputer vettoriali (i registri vettoriali mediante cui è possibile effettuare computazioni algebriche elementari in un unico ciclo macchina assomigliano ai PE di un architettura SIMD). Sistemi a parallelismo massiccio, costituiti da molti (ma semplici) processori quali: TM onnection Machine (6.6 processori) MD DP (.96 processori) MarsPar MP-1 (16.8 processori). Macchine SIMD special-purpose: IM GF-11 (11 Gflops peak) INFN PE-1 (6 Gflops peak, nel 1991) QUDRIS Michele olajanni rchitetture SIMD /7 Modello SIMD ovvero data-parallel sincrono (1) La Programmazione SIMD richiede come primo passo una distribuzione del dominio dei dati tra tutti i nodi di elaborazione Si ha una granularità fine (fine grain) o finissima della distribuzione dei dati in quanto il numero delle unità di elaborazione è, in genere, elevato e ciascun nodo è molto semplice Per far sì che la programmazione SIMD sia efficiente, la distribuzione del dominio dei dati va effettuata in modo tale che la struttura del problema (pattern prevalente di comunicazione) sia mappata sulla rete di interconnessione fisica in modo (possibilmente) 1:1 Ogni deviazione dal mapping 1:1 comporta considerevoli perdite di tempo nello scambio dei dati (effettuato con step multipli o passando attraverso l unità di controllo, molto più lenta) Michele olajanni rchitetture SIMD /7

3 Mapping su reti di interconnessione Le topologie di interconnessione delle architetture SIMD sono regolari (griglie, torus, ipercubi, mesh multidimensionali) o, nel caso di sistemi dedicati, vengono create in base alla struttura stessa del problema Mapping Dominio dei dati Rete di Interconnessione toroidale Michele olajanni rchitetture SIMD /7 Modello SIMD ovvero data-parallel sincrono () La programmazione parallela risulta semplificata per il fatto che vi è un solo flusso di controllo e non vi sono processi indipendenti che vengono eseguiti in modo asincrono. Tutte le operazioni vengono effettuate in modalità LOK-STEP (pertanto, non vi è bisogno di meccanismi di sincronizzazione espliciti e soggetti a rischio di errore, quali monitor, semafori, ecc.) Vi è scambio di dati tra i processori, ma: di tipo collettivo e non solo tra coppie di nodi è realizzato in modo molto efficiente (in un tempo di ordini di grandezza inferiore rispetto a comunicazioni in MIMD) Processori differenti nonpossono eseguire istruzioni differenti nello stesso ciclo di clock Michele olajanni rchitetture SIMD 6/7

4 pproccio di parallelismo SIMD (sintesi) Su architetture SIMD il parallelismo viene esplicitato: mediante data parallelism: si consente ad elementi di elaborazione multipli di eseguire simultaneamente la stessa istruzione su insiemi differenti di dati (vi è un solo programma le cui istruzioni sono eseguite sequenzialmente, ma con parallelismo sui dati) in modalità sincrona in quanto vi è una sola U deadlock free Si tende al mapping tra la struttura logica del problema e la topologia della macchina Le macchine SIMD possono essere molto efficienti quando eseguono elaborazioni regolari su grandi insiemi di dati (es., alcune applicazioni numeriche, elaborazioni delle immagini) Michele olajanni rchitetture SIMD 7/7 Problemi di efficienza del parallelismo SIMD 1. ostrutti condizionali. Necessità di processori virtuali. Mapping non 1:1 del dominio dei dati problemi nelle comunicazioni Michele olajanni rchitetture SIMD 8/7

5 ostrutti condizionali Nelle istruzioni condizionali, il codice per ogni condizione deve essere eseguito sequenzialmente Valori iniziali If (==) =; else =/; Processor Processor 1 Processor Processor 6 Step 1 Processor Processor 1 idle Processor idle Processor 6 Processor idle Processor 1 Processor Processor idle Step 6 Michele olajanni rchitetture SIMD 9/7 Processori virtuali L elementarietà dei processori SIMD fa si ciascuno di essi esegua operazioni molto semplici ad ogni ciclo di clock. Potrebbero anche non essere sufficienti i 6.6 processori della M-. Esempio: gestire immagini con x pixel =. processori PROESSORI VIRTULI Programma richiede: processori virtuali Hardware dispone di: 1 processori fisici iterazioni per ogni istruzione Numero virtuale Numero fisico inattivi durante la terza iterazione Michele olajanni rchitetture SIMD 1/7

6 Tasso di virtualizzazione R = v p rescita del tempo di esecuzione e del load (Programma ipotetico: solo istruzioni vettoriali senza PE inattive) t t t _ Run time 1 virtualization ratio Numero processori virtuali Numero processori fisici??/ PE load (N o medio P attivi) _ 1 virtualization ratio La virtualizzazione deve essere trasparente per il programmatore. Può essere realizzata: In hardware (M-) In software (MasPar MP-) omunicazioni molto complesse (uso di buffer) Michele olajanni rchitetture SIMD 11/7 omunicazioni nelle rchitetture SIMD

7 omunicazioni in Sistemi SIMD Le OMUNIZIONI che rispettano la topologia fisica non creano conflitti e sono poco costose (simili ad operazioni register-to-register) nche le comunicazioni vengono eseguite in modalità LOK-STEP Le comunicazioni non sono nodo-nodo, ma avvengono con uno scambio di dati (generalmente di dimensioni limitate) tra tutte le unità di elaborazione o tra un sottoinsieme di queste Le comunicazioni avvengono tra nodi vicini e quindi il costo è dell ordine di un istruzione aritmetico/logica. nche nei sistemi con comunicazioni più complesse, il loro costo è di diversi ordini di grandezza inferiore a quello che si ha nei sistemi MIMD. Michele olajanni rchitetture SIMD 1/7 Scambio di dati E una funzione collettiva eseguita in parallelo Ogni PE trasmette il valore della sua variabile locale x al suo vicino a destra nella griglia: [,1] [,1] [1,1] [,] [,] [1,] [,] [,] [1,] [,] [,] [1,] Dal momento che i sistemi SIMD mettono a disposizione delle strutture di interconnessione molto veloci, le comunicazioni regolari sono mappate facilmente sulla connessione fisica e sono realizzate in modo molto efficiente. Ogni deviazione dalla regolarità causa considerevoli perdite di tempo, in quanto lo scambio dei dati deve avvenire: o attraverso passi multipli o (se disponibile) attraverso la più lenta struttura di interconnessione universale Michele olajanni rchitetture SIMD 1/7

8 Passi per lo Scambio dei Dati [] Definizione di una struttura di connessione (logica) ONFIGURTION ring [..11]; [1] TTIVZIONE Selezione di un gruppo di PE PRLLEL ring [..8];.. END PRLLEL [] Scelta di una direzione nella struttura di connessione pre cedentemente definita PROPGTE.right(x); [] ESEUZIONE Trasferimento dei dati (a coppie) tra tutte le PE selezionate send receive Michele olajanni rchitetture SIMD 1/7 Mapping (1) Le comunicazioni sono efficienti SOLO SE rispettano la regolarità della topologia di interconnessione fisica. grid[,1] grid[,] Esempio: RING grid[1,1] grid[1,] 1 GRID casi: (i, j) (i, j+1) (i, j) (i+1, j) (,) (1, 1) Michele olajanni rchitetture SIMD 16/7

9 Mapping () Per mapping complessi, non strutturati, o spesso nel caso dei processori virtuali, non conviene utilizzare il meccanismo precedente ma passare dal ROUTER UNIVERSLE. PE1 PE PE PE PE PE6 PE7 PE8 PE1 PE PE PE PE PE6 PE7 PE8 La struttura di connessione globale è semplice da utilizzare, ma molto inefficiente Michele olajanni rchitetture SIMD 17/7 Rete di interconnessione (M-) [,,,,,,,,,1,1,1] GLOLE [,,,,,,,,,1,,1] [,,,,,,,,1,1,1,1] [,,,,,,,,1,,1,1] [,,,,,,,,,,1,] [,,,,,,,,,,1,1] [,,,,,,,,,,,] [,,,,,,,,,,,1] 1 1 Router(hypercube + NEWS) LOLE PE1 PE PE PE PE PE6 PE7 PE8 PE 9 PE1 PE11 PE1 PE1 PE1 PE1 PE16 Michele olajanni rchitetture SIMD 18/7

10 Rete di Interconnessione (MasPar MP-) LOLE 1, luster whith 16 Pes each (16,8 PEs total) Multiplexer Demultiplexer GLOLE 1 1 1, 1, -stage los-network Michele olajanni rchitetture SIMD 19/7 aratteristiche comuni delle architetture SIMD I sistemi hanno almeno un mesh o un torus bidimensionale come rete di interconnessione Tutti i sistemi usano una versione parallela di Fortran (anche se non compatibile tra loro ) E stata resa disponibile una versione standard di Fortran 9 che semplifica la parallelizzazione automatica (o meglio esplicita i costrutti parallelizzabili) Michele olajanni rchitetture SIMD /7

11 SIMD vs. MIMD 1. SIMD richiede meno hardware dei MIMD perché vi è una sola U e molti PE. D altro canto, nei MIMD è possibile utilizzare processori general-purpose e quindi per le leggi dell economia di scala i processori MIMD potrebbero essere allo stesso tempo più potenti e più economici dei PE delle architetture SIMD.. SIMD richiede meno memoria dei MIMD perché si deve memorizzare una sola copia del programma. MIMD memorizza il programma ed il sistema operativo in ogni nodo. SIMD è naturalmente predisposta ad una programmazione data-parallel. In particolare, con frequenti sincronizzazioni (fine grain). SIMD richiede un tempo di STRTUP inferiore nelle comunicazioni con i vicini perché (essendovi un clock globale) la comunicazione è paragonabile ad un trasferimento register-to-register Michele olajanni rchitetture SIMD 1/7 Linguaggi di Programmazione SIMD

12 Vector Reduction Una delle operazioni fondamentali nelle tipiche applicazioni per macchine SIMD. dove: Un vettore è ridotto ad uno scalare: S := REDUE.xxx (vector) xxx = SUM, MULT, M, MIN, ND, Tutte le macchine SIMD mettono a disposizione dell hardware o del software specializzato per eseguire in modo efficiente questa operazione. Tree-Shaped Paralllel Processing Sequential Processing log n steps (n-1) steps Michele olajanni rchitetture SIMD /7 Fortran 9 Sviluppato da: NSI ommittee j [ ] Successo del Fortran 77 Sviluppato per superare tutti i dialetti dei Fortran paralleli (MFortran, MPFortran, Fortran-Plus, ecc.) datti sia ad architetture sequenziali che parallele ttenzione!!! iò non significa che un dusty program scritto in Fortran Possa essere eseguito efficientemente in parallelo dopo semplice ricompilazione Michele olajanni rchitetture SIMD /7

13 ostrutti paralleli Operazioni matriciali come singole istruzioni: INTEGER, DIMENSION(1, ) ::,, = + Non tutti i PE devono prender parte alle operazioni: WHERE (V.LT. ) V = 7 Diverse operazioni di riduzione sono disponibili: LL, NY, MVL, MINVL, PRODUT, SUM ltre funzioni standard disponibili: DOTPRODUT (vector_a, vector_b) = INTEGER D_PROD INTEGER, DIMENSION(1) ::,,, = * D_PROD = SUM() MMUL (matrix_a, matrix_b) Programmare in Fortran 9 consente un uso ristretto del parallelismo: Le formule matematiche sono relativamente facili da convertire lgoritmi complessi possono, invece, creare problemi a causa dell insufficiente flessibilità dei costrutti del linguaggio. Michele olajanni rchitetture SIMD /7 Parallaxis Sviluppato da: Thomas räunl [1989]. asato sul Modula-, esteso con concetti paralleli portabile su tutti gli ambienti SIMD Public domain Programmare ad un livello di astrazione con PE virtuali e connessioni virtuali. PROGRMM = Descrizione lgoritmo + Dichiarazione onnessione (in forma funzionale) Michele olajanni rchitetture SIMD 6/7

14 ostrutti Paralleli di onnessione west north east Hypercube [,1,1,1] south ONFIGURTION grid [1..],[1..] ONFIGURTION north: grid[ i, j ] grid[ i+1, j].south; south: grid[ i, j ] grid[ i-1, j ].north; east : grid[ i, j ] grid[ i, j+1].west; west : grid[ i, j ] grid[ i, j-1 ].south; inary Tree 8 ONFIGURTION tree [1..1] ONNETION lchild: tree[i] tree[*i].parent; rchild: tree[i] tree[*i+1].parent; [,,,] [,,1,] [1,1,1,1] [,1,,1] [1,,1,1] [,,1,1] [,,,1] ONFIGURTION hyper [], [], [], []; ONNETION go(1) : hyper[i,j,k,l] hyper[(i+1)mod, j, k, 1).go(1); go() : hyper[i,j,k,l] hyper[i, (j+1)mod, k, 1).go(); go() : hyper[i,j,k,l] hyper[i, j, (k+1)mod, 1).go(); go() : hyper[i,j,k,l] hyper[i, j, k, (l+1)mod ).go(); Michele olajanni rchitetture SIMD 7/7 ostrutti paralleli di omunicazione PROPGTE PPROPGTE. east(x); PROPGTE può anche avere parametri: Espressioni vettoriali da inviare Variabili ricevute { Es.: PROPGTE.east(*y, x); SEND e REEIVE Example: SEND grid.east(*y) TO grid.west(x); REEIVE tree.parent(t) FROM grid.east(x); Utili soprattutto nel caso di topologie diverse. Evidentemente, ad ogni passo, solo una delle operazioni può essere attiva. Michele olajanni rchitetture SIMD 8/7

15 Dot Product Esempi ONFIGURTION list(max); ONNETION; (* none *) scalar d_prod: real; scalar x, y, prod: real;... PRLLEL prod := x*y d_prod := REDUE.SUM(prod); ENDPRLLEL; Laplace ONFIGURTION grid [1..1],[1..1]; ONNETION north: grid[ i, j ] grid[ i+1, j].south; south: grid[ i, j ] grid[ i-1, j ].north; east : grid[ i, j ] grid[ i, j+1].west; west : grid[ i, j ] grid[ i, j-1 ].south; VETOR pixel, n, s, w, e: INTEGER;... PRLLEL PROPGTE.north(pixel, s); PROPGTE.south(pixel, n); PROPGTE.west(pixel, e); PROPGTE.east(pixel, w); pixel := *pixel n - s - w e; ENDPRLLEL; Michele olajanni rchitetture SIMD 9/7 Problemi con la Programmazione SIMD Operazioni vettoriali indiciate d esempio, Gather e Scatter for i := 1 to n do a[i] := b[index[i]] end ccessi non regolari ai vettori for i := 1 to n do a[index[i]] := b[i] end Mapping di processi virtuali su processi fisici olli di bottiglia dovuti ad accessi alle periferiche omunicazioni non regolari Multi-utenza Tolleranza ai guasti Michele olajanni rchitetture SIMD /7

16 Integerazione numerica π = 1 _ l+x dx Interv. Σ i=1 _ width 1+((i-.)*width) * 1 SYSTEM compute _pi : (* parallel algorithm from R. abb *) ONST intervals = 1; width = 1. / float(intervals) ONFIGURTION list [1..intervals]; 6 ONNETION ( * none *) 7 8 VETOR val: real; 9 1 PROEDURE f (VETOR x: real):vetor real; 11 (* function to be integrated *) 1 EGIN 1 RETURN (. / (1. + *)) 1 END f; 1 16 EGIN 17 PRLLEL(* Integral approximation with rectangle rule*) 18 val := width* f( ( float(id_no)-.) * width ); 19 ENDPRLLEL writereal(redue.sum(val), 1); 1 END compute_pi.. 1 Michele olajanni rchitetture SIMD 1/7 Sorting (ODD-EVEN) (1) 1 SYSTEM sort; (* Odd-Even Transposition Sorting (parallel bubble-sort) *) ONST n = 1; ONFIGURTION list [1..n]; ONNETION left : list[i] -> list [i-1].right; 6 right: list[i] -> list [i+1].left; 7 8 SLR step: INTEGER; 9 a: RRY[1..n] OF INTEGER; 1 11 VETOR val,r,l,comp: INTEGER; 1 lhs: OOLEN; 1 1 EGIN 1 WriteString("Please enter values: '); 16 FOR step:=1 TO n DO ReadInt(a[step]) END; 17 LOD(val,a); PRLLEL lhs := ODD(id_no); (* PE is left-hand side of a comparison *) 1 FOR step:=1 TO n DO PROPGTE.right(val,l); PROPGTE.left(val,r); Michele olajanni rchitetture SIMD /7

17 Sorting (ODD-EVEN) () IF lhs THEN comp:=r ELSE comp:=l END; IF lhs = (comp<val) THEN val:=comp END; (* lhs&(comp<val) *) 6 lhs := NOT lhs; (* or rhs&(comp val) *) 7 END; 8 ENDPRLLEL; 9 STORE(val,a); 1 1 FOR step:=1 TO n DO WriteInt(a[step],1); WriteLn END; END sort.! Numbers distributed among the PEs 1 Steps 1. Odd 1. Even 1. Odd 1. Even 1. Odd 1 Michele olajanni rchitetture SIMD /7 Moltiplicazione matriciale (sistolica) 1 Input Matrix b nn := * b 11 Input Matrix a 11 a nn Processor Field and Solution Matrix Michele olajanni rchitetture SIMD /7

18 Moltiplicazione matriciale (sistolica) 1 SYSTEM systolic_array; (* alculate the matrix product c := a * b *) ONST max = 1; TYPE matrix = RRY [1..max], [1..max] OF REL; 6 ONFIGURTION grid [max], [max]; 7 ONNETION left: grid[i,j] -> grid[i,(j-l) MOD max].left*; 8 up : grid[i,j] -> grid[((i-l) MOD max,j].up; 9 pre : grid[i,j] -> grid[i,(j-i) MOD max].pre; 1 pre: grid[i,j] -> grid[(i-j) MOD max,j].pre; 11 1 SLR i,j : INTEGER; 1 a,b,c : matrix; PROEDURE matrix_muit(slr VR a,b,c : matrix); 17 (* c := a * b *) 18 SLR k: INTEGER; 19 VETOR ra,rb,rc : REL; EGIN 1 LOD (ra,a); LOD (rb,b); PRLLEL PROPGTE.pre (ra); PROPGTE.pre(rb); 6 rc := ra * rb; 7 FOR k := TO max DO 8 PROPGTE.left(ra); 9 PROPGTE.up(rb); rc := rc + ra * rb; 1 END; ENDPRLLEL; STORE(rc,c); END matrix_mult; 6 EGIN 7... (* read matrices a and b *) 8 matrix_mult(a,b,c); 9... (* write matrix c *) END systolic_array. Generazione di frattali (1) (Metodo DIVIDE-ND-ONQUER) Starting state PE rranged as a inary Tree fter 1st step fter nd step fter nth step Divide-and-conquer implemented with tree topology Iserire immagine Michele olajanni rchitetture SIMD 6/7

19 Generazione di frattali () 1 SYSTEM fractal; ONST maxlevel = 7; low_val =.; high_val = 1.; maxnode = **maxlevel - 1; 6 (* declaration of the tree structure *) 7 ONFIGURTION tree [1..maxnode]; 8 ONNETION child_l: tree[i] <-> tree[*i].parent; 9 child_r: tree[i] <-> tree[*i+l].parent; 1 SLR i : INTEGER; 11 delta : REL; 1 field : RRY [1..maxnode] OF REL; 1 VETOR x, low, high : REL; 1 1 PROEDURE Gauss(): VETOR REL; 16 (*generation of a random value vector with Gauss dist.*) END Gauss; 7 8 PROEDURE inorder(slr node: INTEGER); 9 (* output of the tree elementa inlinear sequence *) END inorder; 7 8 PROEDURE MidPoint(SLR delta:rel;slr level:integer); 9 EGIN (* select current tree level *) PRLLEL [**(level-1).. **level - 1] 1 x :=. * (low + high) + delta*gauss(); IF level < maxlevel THEN (* values for children*) SEND tree.child_l (low) TO tree.parent ( low) ; SEND tree.child_l (x) TO tree.parent(high); SEND tree.child_r (x) TO tree.parent( low) ; 6 SEND tree.child_r (high) TO tree.parent(high); 7 END; 8 ENDPRLLEL; 9 END MidPoint; 1 EGIN (* main program *) PRLLEL (* starting values *) low := low_val; high := high_val; x :=.; 6 ENDPRLLEL; 7 FOR i:=1 TO maxlevel DO 8 delta:=.**(float(i)/.); 9 MidPoint(delta,i); 6 END; 61 STORE(,field); 6

PARTE II PROGRAMMAZIONE PARALLELA

PARTE II PROGRAMMAZIONE PARALLELA PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di

Dettagli

MODELLO AD AMBIENTE GLOBALE

MODELLO AD AMBIENTE GLOBALE MODELLI DI INTERAZIONE TRA PROCESSI Modello ad ambiente globale ( global environment ) Modello a scambio di messaggi ( message passing ) MODELLO AD AMBIENTE GLOBALE Il sistema è visto come un insieme di

Dettagli

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013 Architetture Paride Dagna SuperComputing Applications and Innovation Department 18/02/2013 Introduzione Grazie alle moderne tecniche di programmazione e agli strumenti di sviluppo attualmente disponibili,

Dettagli

I metodi formali nel processo di sviluppo del software

I metodi formali nel processo di sviluppo del software I metodi formali nel processo di sviluppo del software I metodi formali consentono di creare una specifica più completa, uniforme e non ambigua di quelle prodotte usando i metodi convenzionali ed orientati

Dettagli

Operazioni di Comunicazione di base. Cap.4

Operazioni di Comunicazione di base. Cap.4 Operazioni di Comunicazione di base Cap.4 1 Introduzione: operazioni di comunicazioni collettive Gli scambi collettivi coinvolgono diversi processori Sono usati massicciamente negli algoritmi paralleli

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008

ESERCIZI MPI. 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 SRCIZI MPI 1 edizione 7-18 luglio 2008 2 edizione 8 19 settembre 2008 xercise 1 Using MPI: 1. Hello world 2. Hello world, I am proc X of total Y (from 1 to total 4 tasks) 3. Do it in the queue program

Dettagli

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica. Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Modellidi SistemiDistribuiti

Dettagli

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Cos e` un Sistema Operativo? Cos è un sistema operativo? Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57 I Indice generale Prefazione viii 1 Il calcolatore: astrazioni e tecnologia 1 1.1 Introduzione 1 Tipi di calcolatore e loro caratteristiche 2 Cosa si può imparare da questo libro 5 1.2 Cosa c è dietro

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 ARRAY PROCESSORS. ARCHITETTURE A PARALLELISMO MASSIVO ESEMPI In questa lezione vengono presentati alcuni esempi di architetture a parallelismo massivo. Si

Dettagli

UD 1.5c: Il Sistema Operativo (parte 1)

UD 1.5c: Il Sistema Operativo (parte 1) Prof. Alberto Postiglione Scienze della e Facoltà di Lettere e Filosofia Università degli Studi di Salerno UD 1.5c: Il Sistema Operativo (parte 1) Informatica Generale (Laurea in Scienze della e) Sistemi

Dettagli

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

3 Capitolo primo Informatica e calcolatori

3 Capitolo primo Informatica e calcolatori I n d i c e 3 Capitolo primo Informatica e calcolatori 7 Capitolo secondo La rappresentazione delle informazioni 11 2.1 La codifica dei caratteri 2.1.1 Il codice ASCII, p. 11-2.1.2 Codifiche universali,

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

Componenti del Sistema di Elaborazione

Componenti del Sistema di Elaborazione Componenti del Sistema di Elaborazione Il Sistema di Elaborazione Monitor Tastiera Processore Memoria Centrale (Programmi + Dati) Memorie di massa Altre periferiche Rete Rete a.a. 2002-03 L. Borrelli 2

Dettagli

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

Dettagli

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione

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

Dettagli

Parte VIII. Architetture Parallele

Parte 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

Dettagli

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche m.bernaschi@iac.cnr.it L'evoluzione del calcolo ad alte prestazioni dal punto di vista dell'utente e dello sviluppatore

Dettagli

Modello del Computer. Componenti del Computer. Architettura di Von Neumann. Prof.ssa E. Gentile. a.a. 2011-2012

Modello del Computer. Componenti del Computer. Architettura di Von Neumann. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Modello del Computer Prof.ssa E. Gentile a.a. 2011-2012 Componenti del Computer Unità centrale di elaborazione Memoria

Dettagli

Sommario. Gestione dell I/O e Scheduling dei Dischi. Categorie di Dispositivi di I/O. Human readable

Sommario. Gestione dell I/O e Scheduling dei Dischi. Categorie di Dispositivi di I/O. Human readable Sommario Gestione dell I/O e Scheduling dei Dischi Dispositivi di I/O Organizzazione delle funzioni di I/O Problematiche di Progettazione I/O Buffering Disk Scheduling Categorie di Dispositivi di I/O Area

Dettagli

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Architetture parallele

Architetture parallele 1 Calcolatori paralleli A meno di una nuova rivoluzione scientifica la legge di Moore (che pronostica un raddoppio del numero di transistor su un singolo chip ogni 18 mesi) non potrà rimanere valida per

Dettagli

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento Input e Output INPUT Input / Output Salvatore Orlando OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA Arch. Elab. - S. Orlando 1 La

Dettagli

Uso di ACL per la protezione di un sistema operativo. Robustezza Informatica

Uso di ACL per la protezione di un sistema operativo. Robustezza Informatica Uso di ACL per la protezione di un sistema operativo Uso di ACL (e non solo) per la protezione di un sistema operativo F.Baiardi Università di Pisa Fabrizio Baiardi-Uso di ACL... -1 Robustezza Informatica

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni per il controllo di ciclo - ciclo a condizione generica Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...

Dettagli

Strutture dei sistemi operativi

Strutture dei sistemi operativi Contenuti della lezione di oggi Strutture dei sistemi operativi Descrizione dei servizi messi a disposizione dell utente dal SO Utente generico Programmatore Esame delle possibili strutture di un SO Monolitica

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = , dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Openmosix e Beowulf: introduzione e confronto

Openmosix e Beowulf: introduzione e confronto Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

MODELLO DLX IN UNISIM

MODELLO DLX IN UNISIM Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione RCHITETTUR DI UN ELORTORE MCCHIN DI VON NEUMNN Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). UNITÀ FUNZIONLI fondamentali Processore (CPU) Centrale

Dettagli

Reti Logiche A. Introduzione al VHDL

Reti Logiche A. Introduzione al VHDL Reti Logiche Introduzione al VHDL Gianluca Palermo Politecnico di Milano Dipartimento di Elettronica e Informazione e-mail: gpalermo@fusberta.elet.polimi.it 1 Sommario Introduzione Struttura di un modello

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi Lezione 2: Compiti del S.O. La struttura e funzioni dei Sistemi Operativi Un S.O. ha il compito di rendere semplice (all utente), l utilizzo del calcolatore componenti di un sistema operativo servizi dei

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Dettagli

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti SISTEMI DISTRIBUITI Criteri di classificazione dei sistemi distribuiti Autonomia, distribuzione, eterogeneità Architetture per DBMS distribuiti Client/server Peer-to-peer Multi-database Regole di Date

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

Definizione e storia dei sistemi operativi

Definizione e storia dei sistemi operativi Definizione e storia dei sistemi operativi Dipartimento di Informatica Università di Verona, Italy Che cos è un Sistema Operativo? E un insieme di programmi agisce come intermediario tra HW e uomo per

Dettagli

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO.

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO. Sistemi Operativi Il Sistema Operativo Corso di Informatica Generale (Roberto BASILI) Cos'è un sistema operativo? Un sistema operativo e': La astrazione logica del livello macchina hardware e microprogrammata

Dettagli

Input/Output: bus, interfacce, periferiche

Input/Output: bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione dell informazione.

Dettagli

Componenti dell elaboratore

Componenti dell elaboratore L hardware del PC Componenti dell elaboratore Hardware Parte fisica del sistema Dispositivi fisici Software Parte logica del sistema Programmi e dati 2 Hardware dell elaboratore 3 L'architettura del calcolatore

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1). Speedup Vediamo come e' possibile caratterizzare e studiare le performance di un algoritmo parallelo: S n = T 1 T p n Dove T 1 e' il tempo impegato dal miglior algoritmo seriale conosciuto, mentre T p

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Introduzione all Informatica 1 Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Programma del corso Programma di

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management Descrizione di Macchine a Stati finiti in VHDL Descrizioni di Macchine a Stati finiti in VHDL In questa lezione vedremo come un sistema digitale sequenziale può essere descritto in VHDL. Outline: Macchine

Dettagli

Guida utente User Manual made in Italy Rev0

Guida utente User Manual made in Italy Rev0 Guida utente User Manual Rev0 made in Italy Indice/Index Informazioni generali General Info... 3 Guida Rapida per messa in funzione Start Up procedure... 3 Login Login... 3 Significato dei tasti Botton

Dettagli

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Il sensore ad ultrasuoni

Il sensore ad ultrasuoni Il sensore ad ultrasuoni Caratteristiche elettriche Alimentazione: 5 Vcc Il sensore rileva oggetti da 0 cm fino a 6,45 metri. Tre diverse possibiltà per leggere il dato di uscita del sensore: 1. lettura

Dettagli

PROGRAMMAZIONE DISCIPLINARE ( modulo redatto da prof. A. Rossi)

PROGRAMMAZIONE DISCIPLINARE ( modulo redatto da prof. A. Rossi) DISCIPLINA A.S. 2011-12 di dipartimento individuale del/i docenti Sarro Alessandro Mete Nicola per la classe 4TIEL 1) PREREQUISITI Concetti di matematica,fisica ed elettrotecnica. 2) SITUAZIONE DI PARTENZA

Dettagli

RDBMS: panorama attuale. RDBMS: panorama attuale

RDBMS: panorama attuale. RDBMS: panorama attuale RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni

Dettagli

Virtualizzazione e Macchine Virtuali

Virtualizzazione e Macchine Virtuali Virtualizzazione e Macchine Virtuali Gabriele D Angelo, Ludovico Gardenghi {gda, garden}@cs.unibo.it http://www.cs.unibo.it/~gdangelo/ http://www.cs.unibo.it/~gardengl/ Università di Bologna Corso di Laurea

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna 1 IMPLEMENTAZIONE OPERATIVA DI UN MODELLO DI PREVISIONI METEOROLOGICHE SU UN SISTEMA DI CALCOLO PARALLELO LINUX/GNU Davide Cesari Massimo Bider Paolo Patruno Emilia Romagna LM-COSMO-LAMI 2 Il modello LM

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Outline! Esempio introduttivo e motivazioni! Introduzione al modello

Dettagli

Elementi di grafica raster

Elementi di grafica raster Elementi di grafica raster Le immagini Una immagine è una rappresentazione spaziale di un oggetto o di una scena Una immagine digitale è una rappresentazione di una scena anche 3D dopo il processo di acquisizione

Dettagli

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

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Combinazioni serie IL-MIL + MOT

Combinazioni serie IL-MIL + MOT Combinazioni tra riduttori serie IL-MIL e MOT Combined series IL-MIL + MOT reduction units Combinazioni serie IL-MIL + MOT Sono disponibili varie combinazioni tra riduttori a vite senza fine con limitatore

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino Docente Risultati Scritto Fiorino Carulli Orali Cognome: Nome: Nro di Matricola: Docente: Domanda 1 (1 punto ) Stabilire il risultato

Dettagli

Sistema di protezione (2) Protezione (1)

Sistema di protezione (2) Protezione (1) Sistema di protezione (1) Sistema di protezione (2) Sistema di protezione (3) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione:

Dettagli

Sistema di protezione (1)

Sistema di protezione (1) Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Introduzione ai Sistemi Distribuiti

Introduzione ai Sistemi Distribuiti Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ai Sistemi Distribuiti Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Definizioni di SD Molteplici

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

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

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

Le tecnologie ed i componenti di Ethernet

Le tecnologie ed i componenti di Ethernet Le tecnologie ed i componenti di Ethernet Hub, Bridge, Switch Ethernet Tecnologia LAN dominante: Economica:

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

TENERE a distanza le persone non qualificate e non autorizzate dell area del test DISPORRE le stazioni di test in maniera sicura e ordinata MAI

TENERE a distanza le persone non qualificate e non autorizzate dell area del test DISPORRE le stazioni di test in maniera sicura e ordinata MAI TENERE a distanza le persone non qualificate e non autorizzate dell area del test DISPORRE le stazioni di test in maniera sicura e ordinata MAI toccare prodotti o connessioni durante lo svolgimento di

Dettagli

Sincronizzazione nei Sistemi Distribuiti

Sincronizzazione nei Sistemi Distribuiti Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Sincronizzazione nei Sistemi Distribuiti (parte ) Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 9/ La nozione di tempo

Dettagli

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento. Sommario Analysis & design delle applicazioni parallele Misura delle prestazioni parallele Tecniche di partizionamento Comunicazioni Load balancing 2 Primi passi: analizzare il problema Prima di iniziare

Dettagli