File: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Migliorato la pagina |
m sistemazione fonti, smistamento lavoro sporco e fix vari |
||
(6 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1:
{{nota disambigua}}
{{nota disambigua|il [[file manager]] di [[GNOME]]|GNOME Files|Files}}
{{F|
[[File:Generic File.png|thumb|L'icona generica di un file]]
Un '''file''' (dall'[[lingua inglese|inglese]], pronuncia {{IPA|[ˈfaɪl]|en}}, [[lingua italiana|italianizzata]] in {{IPA|/ˈfail/|it}}; traducibile come "fascicolo", o "archivio"), in [[informatica]], è un contenitore di [[dati]], tipicamente collocato in un ''[[file system]]'', a sua volta registrato su un supporto di [[memoria (informatica)|memorizzazione]] [[digitale (informatica)|digitale]].<ref>{{cita web|url=https://www.oxfordlearnersdictionaries.com/definition/english/file_1|titolo=file_1 noun - Definition, pictures, pronunciation and usage notes|sito=Oxford Advanced Learner's Dictionary at OxfordLearnersDictionaries.com|accesso=15 aprile 2021}}</ref><ref>{{Dipi|file}}</ref><ref>{{cita|Silberscharz, Galvin, Gagne 2019|p. 576}}.</ref>
Il nome deriva dall'analogia con i sistemi di archiviazione dei dati utilizzati prima dell'avvento dei sistemi informatici che li sostituirono.<ref>{{Cita libro|autore=Florence E. McGill|titolo
== Descrizione ==
Riga 13 ⟶ 12:
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 un [[identificatore]] e altre proprietà che ne costituiscono i [[metadati]].<ref>{{cita|Silberscharz, Galvin, Gagne 2019|pp.
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 chiamate [[file system]]. Incidentalmente il fare parte di un file system è ciò che più marcatamente distingue i file da qualunque altra [[struttura dati]].
Riga 21 ⟶ 20:
<ref>{{cita|Silberscharz, Galvin, Gagne 2019|p. 577}}.</ref>
<ref name="xattrs">
{{cita web|url=https://man7.org/linux/man-pages/man7/xattr.7.html|titolo=Extended file attributes|autore=Michael Kerrisk|accesso=14 luglio 2023|lingua=en|postscript=nessuno}};<br/>
{{cita web|url=https://www.freedesktop.org/wiki/CommonExtendedAttributes/|titolo=Guidelines for extended attributes|accesso=14 luglio 2023|lingua=en|postscript=nessuno}};<br/>
{{cita web|url=https://www.lesbonscomptes.com/pages/extattrs.html|titolo=Extended attributes: the good, the not so good, the bad.|data=15 luglio 2014|lingua=en|accesso=14 luglio 2023|postscript=nessuno}};<br/>
{{cita web|url= https://man.freebsd.org/cgi/man.cgi?query=zfsprops&sektion=7&apropos=0&manpath=FreeBSD+13.2-RELEASE+and+Ports|titolo=zfsprops -- native and user-defined properties of ZFS datasets|lingua=en|accesso=14 luglio 2023|postscript=nessuno}};<br/>
{{cita web|url= https://btrfs.readthedocs.io/en/latest/Common-features.html#file-attributes-xflags|titolo=BTRFS: File attributes and xflags|lingua=en|accesso=14 luglio 2023}}</ref>
Riga 40 ⟶ 39:
{{vedi anche|Lista di formati di file}}
I file, quali generici contenitori di dati e spesso anche di grandi dimensioni, sono caratterizzati da una [[struttura dati|struttura]] interna ad-hoc.<ref name="Silberscharz. Struttura dei file">{{cita|Silberscharz, Galvin, Gagne 2019|
Lo schema di questa struttura definisce il cosiddetto formato del file.<ref>
{{Cita web|url=https://www.computerhope.com/jargon/f/file-format.htm|titolo=What is a File Format?|lingua=en|accesso=
{{cita libro|titolo=Supplemento ordinario alla «Gazzetta Ufficiale» n. 59 del 12 marzo 2014 - Serie generale|url=https://www.gazzettaufficiale.it/eli/gu/2014/03/12/59/so/20/sg/pdf|numero=20|sezione=Allegato 2. Formati|
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.<ref name="
<ref name="
Sono parte di questa categoria i formati cosiddetti di «[[file di testo|testo semplice]]» poiché basati sulla [[codifica]] [[ASCII]] oppure [[Unicode]].<ref>{{cita libro|autore=Paul Murrell|titolo=Introduction to Data Technologies|url=https://statmath.wu.ac.at/courses/data-analysis/itdt-2007-11-20.pdf|editore=Chapman and Hall/CRC |città=Auckland|anno=2009|lingua=en|capitolo = 7.5. Plain text files|urlcapitolo=https://statmath.wu.ac.at/courses/data-analysis/itdtHTML/node56.html|ISBN = 978-1420065176}}</ref>
Tra i più famosi non si possono non citare [[JSON]], [[TOML]], [[YAML]] e [[XML]].
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 un [[editor di testo]]) appaiono come un ammasso incomprensibile di simboli.
Riga 57 ⟶ 55:
Un altro metodo per indicare il formato del file è includere un indizio all'interno del file stesso. Una strategia comune in questo senso sono i ''[[magic number]]'', ovvero delle brevi sequenze di [[byte]] poste in posizioni note all'interno del file (tipicamente all'inizio) che possono essere associate univocamente a un formato.
Questo metodo è comunemente utilizzato in ambienti [[Unix]] e [[Unix-like]], dove la presenza della sequenza [[ASCII]] <code>#!</code> (''[[shabang]]'') in testa a un file segnala la sua natura [[eseguibile]].<ref name="formati_allegato_2_dpcm_3-12-2013.pdf" /><ref>
{{cita web|url=https://docs.kernel.org/admin-guide/binfmt-misc.html|titolo=Kernel Support for miscellaneous Binary Formats (binfmt_misc)|accesso=
{{Cita web|url=https://www.ibm.com/support/pages/what-magic-number|titolo=What is a magic number?|data=20 agosto 2003
In altri casi, come per esempio sui sistemi [[Macintosh]] e nel file system [[HFS+]], il formato è indicato nei [[metadati]] del file.
Riga 69 ⟶ 67:
Tecnicamente, i dati di un file sono [[codifica]]ti / organizzati in una sequenza di [[byte]] in linea con il linguaggio binario usato dal computer, immagazzinati come un solo elemento su una [[memoria di massa]] attraverso il [[file system]] (sistema di archiviazione) esistente su quella data memoria. Il sistema, quando riceve una richiesta dall'utente (per 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
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 è un [[Disco rigido|disco di memoria]], mentre è molto raro su nastri magnetici. Uno dei compiti del [[sistema operativo]] è rendere trasparente alle [[applicazione (informatica)|applicazioni]] la 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 la scrittura.
Riga 79 ⟶ 77:
* 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, detta [[buffer]], per memorizzare i dati in transito da e per il file; restituisce al programma un simbolo (o un ''handle'' oppure 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 nel [[buffer]] di cui comunica l'ubicazione al programma richiedente.
* Scrittura:
* 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.
Riga 109 ⟶ 107:
Per prevenire invece il recupero di file cancellati (per esempio per questioni di [[privacy]]) 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 un file system, in modo che non sia possibile il recupero dei dati.
== Formato leggibile meccanicamente ==
La Direttiva (UE) 2019/1024 (cosiddetta ''Open Data'') definisce formato leggibile meccanicamente «un formato di file strutturato in modo tale da consentire alle applicazioni software di individuare, riconoscere ed estrarre facilmente dati specifici, comprese dichiarazioni individuali di fatto e la loro struttura interna» (cfr. art. 2 punto 13).
== Note ==
Riga 118 ⟶ 119:
== Voci correlate ==
* [[Formato aperto]]
* [[Directory]]
* [[Estensione (informatica)]]
Riga 131 ⟶ 133:
* {{Collegamenti esterni}}
* {{FOLDOC}}
* {{Cita web|url=https://www.fileformat.info/|titolo=FileFormat.Info · The Digital Rosetta Stone|accesso=
{{Controllo di autorità}}
|