La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 File. 2 Memorizzazione In memoria principale Strutture dati: interi, reali, array, liste,... Durante lesecuzione di un programma In memoria secondaria.

Presentazioni simili


Presentazione sul tema: "1 File. 2 Memorizzazione In memoria principale Strutture dati: interi, reali, array, liste,... Durante lesecuzione di un programma In memoria secondaria."— Transcript della presentazione:

1 1 File

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

3 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 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 5

6 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 2 16 o 2 32 settori diversi (ogni settore circa 2 KB)

7 7 Operazioni su file Apertura Lettura Scrittura Chiusura

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

9 9

10 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 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 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 13

14 14

15 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 16

17 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 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 lindirizzo 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, lindice viene trasferito in M principale Piu veloce accedere allinformazione

19 19

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

21 21

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


Scaricare ppt "1 File. 2 Memorizzazione In memoria principale Strutture dati: interi, reali, array, liste,... Durante lesecuzione di un programma In memoria secondaria."

Presentazioni simili


Annunci Google