Questa pagina è semiprotetta. Può essere modificata solo da utenti registrati

File

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento daFormato di file)
Vai alla navigazione Vai alla ricerca
Disambiguazione– Se stai cercando altri significati, vediFile (disambigua).
Disambiguazione– "Files" rimanda qui. Se stai cercando ilfile managerdiGNOME,vediGNOME Files.
L'icona generica di un file

Unfile(dall'inglese,pronuncia[ˈfaɪl],italianizzatain/ˈfail/;traducibile come "fascicolo", o "archivio" ), ininformatica,è un contenitore didati,tipicamente collocato in unfile system,a sua volta registrato su un supporto dimemorizzazionedigitale.[1][2][3]

Il nome deriva dall'analogia con i sistemi di archiviazione dei dati utilizzati prima dell'avvento dei sistemi informatici che li sostituirono.[4]

Descrizione

Dalla prospettiva dell'utente medio, il file è la minima unità di informazione utilizzabile in unelaboratore. Difatti la totalità delle operazioni comunemente effettuate su un computer implica la creazione, modifica o cancellazione di un file. Le principali interfacce verso la memoria presentate all'utente sono orientate al file. Più in generale un file è una generica raccolta di informazioni, tipicamente strutturata, a cui è assegnato unidentificatoreed altre proprietà che ne costituiscono imetadati.[5]

I file all'interno di un sistema informatico sono tipicamente molto numerosi ed eterogenei, e quindi il problema della loro organizzazione e memorizzazione è molto sentito. Per questo motivo nella quasi totalità dei casi i file vengono ricompresi in strutture dati dedicate allo scopo chiamatefile system.Incidentalmente il fare parte di un file system è ciò che più marcatamente distingue i file da qualunque altra struttura dati.

Elementi caratterizzanti

La definizione esatta delle caratteristiche di un file varia anche di molto tra i diversifile system.È possibile tuttavia individuarne alcune comuni: [6] [7]

Identificatore

Lo stesso argomento in dettaglio:Uniform Resource IdentifieredEstensione (informatica).

Ogni file ha bisogno di essere associato ad unidentificatoreunivoco per poter essere distinto dagli altri in una medesima collezione. Molto spesso l'identificatore costituisce di unastringa testualedel tipoURI. Il particolare sottotipo di URI utilizzato dipende dal tipo di collezione nel quale risiede il file. Tipicamente i file sono organizzati indirectorye come identificatore viene usata l'indicazione della posizione del file all'interno di questa, chiamata "percorso".

Un altro tipo di identificatore, decisamente meno univoco, è il nome del file. Nei sistemi basati su directory il nome coincide con l'ultimo componente del percorso. Questo tipo di identificatore riveste una particolare importanza in sistemi comeMicrosoft Windows,che decidono come trattare un file sulla base del nome ed in particolare dell'estensione.[8]

Formato

Lo stesso argomento in dettaglio:Lista di formati di file.

I file, quali generici contenitori di dati e spesso anche di grandi dimensioni, sono caratterizzati da unastrutturainterna ad-hoc.[9] Lo schema di questa struttura definisce il cosiddetto formato del file.[10][11]

Essendo la struttura necessariamente pensata per specifiche applicazioni, spesso è necessario utilizzare specifici programmi per manipolare il file in modo sostanziale. Fanno eccezione a questa «regola» una ristretta selezione di formati di uso particolarmente ampio, tant'è che molti sistemi operativi integrano già strumenti adatti a manipolarli.[9] [8] Sono parte di questa categoria i formati cosiddetti di «testo semplice» poiché basati sullacodificaASCIIoppureUnicode.[12] Tra i più famosi non si possono non citareJSON,TOML,YAMLedXML. In generale si è soliti indicare con il termine «file binario» tutti quei file di cui non è noto il formato, e che quindi se ispezionati in modo naive (ad esempio utilizzando uneditor di testo) appaiono come un ammasso incomprensibile di simboli.

Il formato è convenzionalmente indicato attraverso l'estensionedel file, ovvero una serie dicaratterisuffissi al nome per mezzo di un punto. Ad esempio, un file denominato «prova.txt» va interpretato comefile di testo,mentre «prova.jpg» contiene un'immagineJPEG. Molti sistemi operativi, tra cui notoriamenteMicrosoft WindowsedMS-DOS,usano questo metodo per identificare il tipo dei file.[8][11]

Un altro metodo per indicare il formato del file è includere un indizio all'interno del file stesso. Una strategia comune in questo senso sono imagic number,ovvero delle brevi sequenze dibyteposte in posizioni note all'interno del file (tipicamente all'inizio) che possono essere associate univocamente ad un formato. Questo metodo è comunemente utilizzato in ambientiUnixeUnix-like,dove la presenza della sequenzaASCII#!(shabang) in testa ad un file segnala la sua naturaeseguibile.[13][14][11]

In altri casi, come ad esempio sui sistemiMacintoshe nelfile systemHFS+,il formato è indicato neimetadatidel file. Un approccio simile è usato con i file scambiati viae-mailo sulweb,attraverso leintestazioniMIMEo gliInternet media type.[11]

Implementazione

Lo stesso argomento in dettaglio:File system.

Tecnicamente, i dati di un file sonocodificati/organizzati in una sequenza dibytein linea con il linguaggio binario usato dal computer, immagazzinati come un solo elemento su unamemoria di massaattraverso ilfile system(sistema di archiviazione) esistente su quella data memoria. Il sistema, quando riceve una richiesta dall'utente (esempio: aprire un file), provvede poi all'operazione inversa di decodifica e visualizzazione, facendo apparire sul video parole e numeri.

Nei primi sistemi di elaborazione i file erano gestiti ed elaborati sequenzialmente, quindi per poter analizzare le ultime modifiche al file bisognava scorrere l'intero file e leggere in fondo le ultime modifiche. Nei sistemi operativi moderni questo non è più vero, dato che ilfile systemprovvede ad estrarre l'organizzazione fisica del file ed a riorganizzare il file stesso nel caso sia necessario.

Se dal punto di vista dell'utente un file è solitamente un singolo elemento, può succedere invece che fisicamente sia scritto o risieda su più zone diverse del supporto di memorizzazione che lo ospita: questo fenomeno è molto comune se il supporto di memorizzazione è undisco di memoria,mentre è molto raro su nastri magnetici. Uno dei compiti delsistema operativoè rendere trasparente alleapplicazionila reale suddivisione fisica del file e occuparsi di gestire il recupero delle informazioni in esso contenute (lettura) dai vari blocchi fisici del supporto di memorizzazione e lascrittura.

Operazioni sui file

L'accesso ad un archivio informatico contenuto in una memoria di massa è un'operazione generalmente lenta, che deve essere effettuata secondo ilprotocollodell’interfacciadella memoria di massae che crea rischi di conflitto fra programmi in esecuzione contemporanea.[Chi? Perché?]Per tali motivi[poco convincente]queste operazioni sono eseguite, su richiesta dei programmi che le necessitano, dal sistema operativo che gestisce la coda di accesso e i conflitti. Le operazioni più comuni, universalmente presenti in tutti i sistemi operativi, sono:

  • Apertura:il programma segnala al sistema operativo che ha necessità di accedere a un certo file. Il sistema operativo controlla che il file esista e che non sia già usato o bloccato, da esso o da un altro programma; crea alcune strutture dati per gestire le operazioni successive e riserva una certa quantità di memoria RAM, dettabuffer,per memorizzare i dati in transito da e per il file; restituisce al programma un simbolo (o unhandleoppure un indirizzo di memoria fisica) a cui il programma farà riferimento nelle successive operazioni sul file; gli altri programmi possono accedere allo stesso file solo in modo limitato (solo lettura) o non possono accedervi affatto.
  • Lettura:il programma richiede dei dati dal file. Il sistema operativo li legge, li memorizza nelbufferdi cui comunica l'ubicazione al programma richiedente.
  • Scrittura:Il programma vuole scrivere dei dati in un file. Per prima cosa memorizza i dati in questione in un buffer, di cui poi comunica l'ubicazione al sistema operativo.
  • Chiusura:il programma comunica che non ha più bisogno del file. Tutte le strutture dati e il buffer allocato vengono rilasciati; il sistema operativo elimina il file dalla lista di quelli in uso; gli altri programmi hanno ora libero accesso al file.

Di per sé[di propria iniziativa?]il sistema operativo, tramite il file system, è in grado di compiere le seguenti operazioni:

  • Ridenominazione:ridenominazione del file tramite assegnazione di un nome diverso.
  • Sovrascrittura:sovrascrivere il contenuto di un file con quello di un altro file con lo stesso nome e contenuto.
  • Eliminazione:rimozione del file dalla memoria di massa che lo contiene.

Un programma non può leggere o scrivere un file se prima non lo ha "aperto", e una volta finito di usarlo lo deve sempre "chiudere" per dare modo al sistema operativo di liberare lerisorseoccupate.

Trasferimento di file

Lo stesso argomento in dettaglio:Trasferimento di file.

Si possono utilizzare vari modi e tipologie diconnessionediverse per trasferire file in unarete.Per esempio è possibile condividere e trasferire i file in una reteLANtra due o piùcomputer,utilizzare laposta elettronica,oppure usare dei servizi o programmi appositamente dedicati allo scopo (es.FTP).

Il trasferimento di file attraverso una rete può diventare problematico se non si dispone di una connessione sufficientemente veloce, in particolare se si tratta di file di grosse dimensioni. Per esempio per trasferire un file tramiteInternetè opportuno contenerne la dimensione, altrimenti può essere necessario molto tempo per eseguire l'operazione. Per contenere la dimensione di un file è possibile usare varie tecniche: è possibile per esempiocomprimerloo suddividerlo segmenti più piccoli da trasferire singolarmente.

È possibile trasferire uno o più file tramite la comunee-mail.Per il trasferimento via e-mail va tenuto presente che normalmente ifornitori di servizi Internetlimitano la dimensione di ogni singolo messaggio: per esempioGmaillimita la dimensione degli allegati intrasmissionee in ricezione a 25Megabyte.Inoltre l'interacasella e-mailpuò avere dei limiti nella sua dimensione totale: per esempioAlice,nei contrattiADSLresidenziali, limita a 3Gigabytela dimensione dell'intero contenuto di unaccounte-mail. È necessario tenere presente questi limiti quando si inviano file di grandi dimensioni, in modo da non rischiare che l'allegato non venga spedito, o di occupare interamente la casella di posta del destinatario.

In alternativa all'e-mail è possibile usare un programma dimessaggistica istantanea,iscrivere il contatto e creare una cartella condivisa. Questi programmi, normalmente, non praticano limitazioni dibandalegate all'estensione, alla dimensione e al tipo di file inviato.

L'archivio può essere aperto alle persone desiderate dando loro username e password. Una variante di questi servizi sono quelli diuploadremoto che creano una chiave disessionecomune a due utenti iscritti e collegati a Internet; caricato il file, il ricevente deve indicare un percorso dove salvarlo e autorizzarne ildownload.

Recupero dei file

È possibile recuperare un file cancellato definitivamente, utilizzando appositi programmi in grado di ripristinarli.

Quando si conferma la cancellazione di unfile,per esempio svuotando ilcestinodiWindows,viene infatti cancellato (logicamente o fisicamente) il solocollegamento fisicoesistente tra il nome del file ed il suo contenuto, per cui il file non è più accessibile né all'utente né ai programmi del computer. In assenza di altri collegamenti fisici, anche l'area dellamemoria di massaoccupata dal contenuto dei file viene designata come disponibile per nuovi contenuti, tuttavia essa non viene cancellata o sovrascritta immediatamente, per cui i dati risultano ancora fisicamente disponibili sulla memoria con opportune tecniche fino all'effettiva sovrascrittura.

In particolare i programmi per il recupero dei file esaminano il contenuto di unfile systemcercando collegamenti fisici cancellati logicamente e controllando le aree occupate dai dati a cui essi fanno riferimento, ricopiandone il contenuto e, se possibile, ricostruendo le parti ormai sovrascritte.

Per prevenire invece il recupero di file cancellati (per esempio per questioni diprivacy) esistono programmi che provvedono a sovrascrivere (anche più volte) il contenuto di un file prima di cancellarlo, o a sovrascrivere tutte le aree libere di unfile system,in modo che non sia possibile il recupero dei dati.

Note

  1. ^file_1 noun - Definition, pictures, pronunciation and usage notes,suOxford Advanced Learner's Dictionary at OxfordLearnersDictionaries.URL consultato il 15 aprile 2021.
  2. ^Luciano Canepari,file,inIl DiPI: dizionario di pronuncia italiana,Bologna, Zanichelli, 1999,ISBN88-08-09344-1.
  3. ^Silberscharz, Galvin, Gagne 2019,p. 576.
  4. ^(EN) Florence E. McGill,Inde xing and Filing,inOffice practice and business procedure,New York (NY, USA), The Gregg Publishing Co, 1922.URL consultato l'8 aprile 2022.Ospitato suInternet Archive.
  5. ^Silberscharz, Galvin, Gagne 2019,pp. 576-577.
  6. ^Silberscharz, Galvin, Gagne 2019,p. 577.
  7. ^ (EN) Michael Kerrisk,Extended file attributes,suman7.org.URL consultato il 14 luglio 2023;
    (EN)Guidelines for extended attributes,sufreedesktop.org.URL consultato il 14 luglio 2023;
    (EN)Extended attributes: the good, the not so good, the bad.,sulesbonscomptes,15 luglio 2014.URL consultato il 14 luglio 2023;
    (EN)zfsprops -- native and user-defined properties of ZFS datasets,suman.freebsd.org.URL consultato il 14 luglio 2023;
    (EN)BTRFS: File attributes and xflags,subtrfs.readthedocs.io.URL consultato il 14 luglio 2023.
  8. ^abc Estensioni del nome di file comuni in Windows,susupport.microsoft.
  9. ^abSilberscharz, Galvin, Gagne 2019,p. 584-585.
  10. ^ (EN)What is a File Format?,sucomputerhope.URL consultato il 30 ottobre 2021.
  11. ^abcd Allegato 2. Formati,inSupplemento ordinario alla «Gazzetta Ufficiale» n. 59 del 12 marzo 2014 - Serie generale,collanaGazzetta Ufficiale della Repubblica Italiana,n. 20, 12 marzo 2014.
  12. ^(EN) Paul Murrell,7.5. Plain text files,inIntroduction to Data Technologies(PDF), Auckland, Chapman and Hall/CRC, 2009,ISBN978-1420065176.
  13. ^ (EN)Kernel Support for miscellaneous Binary Formats (binfmt_misc),sudocs.kernel.org.URL consultato il 21 dicembre 2023.
  14. ^ (EN)What is a magic number?,suibm,20 agosto 2003.URL consultato il 30 ottobre 2021.

Bibliografia

  • Andrew Stuart Tanenbaum,File,inArchitettura dei calcolatori. Un approccio strutturale,Milano, Pearson Education, 2006, pp. 440-445,ISBN978-88-7192-271-3.
  • Abraham Silberschatz, Peter Baer Galvin e Greg Gagne,Parte sesta. File system,in Riccardo Melen (a cura di),Sistemi Operativi. Concetti ed esempi,traduzione di Pietro Codara, et al., 10ª ed., Milano - Torino, Pearson, 2019,ISBN978-88-9190-455-3.

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàGND(DE)4148864-7
 Portale Informatica:accedi alle voci di Wikipedia che trattano di informatica