File 1 Memorizzazione n In memoria principale Strutture
- Slides: 22
File 1
Memorizzazione n In memoria principale ¨ Strutture dati: interi, reali, array, liste, . . . ¨ Durante l’esecuzione di un programma n In memoria secondaria ¨ file 2
Record logici e fisici n 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, n Memorizzato in memoria secondaria in pezzi (record fisici) ¨ Es. : n indirizzo, . . . settori di un disco Lettura e scrittura di record fisici, anche se il programma chiede di leggere o scrivere un solo record logico 3
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 n Scrittura: il record logico che si vuole modificare viene messo in un buffer e poi scritto in un intero record fisico n 4
5
File Allocation Table (FAT) n n n 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) 6
Operazioni su file Apertura n Lettura n Scrittura n Chiusura n 7
File sequenziali Accesso sequenziale n Esempi: file di audio, video, programmi, testo n Se su CD o nastro (supporto sequenziale), l’accesso sequenziale e’ naturale n Se su disco e diviso in settori diversi, il SO deve recuperare i settori e ricostruire il file n 8
9
File sequenziali – fine file n n 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) 10
File sequenziali -- chiave n n 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, . . . 11
Fusione (merge) di due file Procedure merge(file 1, file 2, file 3) if (eof 1 and eof 2) then (file 3= vuoto) if (not eof 1) then (record 1 = primo record di file 1) if (not eof 2) then (record 2 = primo record di file 2) while (not eof 1 and not eof 2) do ¨ Metti il record con chiave piu’ piccola tra record 1 e record 2 in file 3; ¨ Aggiorna record 1 o record 2 al rcord successivo; Copia i restanti record del file non finito in file 3 12
13
14
File di testo n n 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 15
16
Linguaggi di programmzione Istruzioni per gestire file sequenziali n Aprire un file per leggere un record o un suo campo o un carattere o una riga n Tastiera, schermo, stampante considerati come file sequenziali da cui leggere o a cui inviare caratteri n 17
Indici n n n n 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 18
19
File invertiti Piu’ indici per accedere velocemente secondo diverse chiavi n Es. : numero di matricola, codice fiscale n 20
21
Indici parziali n n n 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 22
- Dispositivi di memorizzazione
- File-file yang dibuat oleh user pada jenis file di linux
- Numero quantico magnetico
- Trigonométrie tronc commun
- Ellissoide di inerzia
- Proposition
- Vsh foie
- Le principale
- L'idée principale d'un texte
- Le proposizioni
- Le proposizioni incidentali
- Caracterizare de personaj baltagul
- Séquence principale
- Doc easy pagina principale
- Esponente del platonismo rinascimentale
- La proposizione principale mappa
- Vincolo manicotto
- Fitanile
- Ciclo iterativo informatica
- Tdc significato pedagogico
- Esempio piano di manutenzione delle strutture ntc 2018 doc
- Nova angeletta sovra l'ale accorta figure retoriche
- Diafanizzazione istologia