Elementi introduttivi allo studio degli archivi

Page 1

Introduzione allo studio degli archivi Elementi introduttivi Un computer è un apparecchio elettronico, un apparecchio cioè che utilizza l’energia elettrica per elaborare informazioni. L’elettronica utilizzata è quella digitale: questo termine sta ad indicare che si tratta di apparecchiature in grado di manipolare livelli di tensione elettrica in modo da poter farle assumere solo un numero finito (limitato) di valori, adatto quindi a rappresentare un numero limitato di informazioni. Si parla , al contrario di elettronica analogica quando i segnali elettrici manipolati possono variare con continuità assumendo dunque infiniti valori. In particolare per rendere il più semplice possibili e conseguentemente più affidabili questi dispositivi digitali l’elettronica digitale parte con l’utilizzare due valori soltanto di tensione. Diventa logico associare a questi due valori due simboli da essi espressi, ed in particolare due simboli matematici, lo zero e l’uno. Abbiamo l’informazione più semplice che ci possa essere, essa viene detta bit. E’ per questo motivo che un dispositivo digitale è naturalmente uno strumento matematico che manipola le informazioni utilizzando leggi del linguaggio matematico ed in particolare dell’aritmetica binaria. Pur possedendo un alfabeto molto limitato costituito da due soli simboli, aggregando un numero sufficiente di bit si possono rappresentare informazioni complesse quanto si vuole. Un film in formato avi, un film su dvd o blu-ray, una trasmissione televisiva trasmessa in digitale terrestre, un audio mp3, ecc. sono tutti memorizzati come lunghe sequenze di bit. Maggiore è la quantità di bit a disposizione e maggiore è la quantità di informazioni che posso manipolare. Per tradurre sequenze di bit in immagini, video, musica, ecc. occorrono naturalmente delle regole diverse da caso a caso che prendono il nome di codici. Solo l’uso del codice giusto consentirà il recupero corretto dell’informazione racchiuso nella stringa di bit che si vuole decodificare. Un computer ha capacità molto limitate. In realtà è in grado di fare tutte quelle cose sofisticate che gli vediamo effettuare ogni giorno perché riceve opportune e dettagliate informazioni che trova in particolari file detti programmi eseguibili, quello che chiamiamo normalmente software. Una cosa ovvia è che queste istruzioni, sempre mediante opportuni codici ( linguaggio macchina) devono essere scritte in linguaggio binario per essere comprese dal computer. Il software è scritto dall’essere umano. E’ evidente che sarebbe estremamente laborioso per una persona programmare, cioè scrivere informazioni direttamente in binario. In realtà scriverà le istruzioni in linguaggi detti linguaggi di programmazione molto simili al linguaggio umano, con regole grammaticali e di sintassi proprie. I programmi, scritti in uno specifico linguaggio di programmazione, sono memorizzati all’interno di file, detti file sorgenti (source file). Esistono essenzialmente due tipologie di traduzione dei file sorgenti: l’interpretazione e la compilazione. Un file sorgente può essere interpretato, ovvero deve esistere un programma scritto in linguaggio macchina, l’interprete (interpreter), che traduce in linguaggio macchina, una dopo l’altra, tutte le istruzioni


Introduzione allo studio degli archivi presenti nel file sorgente (programma da tradurre) passandole via via alla CPU (unità centrale di elaborazione del computer) che le esegue. Un file sorgente può essere compilato, ovvero deve esistere un programma scritto in linguaggio macchina, il compilatore (compiler), che traduce in linguaggio macchina tutte le istruzioni presenti nel sorgente, memorizzandole all’interno di un file eseguibile. La differenza è sostanziale: ogni volta che si desidera far eseguire un programma interpretato è necessario far eseguire anche l’interprete a cui si fa quindi tradurre il file sorgente sul momento, al volo (on-the-fly); se si desidera invece far eseguire un programma compilato, già tradotto quindi in linguaggio macchina dal compilatore, non è necessario far eseguire insieme ad esso anche il compilatore, poiché il programma compilato (file eseguibile) è comprensibile direttamente dalla CPU (è in linguaggio macchina): il compilatore è necessario soltanto nella fase di traduzione (compilazione) dei file sorgenti del programma, che avviene una tantum. Per questo l’esecuzione di un programma compilato è notevolmente più veloce rispetto a quella dello stesso programma interpretato: nel tempo di esecuzione di un programma interpretato viene ovviamente incluso anche il tempo di traduzione di ogni istruzione, mentre con il programma compilato non c’è traduzione durante la fase di esecuzione (esso è già stato tutto tradotto). Gli archivi Le informazioni o dati risultato delle elaborazioni vanno ovviamente memorizzate su opportuni supporti fisici (hard disk, memorie ottiche, memorie flash, ecc.) con tecnologie che dipendono dal tipo di supporto. I dati possono avere natura diversa, dalla diversità di natura discende la necessità di utilizzare regole diverse per codificarli ed interpretarli ma anche la necessità di utilizzare quantità diverse di bit per codificarli. Ne discende la necessità che quando un programma vuol far memorizzare dei dati ad un computer deve prima dichiarare di che tipo di dati si tratta in modo da permettere al computer di interpretarli correttamente e riservare nei supporti di memorizzazione una quantità sufficiente di bit per poter conservare questi dati. Un archivio è un insieme di dati salvati su un supporto. Il contenitore di questi dati è detto file. I dati con cui si ha a che fare sono spesso elementari, cioè non ulteriormente suddivisibili in sottounità logiche, e di natura omogenea. Ad esempio posso crearmi un archivio di parole della lingua italiana: è ovvio che saranno tutti dati dello stesso tipo, stringhe di caratteri alfabetici e ogni dato ha senso preso nella sua interezza, le singole lettere componenti le parole non avrebbero alcun senso per chi utilizzerà le informazioni. A volte, in casi più complessi l’unità di informazione su cui si deve lavorare è più complessa, costituita da componenti elementari anche di natura diversa fra loro. Ad esempio, abbiamo un archivio di dati sulle persone che sarà costituito da nome, cognome, data di nascita, codice fiscale, indirizzo, ecc. Un’unità di informazione di questo tipo si dice record, i suoi singoli componenti si dicono campi del record. Le informazioni relative all’organizzazione di un record ( nome di ogni campo, tipo di dati contenuti, ecc.) prende il nome di tracciato del record.


Introduzione allo studio degli archivi

Viene definita CHIAVE (KEY) un campo mediante il quale è possibile identificare in modo univoco i record all'interno di un file. Sono esempi di chiave primaria: •

il numero di matricola di uno studente universitario;

il numero del conto corrente bancario di un cliente;

il codice dell'articolo di magazzino;

il codice fiscale di una persona.

L'insieme correlato degli archivi, il loro sistema di gestione e le persone che li usano formano il SISTEMA INFORMATIVO. RECORD FISICI e RECORD LOGICI I file sono memorizzati in memoria di massa, che è considerata una memoria aggiunta all’elaboratore. Per poter elaborare, tramite un programma, i dati presenti nel file è necessario prima trasferirli nella memoria centrale. È compito del sistema operativo (file system) trasportare fisicamente i dati dalla memoria di massa alla memoria centrale e viceversa. Il trasferimento dei dati dalle unità di memoria periferica (memoria di massa) alla memoria centrale è detta operazione di INPUT (o LETTURA); l'operazione inversa (dalla memoria centrale alla periferica) è un'operazione di OUTPUT (SCRITTURA). In particolare, con l’operazione di lettura viene fatto un accesso alla memoria di massa e viene ricopiato una record dalla memoria di massa alla memoria centrale. Con l'operazione di scrittura avviene il contrario e cioè il record presente nella memoria centrale viene copiato nella memoria di massa.


Introduzione allo studio degli archivi Finora abbiamo parlato di record come l'insieme delle informazioni relative all'entità logica, definito a seconda delle esigenze dell'applicazione. Questa definizione coincide con quella di record logico, ossia la descrizione di come il programmatore vuole suddividere il gruppo di informazioni che caratterizzano l'oggetto osservato (quello che viene definito nel file per definire la sua struttura: record, campi, tracciato record). Il record logico ha una lunghezza in byte pari alla somma della dimensione dei suoi campi. Sulla memoria di massa dove risiede il file, invece, i record logici sono raggruppati in blocchi o record fisici (di lunghezza prefissata) e costituiscono l'unità di trattamento fisico. Il record fisico (o blocco) rappresenta l'insieme dei byte che possono essere letti o scritti in memoria di massa con una singola operazione di lettura o scrittura. Un blocco può contenere più record logici. Quindi le operazioni di lettura/scrittura su un file riguardano gruppi di record logici: in questo modo diminuisce il numero di accessi alla periferica (perché ogni volta che si accede alla periferica vengono letti o scritti più record alla volta), che sono operazioni più lente rispetto agli accessi ai dati contenuti nella memoria centrale. Si chiama FATTORE DI BLOCCO il numero di record logici contenuti un blocco. ORGANIZZAZIONE DEI FILE I file sono dati strutturati e formano un sistema organizzato per la conservazione e il trattamento dei dati. Tale struttura è quindi caratterizzata da una organizzazione. Per organizzazione o implementazione di un archivio si intende sia il modo in cui esso è rappresentato sul supporto fisici di memoria, sia il modo in cui è elaborato.

L’organizzazione, pertanto, si distingue in: FISICA: riguarda il supporto fisico di memorizzazione ===> dalla parte della macchina LOGICA: riguarda le modalità di gestione dei file ===> dalla parte del programmatore Il supporto su cui sono memorizzati i dati individua l'organizzazione fisica e condiziona l'organizzazione logica. L'utente interagisce sempre con l'archivio logico, ma deve sapere che questo si basa su un archivio fisico. DIFETTI NELL’ORGANIZZAZIONE TRADIZIONALE DEGLI ARCHIVI Il principale difetto è costituito dall’eccessiva dipendenza dei programmi che gestiscono gli archivi rispetto all’organizzazione degli archivi stessi. Basti pensare che, poiché la struttura dei dati va definita nel programma stesso, se abbiamo bisogno, ad esempio, di modificare la traccia dei record, siamo costretti a ricompilare tutti i programmi che utilizzano quegli archivi. Lo stesso discorso vale se vogliamo cambiare l’organizzazione degli archivi che vincola il tipo di operazioni che possiamo fare sugli stessi. Il legame stretto fra programmi di gestione e archivi rende inoltre molto difficile gestire la concorrenza cioè l’accesso contemporaneo di più utenti agli stessi archivi.


Introduzione allo studio degli archivi Esso porta infine spesso alla proliferazione di archivi che contengono duplicazioni dei dati (ridondanza dei dati) con possibilità di incongruenza se i dati non vengono aggiornati in maniera corretta in tutti gli archivi.

ORGANIZZAZIONE FISICA SUPPORTI FISICI I dati contenuti negli archivi vengono memorizzati su MEMORIA DI MASSA o MEMORIA AUSILIARIA (in quanto sono una estensione della memoria centrale e consentono di conservare le informazioni nel tempo, a differenza della RAM che è volatile), costituite da: NASTRI, DISCHI MAGNETICI, DISCHI OTTICI. Le memoria di massa sono caratterizzate e si differenziano per alcuni aspetti fondamentali:

sequenziale ==> nastri •

il TIPO di ACCESSO diretto

==> dischi

• CAPACITÀ: quantità di dati contenuti nella memoria. Si misura in Mb (= 1024 Kb), in Gb (1024 Mb) e in Tb (1024Gb) • SEEK TIME: tempo medio di ritrovamento dei dati in una specifica posizione del disco (misurato in ms) . • ACCESS TIME: tempo medio necessario per ritrovare i dati sul disco e trasferirli in memoria centrale (misurato in ms) . • TRANSFER RATE: velocità di trasferimento dei dati dalla memoria di massa alla memoria centrale (misurato in Kb/sec o Mb/sec) (numero di byte trasferiti dalla memoria di massa alla memoria centrale in un secondo) Ci sono poi altre caratteristiche delle memorie di massa che permettono di definirne le funzioni e i criteri di scelta: •

COMPATIBILITÀ: possibilità di utilizzare i drive e i supporti su un determinato sistema di elaborazione,


Introduzione allo studio degli archivi con la possibilità che i dati siano disponibili anche alle altre unità del sistema (ad esempio in una rete); • la gestione del FAULT TOLERANCE (tolleranza al guasto): possibilità di duplicare il sistema di memorizzazione o parte di esso, per consentire di continuare il lavoro anche se uno dei due si blocca; • garanzia sia della SICUREZZA che dell' INTEGRITÀ dei dati, di fronte a rischi di cancellazioni o modifiche accidentali e non volute da parte degli utenti, o di possibilità di distruzione da parte di virus; • l'OPERATIVITÀ: facilità d'uso da parte dell'utente; • la DURATA delle registrazioni su supporti nel tempo (contro rischi di distruzione dei supporti); • la possibilità di utilizzare MEMORIE DI TIPO DIVERSO (dischi e nastri) nello stesso sistema di elaborazione; • il TRASFERIMENTO dei dati, da un sistema di elaborazione ad un altro, avente anche un sistema operativo diverso dal primo; • l'ESPANSIONE delle unità di memoria di massa, con l'aggiunta di nuove unità o con l'uso di supporti di maggiore capacità; • il COSTO dei drive, dei supporti e del software di gestione. Le tendenze della tecnologia dei dischi vanno verso l'incremento di capacità e la sicurezza. La velocità è importante, ma la differenza tra dischi e memoria centrale nei tempi di accesso è talmente grande che nessuna tecnologia è ancora in grado di ridurre questa differenza. Quindi il fattore più importante rimane la capacità. Le apparecchiature che servono per leggere e scrivere le informazioni memorizzate nei file si chiamano DRIVE (apparecchiatura per la gestione della periferica) DRIVER: software di gestione della periferica. File system: Insieme dei programmi del S.O., che permette la gestione delle informazioni memorizzate su memoria di massa, attraverso un sistema di gestione dei file organizzato in directory (o cartelle), secondo una struttura ad albero. Il File System permette al programmatore di riferirsi ai files attraverso i loro nomi simbolici di identificazione (nome.estensione), senza preoccuparsi della gestione e memorizzazione fisica sul supporto. ORGANIZZAZIONE LOGICA L 'organizzazione logica fa riferimento alla gestione dell'archivio, ossia fissa il modo in cui i record sono disposti all'interno dell'archivio e, quindi, il modo in cui possono essere reperiti. I tipi di organizzazione logica sono:

ORGANIZZAZIONE SEQUENZIALE:i record sono registrati uno dopo l'altro, nell'ordine in cui vengono inseriti. Per accedere ad un determinato record, si devono scorrere tutti quelli che lo precedono. Questo tipo di organizzazione è adatto quando si deve effettuare lo stesso tipo di elaborazione su tutti i record del file. Vengono generalmente utilizzati solo come file storici, di conservazione dei dati. Questa organizzazione è possibile sia per i file memorizzati su nastro che su disco. Per i file memorizzati su nastro è l'unica possibile.


Introduzione allo studio degli archivi

ORGANIZZAZIONE SEQUENZIALE AD INDICE (o FILE INDEXED):Nel tracciato record del file deve essere individuato un campo, detto chiave, che identifica il record in modo univoco. Con questo tipo di organizzazione, accanto alla zona dove sono registrati record dell'ordine di immissione, viene gestita una tabella delle chiavi (o file indice): la ricerca del record avviene leggendo la tabella delle chiavi e non i record come succede nei file sequenziali. In questo modo l'utente può accedere direttamente al record specificandone solo la chiave, senza dover scorrere tutti quelli che lo precedono. Si utilizza questa organizzazione quando si deve elaborare un solo record alla volta, cioè quando si devono effettuare operazioni locali ( ad es. modificare l'indirizzo di un cliente). E’ possibile comunque accedere a tutti i record del file leggendo in modo sequenziale a partire dal primo, sempre seguendo l'ordine delle chiavi. Questa organizzazione è ammessa solo per i file memorizzati su disco.


Introduzione allo studio degli archivi

ORGANIZZAZIONE AD ACCESSO DIRETTO o CASUALE o RANDOM: ogni record è individuato da un numero che ne esprime la posizione all'interno del file. Se i record vengono inseriti uno di seguito all'altro, il numero di record viene assegnato aggiungendo una unità al numero dell'ultimo record registrato. Se si vuole invece accedere in modo diretto a un determinato record occorre specificare il numero prima di un'operazione di lettura.

Al concetto di organizzazione logica è legato quello di metodo di accesso ai record.


Introduzione allo studio degli archivi Parlando dell'organizzazione fisica abbiamo già introdotto il termine di accesso e lo abbiamo utilizzato per caratterizzare la struttura fisica dei supporti di memorizzazione. Con metodo di accesso logico, invece, intendiamo quanto segue: il metodo di accesso logico è l'operazione per mezzo della quale è possibile reperire i record nell'archivio (attraverso operazioni di lettura scrittura).


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.