Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift"

Transcript

1 Parte I La gerarchia di memoria Avere una grande quantità di memoria ad alta velocità, oltre ad essere tecnicamente complesso, porterebbe ad avere costi proibitivi. Si ottengono comunque ottimi risultati costruendo una gerarchia di memoria, cioè combinando piccole memorie veloci (cache) e grandi memorie più lente (memoria principale). La cache verrà quindi usata per contenere i dati usati più di frequente. Nelle architetture moderne, la gerarchia di memoria è composta da diversi livelli. In ordine decrescente di prestazioni e crescente di dimensioni, essi sono: registri, cache primaria (L1), cache secondaria (L2), cache L3 (ancora abbastanza rara), memoria principale (RAM). La cache primaria è spesso divisa in cache istruzioni e cache dati. La gestione dello spostamento dai dati tra cache e momoria principale viene fatta automaticamente dall'hardware, in quanto risulta molto dicile la sua gestione da parte del programmatore. Quando il processore ha bisogno del dato all'indirizzo x, lo cerca prima nella cache. Se non lo trova, si ha un cache miss, e il processore deve recuperarlo dalla memoria principale e copiarlo in cache prima di usarlo (in modo tale da avere un cache hit successivamente). Ciò comporterà tuttavia lo stallo del processore per alcuni cicli mentre attende il trasferimento dei dati. Conseguenze della gerarchia di memoria Prelevare byte spesso è più costoso che prelevare una word, perchè a questa operazione aggiunge il tempo di shift Memorizzare byte è generalmente più costoso rispetto a memorizzare un'intera parola, perchè gli altri byte devono essere prelevati dalla memoria per completare la word e poi risalvati assieme al byte che si voleva salvare. Località temporale accedere ad una parola usata di recente porterà generalmente a un cache hit Località spaziale accedere ad una word nello stesso blocco di una acceduta di recente porterà generalmente a un cache miss Conitti di cache se si accede di frequente a due indirizzi con la stessa chiave (a e a + i 2 w+l+m ), si avrà un notevole peggioramento di prestazioni, perchè essi si toglieranno vicendevolmente dalla cache ogni volta, portando a numerosi cache miss. 1 Struttura delle memorie cache Esistono diversi tipi di memoria cache, che si distinguono per come sono implemementate internamente e, quindi, per come deniscono le politiche di sostituzione da applicare quando una parola di memoria deve sostituirne un'altra. Sono qui presentate solo le strutture che possono essere sfruttate dagli algoritmi descritti in seguito. 1.1 Cache a mappatura diretta (direct-mapped) È costituita da 2 m blocchi (righe di cache) che contengono ognuno 2 l parole (word) di 2 w byte. In totale, contiene quindi 2 m+l+w byte. Generalmente una parola è di 4 byte e un blocco di 32 byte. Ogni blocco è la copia di dati contenuti nella memoria principale ed è identicato da un tag e da una chiave che permettono di individuare l'indirizzo di provenienza del blocco di cache. In particolare, nelle cache direct-mapped, la chiave indica la riga della tabella della cache in cui il dato dovrà essere scritto (non è possibile eettuare una scelta: ad ogni indirizzo di memoria corrisponde sempre la stesa riga) e il tag (che corrisponde alla prima parte dell'indirizzo) indica da quale parte della memoria principale proviene il blocco attualmente presente in tale riga della cache. Quando si vuole sapere se un indirizzo è presente in cache, si legge la sua chiave e si verica che il tag presente nella corrispondente riga di cache sia uguale al tag estratto dall'indirizzo. Se i tag sono uguali si ha un cache hit, altrimenti un cache miss. 1

2 1.1.1 Cache set-associative Sono una variante delle cache direct-mapped che permette di avere più di un blocco in corrispondenza dello stesso valore di chiave. È un po' più complesso ottimizzare i compilatori perchè le sfruttino al meglio rispetto a quanto non lo sia per le cache direct-mapped. 2 Policy di accesso in scrittura Per la lettura dalla cache ci si comporta come visto nel paragrafo precedente; per quanto riguarda la scrittura, a seconda che si abbia un miss o un hit, ci si può comportare in modi diversi. 2.1 Hit Indica che il blocco x che si deve scrivere è già presente nella cache. La condizione è facile ed eciente da gestire, con uno dei due modi possibili: write-through si aggiorna immediatamente sia la cache sia la memoria principale write-back si aggiorna solo la cache, aggiornando la memoria principale in seguito, al momento in cui il blocco starà per essere rimosso dalla cache per far posto ad un altro. Qualunque sia la scelta eettuata, l'eetto sulla compilazione ed ottimizzazione dei programmi è minimo. 2.2 Miss La tipologia di miss implementata inuenza il modo in cui i programmi dovrebbero essere ottimizzati. Tra le varie tipologie, utilizzate da macchine dierenti, abbiamo: Fetch-on-write la parola x è scritta sulla cache. Le altre parole del blocco (che al momento contengono ancora i dati ivi presenti in precedenza, che possiamo considerare garbage) vengono sovrascritte prelevandole dalla memoria principale, in modo di avere un intero blocco valido. Nel frattempo, il processore è bloccato (stalled). Write-validate La parola x viene scritta in cache. Le altre parole dello stesso blocco sono marcate (tramite un apposito bit) come invalide. Non si preleva nulla dalla memoria, quindi il processore non viene bloccato. Write-around La cache viene saltata e la parola x viene scritta direttamente sulla memoria principale. Il processore non viene bloccato perchè non è necessario attendere una risposta dalla memoria, tuttavia si avrà un cache miss al prossimo accesso a tale indirizzo (che, secondo il principio di località temporale dei dati, molto probabilmente avverà presto). 3 Allineamento dei blocchi di cache Un blocco di cache ha generalemente una dimensione pari a circa 8 word (circa corrispondenti alla dimensione media di un oggetto). Considerando che se si accede ad un campo di un oggetto è probabile che si dovrà presto accedere anche ad un altro, nel caso in cui un oggetto si trovi ad essere disposto su due diversi blocchi di cache è probabile che si avranno più cache miss del necessario. Per ridurre al minimo questa condizione, si possono seguire due regole: 1. Allocare gli oggetti sequenzialmente, ma in modo tale che se un oggetto non può essere contenuto interamente nel blocco corrente, si lascia vuota una parte di esso e si dispone l'oggetto all'inizio del blocco successivo 2. Allocare in un area di memoria tutti gli oggetti di dimensione 2, in un'altra tutti quelli di dimensione 4 e così via (a multipli e sottomultipli della dimensione del blocco di cache). In questo modo si elimina il problema del block-crossing senza sprechi di memoria. Nel caso in cui ci sia un insieme di oggetti a cui si accede di frequente, l'uso di queste tecniche può ridurre la loro occupazione da un valore superiore alla dimensione della cache a uno gestibile. Questa tecnica può esere applicata sia dal compilatore per gli la gestione degli oggetti statici allocati sullo stack (tramite l'uso di aposite istruzioni assembly di allineamento che istruiscano il linker), sia a runtime dall'allocatore di memoria per i dati dinamici contenuti nello heap. 2

3 3.1 Allineamento nella cache istruzioni Anche la cache istruzioni può beneciare di un allineamento dei blocchi, soprattutto per quanto riguarda i basic block eseguiti più di frequente, che non dovrebbero essere spezzati più del dovuto. Inoltre, basic block eseguiti raramente non dovrebbero condividere un blocco di cache con basic block eseguiti di frequente. Per eseguire l'ordinamento dei basic block si può usare il trace scheduling. Nel determinare un trace lungo un'istruzione di branch, è importante seguire l'arco eseguito con maggiore probabilità, come determinato dalla branch prediction. Inoltre, è importante l'allineamento perchè alcune macchine eseguono il fetch delle istruzioni a multipli di 2, quindi se si esegue un branch ad una istruzione che non si trova in tale posizione, si ha una perdita di prestazioni. 4 Prefetching Quando un istruzione deve recuperare dalla memoria principale dei dati in seguito ad un cache miss, si ha un'attesa di una decina di cicli, in cui il processore non può lavorare. Quando la necessità di un dato è prevedibile con molti cicli di anticipo, il compilatore può inserire un'istruzione di prefetch, cioè un suggerimento all'hardware anchè cominci a portare in cache i dati di un dato indirizzo x. La prefetch non è un obbligo, infatti può essere ignorata se l'hardware rileva che porterebbe al vericarsi di condizioni eccezionali, come ad esempio un page fault. Il fallimento di una prefetch non ha eetti negativi sul programma se non quello di avere un cache miss al successivo accesso ad x. Un eetto simile alla prefetch si può ottenere con le tecniche di pipelining, posticipando l'uso di un dato no alla sua eettiva disponibilità (come eettivamente fanno i processori che riordinano dinamicamente le istruzioni). Ciò porta tuttavia all'incremento del numero e degli intervalli di vita dei temporary. Se questa situazione è portata all'estremo (ad esempio da programmi per il calcolo matriciale, che richiedono grandi quantità di dati su cui lavorare tramite loop) è possibile che le capacità di gestione delle istruzioni tramite pipeline vengano eccedute e che non si riesca ad eseguire correttamente il programma. In breve, il prefetching si può applicare quando sono valide tutte le seguenti condizioni: la macchina ha un'istruzione di prefetch o di load non bloccaante la macchina non riordina dinamicamente le istruzioni oppure il buer di riordino è più piccolo della latenza di cache che desideriamo nascondere i dati in questione sono troppo grandi per essere contenuti completamente in cache o comunque ci si aspetta che non vi siano già presenti. 4.1 Varianti delle istruzioni Non in tutte le architetture è presente un'istruzione di prefetch. Molte tuttavia possono simularla utilizzando (dove disponibile) un'istruzione di load non bloccante: r 1 M[r 2 ]. Una tale istruzione non porta allo stallo anche in caso di cache miss, a meno che r 1 non viene utilizzata da qualche altra istruzione. Quindi basta usare questa istruzione senza accedere poi a r 1 per far sì che il cache miss porti allo riempimento della cache, in modo tale che alla successiva istruzione di lettura (potenzialmente bloccante) il dato sia già presente in cache e pronto all'uso. Nel caso in cui si usi questa tecnica, non è necessario usare la load non bloccante su tutte le word: basta una word per ogni blocco di cache per assicurare il caricamento del blocco completo. Inoltre, è preferibile non far sovrapporre i miss causati da più load non bloccanti in contemporanea, quindi si introduce un intervallo tra esse srotolando alcune volte il loop in cui la load è contenuta (senza però copiare la load stessa) o utilizzando cicli innestati. 4.2 Prefetch per le store Se è necessario eseguire più store all'interno di un loop e sappiamo che dovranno scrivere in un'area dati troppo grande per la cache (ad es, un array) o non acceduta di recente, possiamo fare prefetching per evitare un write miss. Questo è valido soprattutto per la policy fetch-on-write, che porterebbe allo stallo del programma. Parzialmente, si adatta anche a write-around, nel caso in cui si prevede di dover accedere nuovamente alla variabile poco dopo aver eettuato la store. È invece abbastanza inutile per la policy write-validate, in quanto non è necessario eseguire fetch. 3

4 5 Algoritmi di ottimizzazione 5.1 Scambio di loop La cache risulta particolarmente ecace quando si riescono a riutilizzare dei dati contenuti al suo interno. Quando si lavora con dei loop che accedono alla memoria, frequentemente essi accedono a parole adiacenti, che occupano lo stesso blocco di cache. Se il loop più interno riutilizza (almeno in parte) gli stessi valori, ci saranno molti cache hit, a benecio delle prestazioni. Se invece è un loop più esterno a riutilizzarli, è facile che non possa avere dei cache hit perchè nel frattempo il loop più interno avrà cambiato i contenuti della cache. Si può quindi pensare di scambiare i due loop per avere risultati migliori. Per vedere se ciò è possibile, bisogna analizzare il data-dependency graph. Detta j la variabile di controllo del ciclo più esterno e k quella del ciclo più interno, diciamo che l'iterazione (j, k) dipende dall'iterazione (j, k ) se (j, k ): calcola valori che sono usati da (j, k) (read-after-write) oppure memorizza valori che sono sovrascritti da (j, k) (write-after-write) o legge valori che sono sovrascritti (write-after-read). Se c'è tale dipendenza, non è possibile scambiare i loop. 5.2 Blocking (blocchettatura) La tecnica del blocking riordina un calcolo in modo tale che tutti i sottocalcoli che usano una parte dei dati siano completati prima di passare alla prossima porzione. È utile in casi come la moltiplicazione tra matrici, con molti loop innestati e molti dati coinvolti, quando la cache è troppo piccola per contenere tutti i dati e si rischierebbe di avere un miss ad ogni accesso. Il difetto di questa tecnica è che si basa su un algoritmo di partenza molto preciso: se esso cambia (anche di poco) è molto dicile per il compilatore accorgersi di poter attuare l'ottimizzazione. Blocking lungo tutta la gerarchia È possibile estendere il concetto del blocking all'intera gerarchia di memoria, applicandolo a tutti i livelli disponibili ed eventualmente usando anche parte dei registri come se fossero una cache. In pratica, il calcolo da eseguire viene suddiviso in modo da trattare quantità di dati sempre più piccole (ognuna controllata da un loop), di dimensioni tali per cui ognuna di esse può essere contenuta ad un livello della gerarchia di memoria e quella controllata dal loop al suo interno può essere contenuta nel livello superiore della gerarchia e così via. Unroll and jam Quando si arriva ad applicare il blocking al livello dei registri, bisogna usare il loop unrolling, perchè i registri non possono essere gestiti tramite indici, ma solo ripetendo k volte (con k realisticamente pari a 25) tutto il codice. Spetterà poi all'allocatore dei registri assicurarsi che ad ogni temporary sia assegnato un registro. 5.3 Sostituzione scalare (Scalar replacement) Se un singolo elemento di un array è acceduto molte volte in un loop, esso può essere promosso lungo la gerarchia di memoria dalla cache ad un registro, anche se quasi certamente otterrebbe spesso un cache hit visto l'uso frequente. Per fare ciò è suciente copiare il valore dalla cella dell'array ad un temporary (s A[i, j]) subito prima dell'esecuzione del ciclo che usa ripetutamente tale valore, e sostituire tutti i riferimenti ad A[i, j] con riferimenti ad s. 5.4 Garbage collection Il garbage collector è un gestore della memoria: possiamo quindi scriverlo in modo tale che la organizzi opportunamente per incrementare la località dei riferimenti. Garbage collection generazionale quando si usa un meccanismo di collection generazionale, si dovrebbe fare in modo che la generazione più giovane venga ospitata interamente nella cache di secondo livello (la prima è troppo piccola), cosicchè ogni accesso agli oggetti più usati sia un cache hit e che le operazioni di collection su tale generazione (che sono le più frequenti) debbano fare il minor numero possibile di accessi alla memoria principale. 4

5 Allocazione sequenziale viene usato con il meccanismo di copying collection. È particolarmente facile da gestire per la maggior parte dei moderni buer di scrittura Pochi conitti gli oggetti più usati tendono a essere i più recenti che, in virtù dell'allocazione sequenziale, e ravvicinata, avranno indirizzi di memoria vicini, quindi chiavi diverse nella cache (in caso di cache direct-mapped). Quindi i programmi che sfruttano la garbage collection subiranno meno cache miss. Prefetching per l'allocazione al momento di allocare un nuovo oggetto, ci saranno molti write-miss nella piccola cache di primo livello (a meno di trovarsi su una macchina moderna con policy write-validate). Il problema può essere risolto facendo prefetching dei blocchi prima di averne eettivamente bisogno, in modo di averli poi immediatamente pronti. Raggruppare oggetti correlati se un oggetto x punta ad un oggetto y, è facile che dopo un accesso a x si abbia un accesso a y, quindi è utile avere i due oggetti nello stesso blocco di cache. In un copying collector ciò può essere fatto facilmente con una visita depth-rst del grafo dei riferimenti. Tutte queste tecniche sono facilmente applicabili a copying collection, che sposta gli oggetti. Collector Mark&Sweep sono molto meno adatti alla gestione delle cache. 5

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM Obiettivo Tipi classici di memoria Fornire illimitata memoria veloce Problemi: costo tecnologia Soluzioni: utilizzare diversi tipi di memoria... Static RAM access times are 2-25ns at cost of $100 to $250

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Capitolo 11 La memoria cache

Capitolo 11 La memoria cache Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

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

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale) Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Che cosa è un VIRUS?

Che cosa è un VIRUS? Virus & Antivirus Virus Nella sicurezza informatica un virus è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

Dettagli

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

ISTRUZIONI PER LA GESTIONE BUDGET

ISTRUZIONI PER LA GESTIONE BUDGET ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

1.4b: Hardware. (Memoria Centrale)

1.4b: Hardware. (Memoria Centrale) 1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un

Dettagli

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione.

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione. Manuale Operativo Guida inserimento articoli tramite Area di amministrazione Pagina 1 di 8 Indice Generale 1. Sommario 2. Introduzione 3. Glossario 4. Accesso all'interfaccia 5. Icone e funzionalità 5.1.

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

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

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

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

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter? ColorSplitter La separazione automatica dei colori di Colibri.. ColorSplitter è una nuova funzionalità aggiunta a Colibri, che permette di elaborare un immagine trasformandola in una separata in canali

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO

L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO L ANALISI ABC PER LA GESTIONE DEL MAGAZZINO È noto che la gestione del magazzino è uno dei costi nascosti più difficili da analizzare e, soprattutto, da contenere. Le nuove tecniche hanno, però, permesso

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Olga Scotti. Basi di Informatica. Excel

Olga Scotti. Basi di Informatica. Excel Basi di Informatica Excel Tabelle pivot Le tabelle pivot sono strumenti analitici e di reporting per creare tabelle riassuntive, riorganizzare dati tramite trascinamento, filtrare e raggruppare i dati,

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

EasyPrint v4.15. Gadget e calendari. Manuale Utente

EasyPrint v4.15. Gadget e calendari. Manuale Utente EasyPrint v4.15 Gadget e calendari Manuale Utente Lo strumento di impaginazione gadget e calendari consiste in una nuova funzione del software da banco EasyPrint 4 che permette di ordinare in maniera semplice

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Traduzione e adattamento a cura di Gylas per Giochi Rari

Traduzione e adattamento a cura di Gylas per Giochi Rari Traduzione e adattamento a cura di Gylas per Giochi Rari Versione 1.0 Luglio 2001 NOTA. La presente traduzione non sostituisce in alcun modo il regolamento originale del gioco; il presente documento è

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

MEMORIA GERARCHIE DI MEMORIA

MEMORIA GERARCHIE DI MEMORIA MEMORIA GERARCHIE DI MEMORIA La memoria è divisa in più livelli che sono dal più vicino al più distante al CPU, per tempi di accesso: memoria cache, SRAM, capienza (MB), più veloce (decimi di ns), costosa

Dettagli

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI ORDINAMENTO DEI DATI Quando si ordina un elenco (ovvero una serie di righe contenenti dati correlati), le righe sono ridisposte in base al contenuto di una colonna specificata. Distinguiamo due tipi di

Dettagli

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta

1 Carattere 1 2 Carattere 2 4 Carattere 4 X Carattere diverso da 1, 2, 4. Porta chiusa Porta aperta 1. Progettare una macchina a stati finiti (di Moore) che realizza una sistema di accesso a combinazione segreta: soltanto dopo aver premuto in sequenza i tasti: 1 4 4 2, l uscita che comanda l apertura

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Il problema del produttore e del consumatore. Cooperazione tra processi

Il problema del produttore e del consumatore. Cooperazione tra processi Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora

Dettagli

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

II.f. Altre attività sull euro

II.f. Altre attività sull euro Altre attività sull euro II.f È consigliabile costruire modelli in carta o cartoncino di monete e banconote, e farli usare ai bambini in varie attività di classe fin dal primo o al più dal secondo anno.

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

4. Operazioni aritmetiche con i numeri binari

4. Operazioni aritmetiche con i numeri binari I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013.

Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013. Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013. Questo documento contiene le istruzioni per lo svolgimento dell esame. La durata della prova è 60 minuti e richiede lo svolgimento

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

GUIDA ALLA RILEVANZA

GUIDA ALLA RILEVANZA GUIDA ALLA RILEVANZA Posizionamento per Rilevanza Suggerimenti per una migliore visibilità su ebay www.egolden.it Vers. 1.1 Questa guida puo essere ridistribuita con l obbligo di non modificarne contenuto

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli