File system: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Altri progetti: Componenti di Windows |
fix |
||
(33 versioni intermedie di 15 utenti non mostrate) | |||
Riga 1:
{{F|
[[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''') è 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
|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|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 link]] di [[Unix]] ed [[NTFS]]), o di rinominare i collegamenti padre (".." nei sistemi Unix o [[DOS]]/[[Microsoft Windows|Windows]])
<!-- 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 -
* [[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 76 ⟶ 96:
=== 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 92 ⟶ 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 111 ⟶ 131:
== Voci correlate ==
{{div col}}
* [[Directory]]
* [[Disco rigido]]
* [[File]]
* [[File system virtuale]]▼
* [[Formattazione]]
* [[Filesystem Hierarchy Standard]]
Line 122 ⟶ 144:
* [[Percorso]]
* [[Journaling]]
{{div col end}}
▲* [[File system virtuale]]
== Altri progetti ==
{{interprogetto|preposizione=sul|wikt=file system}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|file system|file system}}
{{Componenti di Windows}}
{{Controllo di autorità}}
{{Portale|informatica}}
|