Informatica I File

trapaninfo.it

... trapaninfo.it

Matematica - Informatica

INFORMATICA - I FILE

-^

I FILE

In generale un file è un insieme di informazioni memorizzato su memoria di massa (nastro o disco). Può trattarsi quindi del testo di un programma, del codice oggetto di un programma, di un programma eseguibile, o di un file contenente dati veri e propri da utilizzare in un programma.

-^

I FILE DI DATI

Un file di dati è un insieme di record logici. Un record è una struttura costituita da più dati anche non omogenei tra loro; ciascun dato che compone il record si chiama campo e può essere identificato tramite il nome; viene associato un nome globale all'intero record e nomi diversi ai singoli campi. In teoria non esiste un limite al numero di record che possono essere contenuti nel file; in realtà il numero di record è limitato dalla capacità del supporto su cui il file è registrato. La gestione di un file comprende delle operazioni che agiscono su tutto il file e delle operazioni che agiscono su un record per volta. Le operazioni che agiscono su tutto il file sono la creazione, l'apertura del file per renderlo disponibile a un programma, la cancellazione, la copia del file (sullo stesso o su un altro supporto), la ridenominazione (cioè l'operazione con cui si cambia nome al file). Le operazioni che agiscono su un record per volta sono quelle di lettura e aggiornamento (le operazioni di aggiornamento sono l'inserimento, la variazione dei dati, la cancellazione di un record). L'operazione di lettura di un file permette di accedere soltanto a un record per volta; i dati del record letto vengono resi disponibili tramite un'area di memoria riservata al file detta area record. Questa viene utilizzata per eseguire tutte le operazioni di input/output logiche sul file. [Figura: Un file è formato da record suddivisi in campi.]

Schema di un file

-^

LE OPERAZIONI DI INPUT/OUTPUT

Si chiama record fisico o blocco l'insieme di dati che vengono trattati durante un'operazione di lettura o scrittura sul supporto magnetico. Di solito un blocco contiene più record logici (si parla di record bloccati). Un'operazione di lettura o scrittura che viene eseguita fisicamente sulla memoria di massa non agisce su un record logico ma su un record fisico. Quando il programma richiede la lettura del primo record logico viene eseguita una lettura dalla memoria di massa; essa legge il primo record fisico e lo carica nel buffer di input/output (una memoria di transito destinata appunto a contenere un blocco che è stato letto dal file o che vi deve essere registrato). Il record logico desiderato viene prelevato dal buffer e portato nell'area record del file (l'area di memoria riservata al file per le operazioni logiche). Quando il programma richiede un altro record logico per prima cosa si esamina il buffer di input/output per vedere se il record desiderato è già presente (dato che in un blocco possono essere contenuti più record logici). In questo caso il record viene trasferito direttamente nell'area record del file senza che si debba eseguire una lettura dalla memoria di massa; altrimenti si legge dalla memoria di massa il blocco che contiene il record desiderato. Analogamente, quando il programma richiede un'operazione di scrittura di un record logico, il record non viene scritto direttamente in memoria ma nel buffer di input/output; soltanto quando il buffer è pieno, cioè quando sono stati scritti tutti i record logici che devono essere contenuti nel blocco, si provvede alla registrazione effettiva sul supporto magnetico.

-^

RELAZIONI TRA RECORD LOGICI E FISICI

Il record logico è il record, suddiviso in campi, che viene gestito dal programma; il record fisico è l'insieme di dati che viene trattato durante un'operazione di lettura o scrittura sulla memoria di massa. In genere, record logico e record fisico non corrispondono; un record fisico può contenere più record logici o un record logico può essere suddiviso su più record fisici. I record di un file si dicono: - sbloccati se ogni blocco contiene un record logico; - bloccati se ogni blocco contiene più record logici; - multiblocco (spanned) se un record logico è registrato utilizzando più blocchi. Si chiama fattore di blocco il numero di record logici che sono contenuti in un blocco. La grandezza di un blocco viene misurata dal numero di byte occupati (non può superare la grandezza del buffer di input/output). Tra un blocco e l'altro, sulla memoria di massa, viene lasciato uno spazio vuoto (chiamato gap) per consentire la decelerazione e l'accelerazione del supporto magnetico tra un'operazione di input/output e l'altra. Usare record bloccati (cioè memorizzare più record logici in un blocco) permette un risparmio di spazio sul dispositivo di memorizzazione poiché ci sono meno gap, quindi meno spazio inutilizzato. Inoltre diminuisce il tempo richiesto dalle operazioni di input/output poiché il trasferimento del record logico avviene solo tra il buffer e la memoria centrale impiegando un tempo inferiore (gli accessi ai dispositivi esterni impiegano tempi più lunghi poiché richiedono operazioni meccaniche). La definizione della lunghezza del blocco può essere fissa o dipendere dalla scelta fatta dal programmatore al momento della creazione del file. Se la lunghezza del blocco è fissa il programmatore definisce soltanto quella del record logico, mentre se è possibile modificare la lunghezza del blocco il programmatore può stabilire quella sia del record logico sia del record fisico (di solito la lunghezza del record fisico è un multiplo di quella del record logico, se quest'ultimo è a lunghezza fissa). [Figura: Memorizzazione dei record logici: i record logici possono essere memorizzati ognuno su un blocco (record sbloccati), raggruppando più record logici in un blocco (record bloccati), o utilizzando più blocchi per un record logico (record spanned).]

Memorizzazione dei record logici

-^

-^

METODI DI ORGANIZZAZIONE E DI ACCESSO

Per definire un file è necessario stabilire il metodo di organizzazione, cioè il metodo con cui le informazioni sono registrate sul supporto. Per i file su nastro esiste un unico tipo possibile: l'organizzazione sequenziale. Per i file su disco esistono organizzazioni diverse:

- regional,

- sequenziale,

- indexed (sequenziale con indice),

- direct (diretta),

- relative (relativa).

Secondo il tipo di organizzazione è possibile accedere ai record in modo differente.

-^

-^

ORGANIZZAZIONE REGIONAL

L'organizzazione regional viene utilizzata per i file che contengono programmi oggetto o programmi eseguibili che, quando vengono richiamati con un nome, devono essere caricati per intero in memoria. Per la registrazione del file vengono utilizzate posizioni consecutive della memoria di massa; l'area viene identificata da un nome e un'operazione di lettura o scrittura agisce su tutto il file. Le informazioni del file, cioè, sono considerate come una cosa sola e non esiste una suddivisione in record.

-^

ORGANIZZAZIONE SEQUENZIALE

Un file ad organizzazione sequenziale è un file in cui i record si possono registrare e rileggere soltanto in modo ordinato, in sequenza. L'unico tipo di accesso possibile dunque è quello sequenziale; per esaminare l'ultimo record, per esempio, è necessario scorrere tutti i record che lo precedono. In realtà, i record vengono registrati fisicamente uno dopo l'altro in sequenza soltanto sul nastro; su disco possono essere registrati anche in aree non contigue e non successive, ma concettualmente vengono trattati come se fossero memorizzati in modo strettamente sequenziale.

ORGANIZZAZIONE INDEXED (O SEQUENZIALE CON INDICE)

L'organizzazione indexed (chiamata anche sequenziale con indice) non si può utilizzare per file su nastro, ma soltanto su disco. I record del file devono contenere uno o più campi, chiamati chiave del file, che permettono di identificare i record; perché i record possano essere individuati in modo univoco il valore del campo chiave deve essere diverso per ogni record. Spesso però, oltre alla chiave primaria si possono definire delle chiavi secondarie e allora possono essere ammessi valori duplicati su più record. L'organizzazione indexed permette di accedere ai record in due modi diversi: in modo sequenziale (non in ordine di inserimento bensì in ordine di chiave), o in modo diretto, cioè richiedendo direttamente un record attraverso il valore del campo chiave.

-^

ORGANIZZAZIONE FISICA DEI FILE INDEXED

I record nei file ad organizzazione indexed vengono registrati in modo sequenziale in un'area chiamata area dati. Contemporaneamente viene aggiornata una tabella, registrata in un'area chiamata area indici, che permette di trovare velocemente i record richiesti, rendendo disponibile l'accesso diretto. I record sono registrati sequenzialmente nell'area dati in ordine di chiave; l'area dati è suddivisa in segmenti. Nella tabella che fa da indice viene riportato l'elenco delle chiavi dell'ultimo record di ciascun segmento; a fianco di ogni chiave viene indicato l'indirizzo di inizio del segmento relativo. Se si utilizza l'accesso sequenziale la lettura avviene direttamente nell'area dati. Quando si vuole lavorare su un record in modo diretto bisogna indicare la chiave del record che interessa. La ricerca del record inizia cercando nell'area indici la prima chiave superiore alla chiave richiesta; in corrispondenza si trova l'indirizzo di inizio del segmento che può contenere il record cercato. Vengono letti sequenzialmente i record del segmento individuato finché si trova quello con la chiave richiesta; dato che i record sono in ordine di chiave se non esiste un record con la chiave cercata, ci si ferma quando si trova il primo record con chiave superiore.

Organizzazione fisica di un file Indexed

-^

ORGANIZZAZIONE DIRECT (DIRETTA)

Anche l'organizzazione diretta non si può utilizzare per file su nastro, ma soltanto su disco. I record del file devono contenere un campo chiave che permette di identificarli in modo univoco. Si lavora direttamente sul record che interessa indicandone la chiave.

ORGANIZZAZIONE FISICA DEI FILE DIRECT

Ogni record contiene una chiave, con valore diverso; l'indirizzo della posizione del disco dove registrare il record durante un'operazione di scrittura o dove ritrovarlo durante un' operazione di lettura viene calcolato con il metodo della funzione indirizzo. La funzione indirizzo è un algoritmo che calcola un indirizzo sul disco in base al valore della chiave; l'indirizzo a cui registrare il record viene calcolato la prima volta al momento dell'inserimento del record; ad ogni ricerca successiva la funzione restituisce l'indirizzo in cui il record si trova. La funzione indirizzo associa in modo casuale (o, meglio, pseudocasuale in quanto segue un metodo particolare, noto come tecniche di hash) un indirizzo ad ogni valore della chiave, ma non garantisce di calcolare sempre indirizzi diversi per chiavi differenti. Potrebbe quindi accadere che per due record con chiavi diverse venga calcolato lo stesso indirizzo e quindi che si cerchi di registrare un record in una posizione già occupata. Due record a cui la funzione indirizzo associa lo stesso indirizzo vengono chiamati sinonimi; la gestione dei sinonimi può essere trattata con metodi diversi. Il metodo più efficace consiste nel creare delle catene di sinonimi, gestite tramite puntatori. Se al momento dell'inserimento di un record la funzione indirizzo restituisce in base alla chiave una posizione già occupata, il record viene registrato in una posizione libera (eventualmente di un'area riservata ai sinonimi) e collegato tramite puntatori agli altri record per cui la funzione restituisce lo stesso indirizzo. Quando viene richiesta la lettura di un record che ha dei sinonimi si applica la funzione alla chiave, cercando l'indirizzo associato; si scorre, quindi, la catena di sinonimi collegati all'elemento che occupa tale posizione.

ORGANIZZAZIONE RELATIVE

Anche l'organizzazione relative non si può utilizzare per i file su nastro ma soltanto per file su disco. Nei file ad organizzazione relative ogni record è individuato da un numero che ne esprime la posizione relativa all'interno del file (il numero 1 viene associato al primo record, il numero 2 al secondo e così via). Questo tipo di organizzazione permette di accedere ai record in due modi diversi: in modo sequenziale (non in ordine di inserimento bensì in ordine di numero relativo di record) o in modo diretto, indicando il numero del record che si desidera creare o rileggere.

in trapaninfo.it disclaim Richiesta inserimento eMail@webmaster -^up^

Web Trapanese eXTReMe Tracker
Web Trapanese free counters

gbm w3c

Ai sensi dell'art. 5 della legge 22 aprile 1941 n. 633 sulla protezione del diritto d'autore, i testi degli atti ufficiali dello Stato e delle amministrazioni pubbliche, italiane o straniere, non sono coperti da diritti d'autore. Il copyright, ove indicato, si riferisce all'elaborazione e alla forma di presentazione dei testi stessi. L'inserimento di dati personali, commerciali, collegamenti (link) a domini o pagine web personali, nel contesto delle Yellow Pages Trapaninfo.it (TpsGuide), deve essere liberamente richiesto dai rispettivi proprietari. In questa pagina, oltre ai link autorizzati, vengono inseriti solo gli indirizzi dei siti, recensiti dal WebMaster, dei quali i proprietari non hanno richiesto l'inserimento in trapaninfo.it. Il WebMaster, in osservanza delle leggi inerenti i diritti d'autore e le norme che regolano la proprietà industriale ed intellettuale, non effettua collegamenti in surface deep o frame link ai siti recensiti, senza la dovuta autorizzazione. Il webmaster, proprietario e gestore dello spazio web nel quale viene mostrata questa URL, non è responsabile dei siti collegati in questa pagina. Le immagini, le foto e i logos mostrati appartengono ai legittimi proprietari. La legge sulla privacy, la legge sui diritti d'autore, le regole del Galateo della Rete (Netiquette), le norme a protezione della proprietà industriale ed intellettuale, limitano il contenuto delle Yellow Pages Trapaninfo.it Portale Provider Web Brochure e Silloge del web inerente Trapani e la sua provincia, ai soli dati di utenti che ne hanno liberamente richiesto l'inserimento. Chiunque, vanti diritti o rileva che le anzidette regole siano state violate, può contattare il webMaster di trapaninfo.it. Note legali trapaninfo.it contiene collegamenti a siti controllati da soggetti diversi i siti ai quali ci si può collegare non sono sotto il controllo di trapaninfo.it che non è responsabile dei loro contenuti. trapaninfo.it

Shiny Stat

Check google pagerank for trapaninfo.it

-^

Copyright (c) 2002-20 trapaninfo.it TP Comuni