La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

File.

Presentazioni simili


Presentazione sul tema: "File."— Transcript della presentazione:

1 File

2 Memorizzazione In memoria principale In memoria secondaria
Strutture dati: interi, reali, array, liste, ... Durante l’esecuzione di un programma In memoria secondaria file

3 Record logici e fisici Un file e’ suddiviso in record logici
Es.: file con i dati del persnale Un record per ogni dipendente Vari campi in ogni record: nome, indirizzo, ... Memorizzato in memoria secondaria in pezzi (record fisici) Es.: settori di un disco Lettura e scrittura di record fisici, anche se il programma chiede di leggere o scrivere un solo record logico

4 Lettura/scrittura di un record logico
Lettura: viene letto tutto un record fisico contenente il record logico richiesto, e messo in un buffer di memoria principale Scrittura: il record logico che si vuole modificare viene messo in un buffer e poi scritto in un intero record fisico

5

6 File Allocation Table (FAT)
Tabella di allocazione dei file: per ogni file, quali settori del disco sono assegnati a lui Tante righe quanti sono i settori (o gruppi di settori) Nella directory del file: numero del primo settore Nella riga del FAT per il primo settore: numero del secondo settore, e cosi’ via Ogni voce della FAT: 16 o 32 bit  216 o 232 settori diversi (ogni settore circa 2 KB)

7 Operazioni su file Apertura Lettura Scrittura Chiusura

8 File sequenziali Accesso sequenziale
Esempi: file di audio, video, programmi, testo Se su CD o nastro (supporto sequenziale), l’accesso sequenziale e’ naturale Se su disco e diviso in settori diversi, il SO deve recuperare i settori e ricostruire il file

9

10 File sequenziali – fine file
Rilevare la fine del file Record di fine (diverso da tutti gli altri record) Oppure, variabile EOF (end of file) che il sistema operativo mette a vero quando il file e’ finito Es.: while (not EOF) do (leggi un record dal file)

11 File sequenziali -- chiave
Ogni record logico ha un campo che lo identifica (chiave) Es.: codice fiscale per un dipendente File ordinati secondo il campo chiave  elaborazione piu’ efficiente Es.: merge (fusione) di due file, aggiornamento di un file usando le informazioni di un altro file, ...

12 Fusione (merge) di due file
Procedure merge(file1,file2,file3) if (eof1 and eof2) then (file3= vuoto) if (not eof1) then (record1 = primo record di file1) if (not eof2) then (record2 = primo record di file2) while (not eof1 and not eof2) do Metti il record con chiave piu’ piccola tra record1 e record 2 in file3; Aggiorna record1 o record2 al rcord successivo; Copia i restanti record del file non finito in file3

13

14

15 File di testo Stringa di caratteri: ogni carattere e’ un intero record logico Standard ASCII, un byte per carattere Molti file sequenziali complessi realizzati da file di testo Es.: file dei dipendenti: ogni record logico e’ una stringa di 25 caratteri per il nome, piu’ 6 caratteri per numero di matricola  31 caratteri per un record

16

17 Linguaggi di programmzione
Istruzioni per gestire file sequenziali Aprire un file per leggere un record o un suo campo o un carattere o una riga Tastiera, schermo, stampante considerati come file sequenziali da cui leggere o a cui inviare caratteri

18 Indici Indice: sequenza di chiavi e indirizzi di memoria dove e’ archiviato un bloco di informazioni Per accedere al blocco di informazioni: prima si ceca la chiave, e poi si guarda l’indirizzo corrispondente File indicizzato: file + file di indice Es.: matricola per dipendenti, numero per CD audio Entrambi memorizzati in M secondaria Quando di vuole usare un file, l’indice viene trasferito in M principale Piu’ veloce accedere all’informazione

19

20 File invertiti Piu’ indici per accedere velocemente secondo diverse chiavi Es.: numero di matricola, codice fiscale

21

22 Indici parziali File sequenziale, diviso in vari segmenti
Ogni segmento contiene piu’ record e corrisponde ad una sola chiave (l’ultima) Per cercare un record: trovo la prima chiave nell’indice > del record cercato, poi cerco il record nel segmento


Scaricare ppt "File."

Presentazioni simili


Annunci Google