File system: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Fix sezione == Cenni [...] == come da richiesta
fix
 
(38 versioni intermedie di 20 utenti non mostrate)
Riga 1:
{{F|sistema operativoInformatica|maggio 2011}}
[[File:100 000-files 5-bytes each -- 400 megs of slack space.png|thumb|Schermata dal ''file system'' di [[Windows XP]]]]
 
Un '''''file system''''' (in [[acronimo]] '''FS'''), in [[informatica]], indica informalmente un meccanismo con il quale i [[file]] sono posizionati e organizzati su [[Dispositivo (informatica)|dispositivi informatici]] utilizzati per l'archiviazione dei [[Dato|dati]] ad esempio unità di [[memoria di massa]] (come [[unità a nastro magnetico]], [[Disco rigido|dischi rigidi]], [[Disco ottico|dischi ottici]], [[unità di memoria a stato solido]] - o in casi particolari anche nella [[RAM]]) o su dispositivi remoti tramite [[Protocollo di rete|protocolli di rete]].
Un '''file system''' (in [[acronimo]] '''FS''') è una [[struttura dati]] deputata alla gestione e all'archiviazione dei [[file]] su un [[computer]]. Il termine viene utilizzato anche in riferimento al ''[[driver|file system driver]]'', ovvero tutta quella serie di programmi solitamente integrati nel [[sistema operativo]] che sono necessari ad operare il file system.<ref>{{Cita web|url=https://tldp.org/LDP/sag/html/filesystems.html|titolo=Filesystems|sito=tldp.org|accesso=2022-04-08}}</ref>
 
È importante non confondere i file system con i ''file database'' o le [[basi di dati]] più in generale. Anche se in alcuni casi possono sembrare (superficialmente) sovrapponibili sono progettati per servire casi d'uso molto diversi.
 
== Storia ==
Prima dell'avvento dei [[computer]], l'espressione "file system" veniva usata per descrivere un metodo di archiviazione e recupero di documenti cartacei.<ref>{{Cita Nel 1961 il termine veniva applicato all'archiviazione informatizzata accanto al significato originale, e a partire dal 1964 se ne affermò l'utilizzo generale.libro
|autore = Florence E. McGill
|titolo = Office practice and business procedure
|url = http://archive.org/details/officepracticea01mcgigoog
|via = [https://archive.org Internet Archive]
|editore = The Gregg Publishing Co
|città = New York (NY, USA)
|anno = 1922
|capitolo = Indexing and Filing
|lingua = en
|accesso = 2022-04-08
}}</ref>
{{senza fonte|
Nel 1961 il termine veniva applicato all'archiviazione informatizzata accanto al significato originale, e a partire dal 1964 se ne affermò l'utilizzo generale.
}}
 
== Descrizione ==
[[File:Dolphin_generale.png|thumb|upright=1.4|[[File manager]] ([[Dolphin (KDE)]]) esplora un file system su [[Linux]]]]
 
Più formalmente, un file system è l'insieme dei tipi di dati astratti necessari per la memorizzazione (scrittura), l'organizzazione gerarchica, la manipolazione, la navigazione, l'accesso e la lettura dei [[Dato|dati]]. Di fatto, alcuni file system (come l'[[Network File System|NFS]]) non interagiscono direttamente con i dispositivi di archiviazione.
 
Line 14 ⟶ 32:
I dispositivi di archiviazione, ad esempio i [[Disco rigido|dischi fissi]] si presentano al sistema operativo come [[array]] di blocchi di dimensione fissa, generalmente chiamati ''settori'', tipicamente di 512 byte l'uno. Le operazioni disponibili sono la lettura e la scrittura di un blocco arbitrario, o talvolta di un insieme di blocchi. Basandosi su questo servizio fornito dai dispositivi a blocchi, il file system realizza due livelli di astrazione, che rendono le risorse di memorizzazione di massa facilmente utilizzabili dagli utenti.
 
=== Gestione del file system ===
Il software di gestione del file system è responsabile dell'organizzazione di questi settori in file e di tenere traccia di quali settori appartengono a quali file e quali settori invece non sono utilizzati. L'utente ha normalmente la totale libertà di creare nuovi file, cancellare file esistenti (liberando così i blocchi che questi occupavano), e modificare file esistenti (cambiando così anche la loro dimensione e quindi il numero di blocchi occupati).
 
Line 20 ⟶ 38:
 
=== Nomi gerarchici dei file ===
{{vedi anche|Directory}}
[[File:Linux_Filesystem_Hierarchy_Standard.png|thumb|upright=0.7|[[Filesystem Hierarchy Standard]] ([[Unix]])]]
[[File:Linux_Filesystem_Hierarchy_Standard.png|thumb|upright=0.7|Il tipico schema di directory su un sistema [[Unix]]-like, come specificato nel [[Filesystem Hierarchy Standard]].]]
 
Il secondo livello di astrazione è quello che permette di organizzare i file assegnando loro dei nomi gerarchici. I file system tipicamente hanno tabelle di associazione dei '''nomi dei file''' con i rispettivi file tramite [[Collegamento fisico|collegamenti fisici]], usualmente collegando il nome del file a un indice in una ''tabella di allocazione dei file'' (''file allocation table'') di qualche genere, come la [[File Allocation Table|FAT]] di un file system [[MS-DOS]], o un [[inode]] in un file system di tipo [[Unix]]. Le strutture di cartelle possono essere ad un solo livello, oppure possono permettere una struttura gerarchica in cui delle cartelle possono contenere sottocartelle. In alcuni file system i nomi dei file sono strutturati con una speciale sintassi (per esempio [[Estensione (file)|estensioni]] o numeri di versione).
 
Line 29 ⟶ 49:
 
=== Funzionalità particolari ===
I file system tradizionali offrono degli strumenti per creare, muovere ed eliminare sia i file che le cartelle, ma non permettono di creare collegamenti addizionali alle cartelle (gli [[Hard-link|hard linkslink]] di [[Unix]] ed [[NTFS]]), o di rinominare i collegamenti padre (".." nei sistemi Unix o [[DOS]]/[[Microsoft Windows|Windows]]), e di creare collegamenti bidirezionali fra i file. Questi file system tradizionali hanno anche dei metodi per creare, muovere, cancellare e troncare i file, e per sostituire o aggiungervi in coda alcuni dati. Invece non permettono di aggiungere dati o troncare in testa un file, impedendo l'inserzione o la cancellazione arbitraria di dati. Le operazioni possibili sono quindi molto asimmetriche e spesso risultano inefficienti in contesti particolari.
<!-- For example, interprocess [[pipe]]s in [[Unix]] have to be implemented outside of the filesystem because it does not offer [[truncation]] from the beginning of files. -->
<!--
For example, interprocess [[pipe]]s in [[Unix]] have to be implemented outside of the filesystem because it does not offer [[truncation]] from the beginning of files.
-->
 
== Principali tipologie ==
{{vedi categoria|File system}}
 
Nel corso della storia informatica, è stata ideata una miriade di file system. I sistemi operativi moderni sono spesso in grado di accedere a diversi file system, spesso semplicemente installando un apposito modulo o [[driver]]. I tipi di file system possono essere classificati in ''file system per dischi'', ''file system di rete'' e ''file system per compiti speciali''. In molti casi, nel linguaggio settoriale, si usa il termine file system per intendere la struttura di archiviazione del dispositivo, un modo gergale per dire "cartelle e file", così come visualizzate dalla shell del sistema operativo. Nel gergo comune si è soliti affermare, soprattutto in sistemi [[Linux|GNU/Linux]], che il file system viene ''[[Montare|montato]]'', per consentire al [[sistema operativo]] di accedervi per le operazioni di lettura\scrittura.
 
=== File system per memorie di massa ===
Un file system del disco è un file system progettato per memorizzare dei [[file]] su un'[[unità a disco]], che può essere collegata direttamente o indirettamente al [[computer]]. Esempi di file system del disco sono:
 
* [[AmigaDOS|Amiga FileSystems]] - OFS, FFS1 e 2, International, PFS, [[Smart File System|SFS]] usati su [[Amiga]]
* [[Apple File System|APFS]] - (Apple File System) Introdotto da [[Apple]] nel 2016<ref>{{Cita web|url=https://developer.apple.com/videos/play/wwdc2016/701/|titolo=Introducing Apple File System - WWDC 2016 - Videos - Apple Developer|sito=developer.apple.com|accesso=2016-06-23}}</ref>
* [[Be File System|BFS (Beos File System)]] - file system nativo di [[BeOS]]
* DFS, [[ADFS]] - file system della [[Acorn, Ltd|Acorn]]
Line 62 ⟶ 81:
* [[NTFS]] - NT File System. Usato su sistemi basati su [[Windows NT]]
* [[NWFS]] - NetWare File System. Usato da [[Novell NetWare]]
* [[ReFS]] - Microsoft (Resilient File System),
* [[ReiserFS]] - File system journaling diffuso su sistemi [[Linux|GNU/Linux]]
* [[Reiser4]] - File system journaling successore del [[ReiserFS]] diffuso su sistemi [[Linux|GNU/Linux]].
Line 72 ⟶ 92:
* [[Btrfs]] - Creato dalla [[Oracle Corporation]]
* [[WBFS]]-(Wii Backup File System) Usato per i backup dei giochi della console [[Wii]]
* [[Write Anywhere File Layout|WAFL]] Ottimizzato per le scritture casuali.
* [[ReFS|Protogon]] - File System introdotto con la build 7955 di [[Windows 8]], disponibile però nella sola versione Server, successivamente modificato intorno alla fine del 2011 in [[ReFS]] [[Resilient File System]]
 
=== File system distribuito ===
{{vedi anche|File system distribuito}}
Un [[file system distribuito]] permette di accedere ai file contenuti su un computer remoto tramite [[Rete di computer|rete]], potenzialmente in simultanea da diversi computer. Esempi di file system di rete sono:
 
Un [[file system distribuito]] permette di accedere ai file contenuti su un computer remoto tramite [[Rete di computer|rete]], potenzialmente in simultanea da diversi computer. Esempi di file system di rete sono:
* [[Andrew file system|AFS]] (Andrew File System)
* [[AppleShare]]
Line 91 ⟶ 113:
=== File system per compiti speciali ===
Alcuni file system vengono utilizzati per compiti speciali che non rientrano direttamente nelle prime due categorie. Molti non hanno alcuna relazione con un supporto di memorizzazione permanente dei dati, ma vengono utilizzati dal [[sistema operativo]] per dare accesso ad alcune funzionalità. Alcuni esempi sono:
 
* [[archfs]] (archivi)
* [[cdfs]] (lettura e scrittura di CD)
Line 110 ⟶ 131:
 
== Voci correlate ==
{{div col}}
* [[Chkdsk]]
* [[Directory]]
* [[Disco rigido]]
* [[File]]
* [[File system virtuale]]
* [[Formattazione]]
* [[Filesystem Hierarchy Standard]]
Line 121 ⟶ 144:
* [[Percorso]]
* [[Journaling]]
{{div col end}}
* [[File system virtuale]]
* [[Esplora file]]
 
== Altri progetti ==
{{interprogetto|preposizione=sul|wikt=file system}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|file system|file system}}
 
{{Componenti di Windows}}
{{portale|informatica}}
{{Controllo di autorità}}
{{portalePortale|informatica}}
 
[[Categoria:File system| File system]]