New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
File system - Wikipedia

File system

Da Wikipedia, l'enciclopedia libera.

Dischi ottici
Tipi di media ottici
L'industria

In informatica, un file system è, informalmente, un meccanismo con il quale i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un hard disk o un CD-ROM. Più formalmente, un file system è l'insieme dei tipi di dati astratti necessari per la memorizzazione, l'organizzazione gerarchica, la manipolazione, la navigazione, l'accesso e la lettura dei dati. Di fatto, alcuni file system (come NFS) non interagiscono direttamente con dispositivi di archiviazione.

I file system possono essere rappresentati sia testualmente che graficamente tramite browser di file e shell. Nella rappresentazione grafica (GUI) è generalmente utilizzata la metafora delle cartelle che contengono documenti (i file) ed altre cartelle.

Indice

[modifica] Caratteristiche e storia dei file system

Un file system è parte integrante di qualsiasi sistema operativo moderno. L'unico vero compito dei sistemi operativi dei primi microcomputer era proprio la gestione dei file - un fatto che si riflette nei loro nomi (vedi DOS o QDOS).

Il file system realizza tipicamente due livelli di astrazione, che rendono le risorse di memorizzazione di massa facilmente utilizzabili dagli utenti.

I dispositivi di archiviazione, ad esempio i dischi fissi si presentano infatti al sistema operativo come un 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.

[modifica] Dal dispositivo a blocchi alla raccolta di file di dimensione arbitraria

Il primo livello di astrazione è quello che organizza i settori in un insieme di archivi (file) di dimensioni arbitrarie, che possono andare da zero all'intera dimensione disponibile del dispositivo. Ciascun file viene distribuito in un insieme di settori. Normalmente, l'utente vede solo un file, e non deve preoccuparsi di quali settori sono utilizzati per memorizzarlo. Le operazioni disponibili sono la lettura o la scrittura di un blocco di dati di dimensione arbitraria in un punto arbitrario del file. 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 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), modificare file esistenti (cambiando così anche la loro dimensione, e quindi il numero di blocchi occupati).

Non tutti i file system hanno bisogno di un dispositivo di archiviazione. Un file system può infatti essere usato per organizzare e rappresentare qualsiasi tipo di dato, sia che sia memorizzato o generato dinamicamente (ad esempio, da una connessione di rete).

[modifica] Nomi gerarchici dei file

Il secondo livello di astrazione è quello che permette di organizzare i file dando loro dei nomi gerarchici.

I file system tipicamente hanno tabelle che associano i nomi dei file con i file, usualmente collegando il nome del file ad un indice in una tabella di allocazione dei file (file allocation table) di qualche genere, come la 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 estensioni o numeri di versione).

[modifica] Controllo d'accesso

Il file system viene inoltre utilizzato per memorizzare i dati che servono a controllare l'accesso a ciascun file da parte dei processi.

I criteri di sicurezza nell'accesso alle operazioni sui file system sono in genere basati su liste di controllo di accesso (access control list o ACL) o capabilities. Si è scoperta qualche decina di anni l'inaffidabilità delle ACL, e per questo motivo i sistemi operativi moderni tendono a usare il meccanismo delle capabilities. I file system commerciali usano ancora le ACL.

Una ACL permette di definire per ciascun elemento del file system di quali permessi (lettura, scrittura, modifica ecc.) dispone ciascun utente che accede al sistema.

I tipi di file system possono essere classificati in file system per dischi, file system di rete e file system per compiti speciali.

I file system gerarchici sono stati uno dei primi interessi di ricerca di Dennis Ritchie, uno dei padri fondatori di Unix; le implementazioni precedenti erano ristrette a pochi livelli.

[modifica] 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 links di Unix ed NTFS), o di rinominare i collegamenti padre (".." nei sistemi Unix o DOS/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.

[modifica] Principali 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.

[modifica] File system del disco

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:

  • Amiga FileSystems - OFS, FFS1 e 2, International, PFS, SFS usati su Amiga
  • BFS (Beos File System) - file system nativo di BeOS
  • DFS , ADFS - file system della Acorn
  • EFS (IRIX) - un vecchio file system a blocchi usato su IRIX per unità di memoria di massa rimovibili (DAT, CD-ROM ...) precedente all'introduzione di ISO 9660
  • Ext - Extended File System, il primo file system appositamente progettato per GNU/Linux
  • Ext2 - Extended File System 2, diffuso su sistemi GNU/Linux
  • Ext3 - Extended File System 3, diffuso su sistemi GNU/Linux (ext2+journaling)
  • Ext4 - Extended File System 4, in sviluppo
  • FAT - Usato su DOS, Microsoft Windows e su molti dispositivi dedicati, dispone di tabelle a 12 e 16 bit
  • FAT32 - versione con tabelle a 32 bit di FAT
  • FFS - Fast File System, usato in vecchi sistemi BSD
  • HFS - Hierarchal File System, usato su Mac OS
  • HFS+ - Hierarchal File System Plus, usato su Mac OS a partire dalla versione 8.1 e su Mac OS X
  • HPFS - High Performance File System, usato su OS/2
  • ISO 9660 - Usato su dischi CD-ROM e DVD-ROM (anche con estensioni Rock Ridge e Joliet)
  • JFS - Journaling File System, disponibile su sistemi GNU/Linux, OS/2, e AIX
  • LFS - Log-structured File System
  • Minix - Usato su sistemi Minix
  • NTFS - NT File System. Usato su sistemi basati su Windows NT
  • ReiserFS - File system journaling diffuso su sistemi GNU/Linux
  • UDF - File system a pacchetti usato su supporti WORM/RW, CD-RW e DVD
  • UFS - Unix File System, usato su vecchi sistemi BSD
  • UFS2 - Unix File System, usato su nuovi sistemi BSD
  • UMSDOS - File system FAT esteso con permessi e metadata, usato su GNU/Linux
  • XFS - eXtended FileSystem: 64 bit in addressing con possibilità di partizione unica di 9 milioni di TB utilizzato su IRIX. Tale filesystem è indicato per unità non rimovibili (HDD ...).
  • ZFS - Creato dalla Sun

[modifica] File system distribuito

Un file system distribuito permette di accedere ai file contenuti su un computer remoto tramite rete, potenzialmente in simultanea da diversi computer.

Esempi di file system di rete sono:

[modifica] File system per compiti speciali

Alcuni file system vengono utlizzati 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)
  • cfs (caching)
  • DEVFS (solaris, GNU/Linux, crea dinamicamente i file speciali per dare accesso alle periferiche effettivamente installate)
  • ftpfs (accesso FTP)
  • lnfs (nomi lunghi)
  • nntpfs (netnews)
  • PROCFS (GNU/Linux e altri, mostra dati sullo stato del sistema e dei processi)
  • ROMFS (file system utilizzato nei sistemi uClinux)
  • TMPFS (file system temporaneo appoggiato sulla memoria di sistema)
  • SYSFS (GNU/Linux 2.6, sostituisce in parte PROCFS)
  • wikifs (wiki wiki)

[modifica] Gerarchie nei file system

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu