Significato delle componenti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Significato delle componenti"

Transcript

1 Sull organizzazione fisica delle basidi dati (1) Riferimenti: P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: concetti, linguaggi e architetture, McGraw-Hill, 1999 (Cap. 9.3 e Cap. 9.5) oppure Basi di dati: architetture e linee di evoluzione, McGraw-Hill, 2003 (Cap. 1) A. Albano. Costruire sistemi per basi di dati, Addison Wesley Longman, Milano, 2001 (su cui sono essenzialmente basati questi lucidi) Simulazioni dei B-tree on-line Architettura Centralizzata di un SGBD Relazionale Significato delle componenti Gestore concorrenza Gestore autorizzazioni Ottimizzatore Gestore catalogo Esecutore piani d accesso Gestore accesso Gestore strutture dimemorizzaz. Gestore buffer buffer Gestore memoria permanente Gestore affidabilità SGBD= Sistema di Gestione di Basi di Dati Gestore memoria permanente Gestore buffer Gestore delle strutture di memorizzazione Gestore d accesso Gestore affidabilità Gestore concorrenza Ottimizzatore Esecutore piani d accesso Gestore autorizzazioni Gestore catalogo BaseDati Gestore di buffer e interazione con il SO gestore buffer buffer pool pagina fisica memoria temporanea tabella pag. residenti: <id_pag, posiz. buffer> - pincount - dirty/nondirty - pag. fisica memoria permanente Gestore della memoria permanente è la componente di un sgbd che si occupa del trasferimento dei dati persistenti dal buffer in memoria temporanea alla memoria permanente e viceversa, e riveste la memoria fisica permanente con una astrazione secondo cui: la memoria permanente è un insieme di basi di dati una base dati è un insieme di file un file è un insieme di blocchi, o pagine fisiche, numerati progressivamente e di lunghezza prefissata in cui viene memorizzata una collezione di record (tabella o indice) un file logico può essere realizzato come un file fisico o parte di un file fisico

2 scrittura di una pagina da memoria temp. a permanente : per sostituzione, quando si deve fare spazio nel buffer ad una nuova pagina richiesta da qualche applicativo per gestire in modo sicuro le modifiche fatte da una transazione o la sua fine, cioè per via di commit o end_transaction modifica di pagina: fatta direttamente sulle pagine del buffer_pool dalle componenti del sgbd di livello superiore rispetto al buffer mgr la componente che ha eseguito la modifica chiede al buffer mgr di aggiornare la proprietá dirty/nondirty della pagina modificata rilascio di una pagina, per fine applicativo o transazione: provoca il decremento del pincount richiesta di una pagina se la pagina si trova nel buffer pool il buffer_mgr incrementa il pincount di quella pagina e restituisce alla componente che ha richiesto la pagina il riferimento a questa nel pool altrimenti il buffer_mgr sostituisce una pagina residente nel buffer pool: tra le pagine con pincount=0 sceglie # una pagina da eliminare, naturalmente scrivendola prima in mem. permanente se è dirty; segnala errore se non ci sono celle con pincount a 0; scrive nella cella di buffer pool la pagina fisica richiesta, il pincount a 0 e la proprietà dirty a false aggiorna la tabella delle pagine residenti con la coppia <cella_scelta, Id_pagina_fisica> incrementa il pincount di quella pagina e restituisce alla componente che ha richiesto la pagina il riferimento a questa nel pool # : scelta guidata da una strategia di sostituzione (al limite LRU, LeastRecentlyUsed, sperimentalmente la migliore in caso di accessi concorrenti, ma solo in media) Struttura interna delle pagine intestazione o header di pagina contiene: quantità di spazio libero riferimento all inizio dello spazio utilizzab. riferimento prossima pag. libera del file Struttura interna delle pagine riferimento ad un record o RID diretto j Pid, offset_in_pg header k record vettore di indirizzamento (possibile) contiene offset ai record nella pagina indiretto, ad es. tramite vettore di indirizzamento interno alla pagina Pid, j Organizzazioni dei dati Per realizzare un sgbd Per progettare una base dati Per ottimizzare interrogazioni Strutture per organizza re la memorizzazione di collezioni di record in memoria permanente: sequenziale oppure seriale (a heap file) : i dati sono memorizzati in pagine consecutive e ordinati secondo una chiave/ non ordinati per chiave con metodo procedurale: i dati sono memorizzati in pagine consecutive e ordinati secondo una chiave (hash) per chiave con strutture ad albero: i dati sono memorizzati in strutture indice (directory) + dati; è la più usata; per attributi non chiave: per la ricerca di un sottoinsieme di record in base al valore di un attributo non identificatore per dati multidimensionali: quando i dati sono vettori che rappresentano oggetti geometrici, immagini (GIS, CAD )

3 Tempo di accesso ai dati su disco riferimento al record diretto: va bene per collezioni di dati statici indiretto, tramite vettore di indirizzamento: va bene per collezioni di dati volatili o se la memoria è gestita con spostamento dei record nelle pagine (ad esempio per mantenere ordinamento) Tempo medio trasferimento di un blocco da memoria permanente a temporanea dipende da: ts: seek time o tempo di posizionamento delle testine di lettura sul cilindro richiesto del disco; parametro che incide di piú tr: rotation latency o tempo di latenza è il tempo di attesa per avere un blocco sotto la testina di lettura già posizionata sulla traccia tb: tempo di trasferimento di un blocco Due livelli di memoria, memoria perm. e memoria temp. sono la soluzione piú comune per applicazioni bd; si hanno anche applicazioni ad uno o tre livelli di memoria. un livello: tutta la base dati è gestita in memoria centrale (piccole basi dati). Organizzazione con indici Memorizzazione di collezioni di record in memoria permanente per chiave e con strutture ad albero: dati memorizzati in forma tabellare in insiemi di coppie (chiave, record-id) (indice) Per cui, per accedere ad un valore di chiave si ha: <indici, dati> No alberi bilanciati Non si possono usare alberi binari bilanciati perché: 1. se non si fa attenzione al modo in cui i nodi dell albero sono memorizzati nelle paginedella memoria permanente la ricerca di un elemento dell indice può richiedere un grande numero di accessi alla memoria permanente; 2. il bilanciamento dell albero in memoria permanente è troppo costoso la ricerca di un elemento dell indice può richiedere un grande numero di accessi alla memoria permanente ESEMPIO un indice di 1 milione di elementi senza ipotesi su dove sono memorizzati richiede circa 20 accessi in media: log ~ 20 se invece mettiamo nella stessa pagina piú nodidi un albero riduciamo gli accessi a memoria sec.; 1 milione di elementi con l'ipotesi di avere 100 nodi di albero per pagina fisica: log = 3 punto 1: i nodi di un albero binario devono essere memorizzati opportunamente nelle pagine della memoria permanente albero binario impaginato punto 2: il bilanciamento deve essere risolto localmente dall albero binario impaginato al B-albero autori: Bayer e McCreight, 1972

4 Organizzazione con B-albero o B-tree Sono le organizzazioni più comuni nei sgbd relazionali moderni Il B-tree è una struttura dai aggiuntiva che viene memorizzata in pagine e gestita con i meccanismi dei sgbd Autori: Bayer e McCreight, 1972 Definizione di B-tree Ogni nodo ha la struttura seguente [p 0 (k 1,r 1 )p 1.p j- 1 (k j,r j )p j ] r i è un indirizzo al record di chiave k i p i è un puntatore ad un figlio Le chiavi k i in ogni nodo sono ordinate Ogni nodo non foglia con j chiavi ha j+1 figli Tutte le chiavi associate ad un figlio tramite il puntatore p i sono comprese strettamente tra k i e k i+1 : fa parte degli alberi di ricerca Definizione di B-tree di ordine m (m>=3) la radice ha 0 <= nodi figli <= m 1 <=nro chiavi <= m-1 ogni nodo interno ha Øm/2ø <= nro_figli <= m Øm/2ø -1 <= nro_chiavi <= m-1 tutte le foglie si trovano allo stesso livello Estratto di un B-tree (ordine 5) Ogni nodo di albero si fa coincidere con una pagina del file in cui è memorizzato l albero: nodo = pagina Ricerca in B-tree di k k=k r (1<=r<=j) nel nodo corrente: ok Se no, si segue p i : i=0 se k<k 1 i=q se k q <k<k q+1, 1<=q<=j-1 i=j se k>k j Ricerca per intervallo: si ripete l operazione di ricerca di chiave per chiave nell intervallo (efficiente per come sono fatti i B-alberi) Complessità della ricerca in B-albero Il costo C r della ricerca di una chiave nell albero è compreso tra 1 e h (altezza del B-tree) Se h è l altezza di un B-tree e N è il numero di chiavi inserite, allora log m (N+1) <= h <= log m/2 ((N+1)/2)+1 il calcolo dettagliato è nei lucidi che seguono L altezza dell albero si approssima a log m (N) (se N è grande)

5 Numero massimo di nodi, bmax, in un B-albero di ordine m, altezza h e nodi riempiti al massimo quindi con m figli: livello 1: 1 livello 2: m livello 3: m * m livello 4: m 2 * m livello i: m i-1. livello h: m h-1 Σ h-1 i=0 mi = (m h 1)/(m-1) = bmax Numero minimo, bmin, di nodi in un B-albero di ordine m altezza h e nodi riempiti al minimo, quindi con Øm/2ø figli : livello 1: 1 livello 2: 2 livello 3: 2 * m/2 livello 4: 2 * m/2 * m/2 livello i: 2 ( m/2 ) i-2. livello h: 2 ( m/2 ) h Σ h-2 i=0 ( m/2)i =1+ 2(((m/2) h-1 1)/(m/2-1))= bmin Per cui, numero di nodi: 1+ 2 (((m/2) h-1 1)/(m/2-1))<= N nodi <=(m h 1)/(m-1) Numero minimo di chiavi per un B-albero: radice+(bmin -1)*(min numchiavi per nodo)=radice + [1+ 2 (((m/2) h-1 1)/(m/2-1)) 1] * (m/2 1) = = 2 (((m/2) h-1 1)/(m/2-1)) * (m/2 1) + radice = = 2 ((m/2) h-1 1) + radice = 2 (m/2) h Numero massimo di chiavi per un B-albero: bmax*(max num chiavi per nodo)=[(m h 1)/(m-1)]*(m-1) = m h 1 2 (m/2) h-1 1 <= N chiavi <= m h 1 Complessità della ricerca (in B-albero di altezza h e numero di chiavi inserite N) 2 (m/2) h- 1 1 <= N <= m h 1 2 (m/2) h- 1 <= N + 1 <= m h log m (N+1) <= h 2 (m/2) h-1 <= N + 1 da cui: (m/2) h-1 <= (N + 1)/2 h-1 <= log m/2 ((N+1)/2 ) e h <= 1 + log m/2 ((N+1)/2) log m (N+1) <= h <= 1 + log m/2 ((N+1)/2) Complessità della Ricerca (cont.) Altezza max, H, e min, h, di un B-albero in funzione della dimensione delle pagine: chiavi 10 bytes e rid 4 bytes Il costo C r della ricerca di una chiave nell albero è compreso tra 1 e l altezza h Della formula precedente abbiamo preso i logaritmi: log m (N+1)<=h<=1+log m/2 ((N+1)/2) Se N è grande l altezza h del B-albero si approssima a log m N Dim pag m h min 2,1 1, H max 3,4 2,9 10k h min 2,7 2,3 10k H max 4,2 3,6 100k h min 3,5 2,9 100k H max 5,1 4,3 1M h min 4,1 3,9 1M H max 6,0 4, ,5 2,5 2,0 3,1 2,4 3,7 2,9 4, ,3 2,3 1,7 2,8 2,4 3,3 2,6 3,8

6 Inserimento in B-tree ricordare: inserimento in foglia Si verifica se chiave è presente, se no si scende a foglia appropriata (alla albero ricerca) Se foglia non è complet a (cio è contiene meno di m-1 chiavi), allora vi si può inserire il record o meglio la coppia (k j,r j ) Se il nodo è completo, si crea un altro nodo (splitting) e si considera il valore mediano tra le chiavi del nodo completo piú la chiave da inserire: il valore mediano si inserisce nel nodo padre; se il padre è completo si esegue la suddivisione (splitting) del padre (processo ricorsivo). Inserimento e nodo saturo se il nodo è saturo, cioè contiene m-1 chiavi, si esegue lo splitting o suddivisione del nodo p : si crea un altro nodo p in cui si memorizzano le chiavi > della chiave di valore mediano oppure di posto mediano k c nella sequenza (considerando chiavi del nodo e chiave da inserire) togliendole dal nodo originario la chiave di valore mediano k c si inserisce ricorsivamente nel nodo padre, o meglio si inserisce p (k c,r kc ) p. e se il padre è completo si esegue la suddivisione (splitting) del padre e così via fino alla radice. Inserimento in B-tree: splitting (inserimento della chiave 70 in B-tree della slide: Estratto di un B-tree (ordine 5) ) = 361 media= 72, Cancellazione da B-tree di chiave k P0. la chiave k da cancellare sia nel nodo n; P1. se n è una foglia, si cancella k da n e si va a P3 P2. se n NON è una foglia si sostituisce k prendendo il piú piccolo (grande) fra gli elementi maggiori (minori) di k; tale chiave sostitutiva è in una foglia f, per costruzione dell albero. P3. controllo numero chiavi nella foglia [NB: n, oppure f ] se m/2 1 <= numero chiavi <= m-1 allora fine cancellaz. altrimenti bisogna P4)concatenare o P5) bilanciare Cancellazione in B-tree (cancellazione della chiave 66: al suo posto ) questa o questa Concatenazione di nodi (P4) processo opposto allo splitting perché unisce due nodi in un solo nodo num. chiavi in n (al piú) = (m+1)/2 2 Cerco un nodo q adiacente ad n nell albero tale che num. chiavi in q (al piú) = (m+1)/2 1 (m+1)/2 2 +(m+1)/ = m = m 1 (ricordiamo che questo è il max num di chiavi possibile) +1: chiave dal nodo padre

7 Concatenazione (cont.) nodo padre: [ (k j-1, r j-1 ) p j-1 (k j,r j ) p j (k j+1, r j+1 ) p j+1 ] nodo-1 da conc: [p 0 (k 1, r 1 ) p 1 p e-1 (k e, r e ) p e ] nodo-2 da conc: [p 0 (k e+1, r e+1 ) ] p j-1 e p j sono puntatori ai nodi 1 e 2 i nodi 1 e 2 sono concatenati in [p 0 (k 1, r 1 ) p 1 p e-1 (k e, r e ) p e (k j,r j ) p 0 (k e+1, r e+1 ) ] e nel nodo padre: [ (k j-1, r j-1 ) p j-1 (k j+1, r j+1 ) p j+1 ] Cancellazione in B-tree: concatenazione B-tree di ordine 5 per cui: 2 <=num. chiavi<=4 cancellazione della chiave 68 prima dopo Bilanciamento (P5) Se non si puo fare la concatenzione(se si supera m-1). Dati due nodi adiacenti in un B-albero, bilanciamento vuol dire ridistribuire le chiavi tra i due nodi in modo da bilanciare i nodi medesimi. Q (padre): [, k f, ] Q 1 : [p 0 (k 1, r 1 )p 1,, p e-1 (k e,r e )p e ] Q 2 : [p 0 (k 1, r 1 )p 1,, p j-1 (k j,r j )p j ] con j<parte-int(m/2)-1. Si lasciano parte-int((e+j)/2) chiavi nel nodo sx, si sost. nel padre k f con k parte-int((e+j)/2) +1 e si inseriscono k f e le rimanenti chiavi nel nodo dx Cancellazione in B-tree: bilanciamento (cancellare la chiave 70) prima dopo Dalla sequenza: 50, 55, 60,, 68, 70 ho la sequenza: 50, 55, 60,, 68 distribuita: nodo padre: 60 nodo-figlio-1: 50, 55 nodo-figlio-2:, 68 Struttura di un B-albero Dipende dall ordine con cui si caricano le chiavi. Si parla di densità di riempimento di un indice Esercizio: costruire il B-albero di ordine m= 5, numero massimo figli, relativo alle due sequenze di chiavi 1) 10, 15, 30, 27, 35, 40, 45, 37, 20, 50, 55, 46, 71, 66, 74, 85, 90,, 78, 95, 25, 81, 68, 60, 2) 10, 15, 20, 25, 27, 30, 35, 37, 40, 45, 46, 50, 55, 60,, 66, 68, 71, 74, 78,, 81, 85, 90, 95 Per chiavi ordinate, sequenza 2 sopra, si ottiene un B-albero con foglie di (m+1)/2 chiavi tranne al più l ultima: in caso di caricamento di una sequenza ordinata si preferisce una strategia di trattamento del nodo saturo attraverso bilanciamento (invece di suddivisione) con il fratello a sinistra del nodo saturo fino a quando anche questo non sia saturo. Prestazioni dei B-tree N numero chiavi log m (N+1)<=h<=1+log m/2 ((N+1)/2) Occupazione di memoria: dipende dall ordine e da quanto sono riempiti i nodi Costo ricerca per chiave : tra 1 e h Costo ricerca per intervallo (v 1 <=k<=v 2 ): ricerca della prima + ricerca della seconda+ +ricerca dell ultima in media (considerando distr. uniforme dei valori) proporzionale a: [(v_2-v_1)/(k_max-k_min)]*n Caso piu favorevole: se sono tutte nella pagina gia` in mem. Caso peggiore: chiave successiva a una in radice (h-1 accessi nell indice, è in foglia)

8 Prestazioni dei B-tree (cont.) Inserimento: se non c è split: h letture e 1 scrittura se c è split del nodo: nel caso peggiore quando si risale fino alla radice (h letture e 1+2h scritture). Costo medio pero` inferiore poco probabile che si arrivi fino alla radice Prestazioni dei B-tree (cont.) Cancellazione: Se chiave e` in foglia + no bil/conc: h letture e 1 scrittura Se chiave e` in nodo interno + no bil/conc: h letture e 2 scritture Caso peggiore: per tutti i nodi del cammino si ha conc/bil: letture proporzionali a 2h e scritture a h Indici e sgbd La definizione di una chiave primaria al momento di una create table di solito genera automaticamente un indice B+-albero che serve a controllare l unicità dei valori della chiave; La dichiarazione di una chiave esterna non crea automaticamente un indice, ma un tale indice puo` essere utile per verificare il vincolo referenziale corrispondente Scelta dell organizzazione L organizzazione dipende dal sgbd Una volta nota l organizzazione è necessario analizzare i suoi elementi per poter ottenere una base dati realmente efficiente L efficienza deve generalmente essere valutata sulla base delle applicazioni utente che accedono alla base dati

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli

Strutture di accesso ai dati: B + -tree

Strutture di accesso ai dati: B + -tree Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere

Dettagli

Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.

Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro

Dettagli

Heap e code di priorità

Heap e code di priorità Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010

Dettagli

Pag Politecnico di Torino 1

Pag Politecnico di Torino 1 Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,

Dettagli

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo

Dettagli

Introduzione Definizioni

Introduzione Definizioni Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano

Dettagli

I B+ Alberi. Sommario

I B+ Alberi. Sommario I B+ Alberi R. Basili (Basi di Dati, a.a. 2002-3) Sommario Indici organizzati secondo B + -alberi Motivazioni ed Esempio Definizione Ricerca in un B + -albero Esempio Vantaggi Inserimento/Cancellazione

Dettagli

Informatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno

Informatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010

Dettagli

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Dettagli

Indici ad albero. Albero Binario di Ricerca

Indici ad albero. Albero Binario di Ricerca Indici ad albero Ogni nodo contiene una sequenza di valori ed un insieme di puntatori ai nodi successivi. I valori sono le chiavi di ricerca dell indice N.B. In strutture fisiche ogni nodo corrisponde

Dettagli

Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2

Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2 INDICI MULTILIVELLO DINAMICI Indici multilivello dinamici (B-alberi e B + -alberi) Gli indici multilivello dinamici (B-alberi e B + -alberi) sono casi speciali di strutture ad albero. Un albero è formato

Dettagli

Note per la Lezione 4 Ugo Vaccaro

Note per la Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file È un insieme di informazioni: programmi. Il File System. Il file system Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico

Dettagli

Un esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem

Un esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem Un esempio: l ADT Dizionario (mutabile) Algoritmi e Laboratorio a.a. 2006-07 Lezioni Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato astratto dizionario Parte 19-D Alberi

Dettagli

Architettura hardware

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

Dettagli

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti

Dettagli

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano/ Murano Aniello - Lab. di ASD Terza Lezione

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano/ Murano Aniello - Lab. di ASD Terza Lezione Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ Heap e Heapsort Algoritmi di ordinamento Insertion Sort Quicksort Heapsort Insertion Sort L

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Alberi AVL Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 26/7 Alberi AVL Definizione (bilanciamento in altezza): un albero è bilanciato

Dettagli

Cap. 1-I 1 I sistemi informatici

Cap. 1-I 1 I sistemi informatici Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Esercitazione 6. Alberi binari di ricerca

Esercitazione 6. Alberi binari di ricerca Esercitazione 6 Alberi binari di ricerca Struttura base Rappresentabile attraverso una struttura dati concatenata in cui ogni nodo è un oggetto di tipo struttura Ogni nodo contiene: campo chiave (key)

Dettagli

Alberi Binari di Ricerca

Alberi Binari di Ricerca Alberi Binari di Ricerca Prof. G. M. Farinella gfarinella@dmi.unict.it www.dmi.unict.it/farinella Riferimenti Bibliografici Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms, Third Edition,

Dettagli

Strutture fisiche di accesso

Strutture fisiche di accesso Strutture fisiche di accesso Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio 1 Siano date le seguenti informazioni: B=4096 bytes la dimensione di un blocco H=12 bytes la dimensione

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 9 Agosto, 204 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Libri di supporto. A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley

Libri di supporto. A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley Libri di supporto A.Albano Costruire Sistemi per Basi di Dati Addison-Wesley E.Bertino, B.Catania, E.Ferrari, G.Guerrini Sistemi di basi di dati Città studi Edizioni P.Atzeni, S. Ceri, S.Paraboschi, R.Torlone

Dettagli

ADT Coda con priorità

ADT Coda con priorità Code con priorità ADT Coda con priorità Una coda con priorità è una struttura dati dinamica che permette di gestire una collezione di dati con chiave numerica. Una coda con priorità offre le operazioni

Dettagli

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.

Le Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate. Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi

Dettagli

Progettazione Fisica FILE

Progettazione Fisica FILE Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,

Dettagli

CORSO ACCESS PARTE IV

CORSO ACCESS PARTE IV Creazione di un database / gestione tabelle Per creare un nuovo database Menu File Selezionare Nuovo Scegliere Database vuoto nella scheda Generale e confermare con Ok Impostare il nome e il percorso nella

Dettagli

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni Basi di Dati Ingegneria Informatica e delle Telecomunicazioni A.A. 2014/2015 Ing. Claudio Marrocco c.marrocco@unicas.it Obiettivi del corso Il corso mira ad introdurre agli studenti modelli e metodi per

Dettagli

Minimo albero di copertura

Minimo albero di copertura apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.

Dettagli

Cognome Nome Matricola Ordin.

Cognome Nome Matricola Ordin. Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con

Dettagli

Albero di Riscorsione

Albero di Riscorsione Albero di Riscorsione Albero di ricorsione Un albero di ricorsione è un modo di visualizzare cosa accade in un algoritmo divide et impera L etichetta della radice rappresenta il costo non ricorsivo della

Dettagli

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano) Come contattarmi Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano) Telefono : 0521 / 90 5731 Email : stefano.cagnoni@unipr.it Sito del corso : http://www.ce.unipr.it/people/cagnoni/didattica/basidati

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Informatica 10. appunti dalla lezione del 16/11/2010

Informatica 10. appunti dalla lezione del 16/11/2010 Informatica 10 appunti dalla lezione del 16/11/2010 Memorie Dispositivi in grado di conservare al loro interno informazione per un intervallo di tempo significativo RAM chiavetta USB Hard disk CD/DVD SD

Dettagli

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di

Dettagli

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 ECDL - Database Introduzione European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 Informazioni sul corso orario: Giovedì - 14.30-16.30 materiale: http://www.fotoboni.com/carlo/ docente: webmaster@fotoboni.com

Dettagli

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine Realizzazione del file system Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine www.dimi.uniud.it/buttussi Struttura del file system Il file system risiede in

Dettagli

Linguaggio C. Problemi di Ricerca e Ordinamento: Algoritmi e Complessità.

Linguaggio C. Problemi di Ricerca e Ordinamento: Algoritmi e Complessità. Linguaggio C Problemi di Ricerca e Ordinamento: Algoritmi e Complessità. 1 Complessità degli Algoritmi Si definisce Complessità di un Algoritmo C(A) la funzione dei parametri rilevanti per A che determina

Dettagli

TRIE (albero digitale di ricerca)

TRIE (albero digitale di ricerca) TRIE (albero digitale di ricerca) Struttura dati impiegata per memorizzare un insieme S di n stringhe (il vocabolario V). Tabelle hash le operazioni di dizionario hanno costo O(m) al caso medio per una

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione

Dettagli

ORDINE DI INSERIMENTO DELLE CHIAVI <35 >35

ORDINE DI INSERIMENTO DELLE CHIAVI <35 >35 LIBRERIA WEB Alberi binari 3. Alberi binari e tecniche di hashing per la gestione delle chiavi Gli indici di un file possono essere trattati in modo efficiente con tecniche che si basano sull uso di alberi

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Ordinamenti per confronto: albero di decisione

Ordinamenti per confronto: albero di decisione Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

Basi di Dati Concetti Introduttivi

Basi di Dati Concetti Introduttivi Università Magna Graecia di Catanzaro Informatica Basi di Dati Concetti Introduttivi Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri,

Dettagli

Progettazione logica

Progettazione logica Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

Dettagli

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 Francesca Levi Dipartimento di Informatica E-mail: francesca.levi@unipi.it levifran@di.unipi.it Francesca Levi Dipartimento di Informatica Informatica per

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : La normalizzazione Forme normali Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 7 Tabelle hash Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Implementazioni Dizionario Tempo richiesto dall operazione più costosa: -Liste - Alberi di ricerca

Dettagli

Algoritmi e Strutture Dati. HeapSort

Algoritmi e Strutture Dati. HeapSort Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Memorizzazione dei dati: Dischi e File

Memorizzazione dei dati: Dischi e File Memorizzazione dei dati: Dischi e File Query\update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 010/011 Basi di dati Le presenti slide sono tratte dalle slide del libro di

Dettagli

alberi binari di ricerca (BST)

alberi binari di ricerca (BST) Le tabelle di simboli e gli alberi binari di ricerca (BT) ianpiero abodi e Paolo amurati Dip. utomatica e Informatica Politecnico di Torino Tabelle di simboli Definizione: una tabella di simboli è una

Dettagli

Esercizio 10.1 Soluzione

Esercizio 10.1 Soluzione Esercizio 10.1 Calcolare il fattore di blocco e il numero di blocchi occupati da una relazione con T = 1000000) di tuple di lunghezza fissa pari a L = 200 byte in un sistema con blocchi di dimensione pari

Dettagli

Requisiti della base di dati. Schema concettuale

Requisiti della base di dati. Schema concettuale Requisiti della base di dati Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Progettazione concettuale Schema concettuale Progettazione

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI DEFINIZIONI SMART E RELATIVE ESERCITAZIONI A B C D E 1 2 3 4 5 6 7 8 9 MODULO 3 Creazione e gestione di fogli di calcolo MODULO 3 CREAZIONE E GESTIONE DI FOGLI DI CALCOLO Gli elementi fondamentali del

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Basi di dati Basi di dati per bioinformatica

Basi di dati Basi di dati per bioinformatica Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

Esercizi Capitolo 7 - Hash

Esercizi Capitolo 7 - Hash Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive

Dettagli

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e

Dettagli

File system: aspetti implementativi

File system: aspetti implementativi File system: aspetti implementativi Sistemi Operativi Lez. 24 Layout disco Tutte le informazioni necessarie al file system per poter operare sono memorizzate sul disco di boot MBR: settore 0 del disco,

Dettagli

La memoria secondaria

La memoria secondaria La memoria secondaria La memoria principale non può essere troppo grande a causa del suo costo elevato Non consente la memorizzazione permanente dei dati (volatilità) Per questi motivi sono stati introdotti

Dettagli

Parte 6 Esercitazione sull accesso ai file

Parte 6 Esercitazione sull accesso ai file Gestione dei dati Parte 6 Esercitazione sull accesso ai file Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Riassunto sui dizionari

Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Riassunto sui dizionari Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006 Alberi di Ricerca Bilanciati Marco Antoniotti Riassunto sui dizionari Dizionario: astrazione di collezioni Operazioni fondamentali

Dettagli

PRIMI PASSI CON UN DATABASE

PRIMI PASSI CON UN DATABASE Basi di dati PRIMI PASSI CON UN DATABASE Definizione di database Per database si intende un insieme di informazioni catalogate ed organizzate. Il tipo di database più diffuso è quello relazionale, composto

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Basi di dati Le presenti slide sono tratte dalle slide del libro

Dettagli

5. Strutture di indici per file

5. Strutture di indici per file 5. Strutture di indici per file I file hanno un'organizzazione primaria, ossia possono essere organizzati su disco in maniera ordinata, non ordinata, oppure a hash. Per velocizzare le operazioni di reperimento

Dettagli

File e Indici. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

File e Indici. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma File e Indici 1 File Dati di un DBMS memorizzati come record Un file è una collezione di record Organizzazione del file: metodo per registrare un file su un dispositivo di memorizzazione esterno Un record

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e strutture dati Roberto Cordone A. A. 2015-16 Capitolo 4 Implementazioni delle partizioni Nota: queste dispense sono un rapido riassunto delle lezioni svolte nel dicembre 2015 e gennaio 2016.

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 07/02/07 Nota Questi lucidi sono tratti

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

Informatica giuridica

Informatica giuridica Informatica giuridica Corso di laurea in Scienze dei Servizi giuridici Corso di laurea magistrale in Giurisprudenza A.A. 2015/16 L architettura hardware degli elaboratori La scheda madre Memoria principale

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Union-find. Insiemi disgiunti. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Union-find. Insiemi disgiunti. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill) Union-find Insiemi disgiunti Il problema Union-find Mantenere una collezione di insiemi disgiunti di elementi distinti (interi in 1 n) durante una sequenza delle seguenti operazioni: union(a,b) = unisce

Dettagli

La memoria secondaria

La memoria secondaria La memoria secondaria La memoria principale non può essere troppo grande a causa del suo costo elevato Non consente la memorizzazione permanente dei dati (volatilità) Per questi motivi sono stati introdotti

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache Esercizio 3 Memoria Cache Prima parte - memoria di 1 Giga parole da 16 bit (indirizzata a livello di parola) - cache di 1 Mega parole da 16 bit (indirizzata a livello di parola) - ogni della cache contiene

Dettagli

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS INFORMATICA GENERALE DBMS: Introduzione alla gestione dei dati Bibliografia 4 ott 2011 Dia 2 Curtin, Foley, Sen, Morin Vecchie edizioni: 8.4, 8.5, 8.6, 8.7, 8.8 Edizione dalla IV in poi: 6.5, 21.1, 19.4,

Dettagli

Dizionario. Marina Zanella Algoritmi e strutture dati Tabelle hash 1

Dizionario. Marina Zanella Algoritmi e strutture dati Tabelle hash 1 Dizionario Insieme dinamico che offre solo le seguenti operazioni: inserimento di un elemento dato cancellazione di un elemento dato ricerca di un elemento dato (verifica dell appartenenza di un elemento

Dettagli