Formattazione - Formattare un disco rigido La formattazione a basso

Transcript

Formattazione - Formattare un disco rigido La formattazione a basso
Formattazione - Formattare un disco rigido
Prima di capire che cos'è la formattazione, è essenziale conoscere il funzionamento di un disco rigido. Molte
persone non distinguono la formattazione a basso livello (detta anche formattazione hardware) da quello ad
alto livello (formattazione software).
I dischi rigidi, per quanto piccoli possano essere, contengono milioni di bit, e necessitano quindi di
un'organizzazione dei dati per poter localizzare le informazioni; questo è lo scopo della formattazione. La
superficie di ogni cilindro, originariamente uniforme, al momento della formattazione viene divisa (con
divisione si intende ovviamente la magnetizzazione delle particelle della superficie...) in piccole porzioni che
potranno essere facilmente identificate.
La formattazione a basso livello
Lo scopo della formattazione a basso livello è di dividere la superficie dei dischi in elementi di base :

tracce

settori

cilindri
Ricordiamo che il disco rigido è costituito da più placche circolari che girano intorno ad
un'asse coperte da una parte all'altra da un ossido magnetico che, essendo
polarizzato, può immagazzinare dei dati.
Le tracce sono delle zone concentriche scritte da una parte all'altra di una placca.
Infine, queste tracce sono suddivise in quartieri detti settori.
Le tracce si contano a migliaia e ciascuna prevede da 60 a 120 settori circa.
Viene detto cilindro l'insieme dei dati posti su una stessa traccia di placche diverse (cioè
verticalmente le une sulle altre) dato che questa forma nello spazio un "cilindro" di dati.
La formattazione fisica consiste quindi nell'organizzare la superficie di ogni placca in entità dette tracce e
settori, polarizzando delle zone di dischi mediante delle testine di scrittura. Le tracce sono numerate
partendo da 0, poi le teste polarizzano concentricamente la superficie delle placche. Quando si passa alla
traccia successiva, la testa lascia un "buco" (detto gap in inglese) e così via di seguito. Ogni traccia è essa
stessa organizzata in settori (numerati cominciando da 1) separate fra loro dai gap. Ciascuno di questi
settori comincia con un zona riservata alle informazioni di sistema detta prefisso e termina con una zona
detta suffisso
La formattazione a basso livello ha quindi come scopo di preparare la superficie del disco per accogliere dei
dati (non dipende quindi dal sistema operativo e permette di "evidenziare i settori difettosi grazie a dei test
effettuati dal fabbricante.
Quando si acquista un disco rigido, esso ha già subito una formattazione a basso livello, NON E QUINDI
NECESSARIO EFFETTUARE UNA FORMATTAZIONE A BASSO LIVELLO!
Somma di controllo
Effettivamente, durante la formattazione si effettuano dei test di controllo (algoritmi che permettono di testare
la validità dei settori mediante delle somme di controllo) e ogni volta che un settore è considerato difettoso,
la somma di controllo (non valida) è inserita nel prefisso, e non potrà più essere usata in seguito; si dice
allora che è "evidenziato difettoso".
Quando il disco legge dei dati, invia un valore dipendente dal contenuto del pacchetto inviato, inizialmente
memorizzato insieme a questi. Il sistema calcola questo valore in funzione dei dati ricevuti, poi lo compara
con quello memorizzato insieme ai dati. Se questi due valori sono diversi, i dati non sono validi e vi è
probabilmente un problema di superficie del disco.
Il controllo di ridondanza ciclica (CRC, in inglese cyclic redundancy check), è basato sullo stesso principio
del controllo di integrità di un file.
Le utility d'analisi come scandisk o chkdsk lavorano in un altro modo :
essi inseriscono dei dati nei settori indicati a priori come validi, poi li rileggono e li paragonano. Se sono
simili, l'utility passa al settore successivo, altrimenti evidenziano il settore difettoso.
Formattazione a alto livello
La formattazione software si effettua dopo la formattazione a basso livello, creando un sistema di file sul
disco, che consente ad un sistema operativo(DOS, Windows 95, Linux, OS/2, Windows NT, ...) di utilizzare
lo spazio sul disco per memorizzare e usare dei file.
I sistemi operativi utilizzano dei sistemi di file diversi, così il tipo di formattazione software dipende
dal sistema operativo installato. Se si formatta il disco con un solo sistema di file, questo limita ovviamente il
numero e il tipo disistemi operativi installabili (in effetti potete installare solo dei sistemi operativi che
utilizzano lo stesso sistema di file).
Fortunatamente, vi è una soluzione a questo problema che consiste nel creare delle partizioni.
Ciascuna partizione può effettivamente avere il proprio sistema di file, di conseguenza potete installare dei
sistemi operativi diversi.
Che cos'è una partizione?
La partizione di un disco rigido si fa dopo la formattazione hardware di quest'ultimo e prima della
formattazione software. Essa consiste nel creare delle zone sul disco i cui dati non saranno mescolati.
Questo serve principalmente ad installare dei sistemi operativi diversi che non utilizzano lo stesso sistema di
file. Vi saranno quindi almeno tanto partizioni quanti sono isistemi operativi che usano dei sistemi di file
diversi. Nel caso di un sistema operativo unico, può bastare una sola partizione della dimensione del disco,
a meno che si desideri crearne in più per fare ad esempio più lettori i cui dati sono separati.
Vi sono tre tipi di partizioni: la partizione principale, la partizione estesa e ilettori logici. Un disco può
contenere fino a quattro partizioni principali (di cui una sola attiva), o tre partizioni principali e una partizione
estesa. Nella partizione estesa l'utente può creare dei lettori logici (cioè "simulare" più dischi rigidi di
dimensione minore).
Vediamo un esempio nel quale il disco contiene una partizione principale e una partizione estesa composta
da tre lettori logici (vedremo in seguito le partizioni principali multiple) :
Per i sistemi DOS (DOS, Windows 9x), solo la partizione principale è bootabile, ed è dunque la sola su cui si
può avviare il sistema operativo.
Viene detta partizione il processo che consiste nello scrivere i settori che costituiranno la tabella di
partizione (che contiene le informazioni sulla partizione: dimensione in termini di numero di settori, posizione
rispetto alla partizione principale, tipo di partizioni presenti, sistemi operativi installati...).
Una volta creata la partizione, le si da un nome di volume che permetterà di identificarla facilmente.
Master Boot Record
Il settore di avvio (detto Master Boot Record o MBR in inglese) è il primo settore di un disco rigido (cilindro
0, testina 0 e settore 1), esso contiene latabella di partizione principale (in inglese partition table) e il
codice, dettoboot loader, che, una volta caricato in memoria, permette di avviare (boot) il sistema.
Questo programma, una volta in memoria, determinerà su quale partizione il sistema si avvierà, e comincerà
il programma (detto bootstrap) che avvierà il sistema operativo presente su questa partizione.
D'altra parte, è questo settore del disco che contiene tutte le informazioni relative al disco rigido (produttore,
numero di serie, numero di byte per settore, numero di settori per cluster, numero di settori...). Questo
settore del disco rigido è quindi quello più importante, esso serve al setup del BIOS per riconoscere il disco
rigido. Quindi, senza questo il vostro disco rigido è inutilizzabile, cosa che lo rende uno dei bersagli preferiti
dei virus.
I sistemi di file (File System)
In tutte queste sezioni si tratterà di differenziare il sistema di file FAT (File Allocation Table in inglese).
Viene detto FAT il sistema di file usato dai sistemi operativi DOS (DOS e Windows 95 nonché Windows NT e
OS/2 che lo supportano).
Sistema operativo Sistema di file associato
DOS
FAT16
Windows XP
NTFS
Windows 98
FAT32
Windows 95
FAT16 - FAT32 (per la versione OSR2)
Windows NT
NTFS
OS/2
HPFS
Linux
Linux Ext2, Linux Ext3
Il sistema di file FAT si caratterizza dall'utilizzo di una tabella di allocazione di file e di cluster (o blocchi).
I cluster sono le più piccole unità d'immagazzinamento del sistema di file FAT. Un cluster rappresenta in
verità un numero fisso di settori del disco.
La FAT (File Allocation Table: tabella di allocazione di file) è il nucleo del sistema di file. Essa è localizzata
nel settore 2 del cilindro 0 alla testina 1 (Essa è duplicata in un altro settore con delle misure di precauzione
in caso di incidente). In questa tabella sono registrati i numeri dei cluster utilizzati, e dove sono posti i file nei
cluster.
Il sistema di file FAT supporta dei dischi o delle partizioni di una dimensione che arriva fino a 2GB, ma
autorizza al massimo 65536 cluster. Così, qualunque sia la dimensione della partizione o del disco, esso
deve avere settori sufficienti affinché tutto lo spazio del disco possa essere contenuto in questi 65536
cluster. Quindi, più la taglia del disco (o della partizione) è importante, più il numero di settori per cluster
deve essere importante.
Il sistema di file FAT utilizza una <gras>cartella root (rappresentata sui sistemi operativi che usano questo





tipo di sistema di file con il segno C:\), che deve essere posto in un luogo specifico del disco rigido. Questa
root directory immagazzina le informazioni in sottocartelle e file che lo contengono. Per un file, esso
immagazzinerà quindi :
il nome del file
la dimensione del file
la data e l'ora dell'ultima modifica del file
gli attributi del file
il numero del cluster dove il file comincia
Utilizzare delle partizioni multiple
Vi sono, come abbiamo visto precedentemente, tre tipi di partizioni: le partizioni principali, la partizione
estesa e i lettori logici. Un disco può contenere fino a quattro partizioni principali (di cui una sola attiva), o tre
partizioni principali e una partizione estesa. Nella partizione estesa l'utente può creare dei lettori logici (cioè
fare in modo che si abbia l'impressione che vi siano più dischi rigidi di dimensione ridotta).
partizione principale
Una partizione principale deve essere formattata logicamente, poi contenere un sistema di file
corrispondente al sistema operativo installato su questa.
Se si hanno più partizioni principali sul disco, solamente una sarà attiva e visibile, e questa dipenderà dal
sistema operativo su cui viene avviato il computer. Scegliendo il sistema operativo all'avvio, si determina la
partizione visibile. La partizione attiva è la partizione su cui uno dei sistemi operativi è avviato all'avvio del
computer. Le altre partizioni saranno allora nascoste, cosa che impedirà di accedere ai loro dati. Così, i dati
di una partizione principale non sono accessibili che partendo dal sistema operativo installato su questa
partizione.
partizione estesa
La partizione estesa è stata messa a punto per oltrepassare il limite delle quattro partizioni principali, avendo
la possibilità di creare tanti lettori logici quanti se ne desiderano. In una partizione estesa si deve avere
almeno un lettore logico, dato che non si può memorizzarvi direttamente i dati.




Molti terminali sono formattati in una grande partizione che utilizza l'integralità dello spazio disponibile sul
lettore. Questa non è comunque la soluzione più vantaggiosa in termini di performance e di capacità. La
soluzione è creare più partizioni, cosa che consentirà :
di installare più sistemi operativi sul disco
di risparmiare dello spazio sul disco
di aumentare la sicurezza dei vostri file
di organizzare i vostri dati più facilmente
Vediamo ora a cosa può assomigliare un sistema con più sistemi operativi :
Che cos'è un File System?
I dischi rigidi, per quanto piccoli possano essere, contengono milioni di bit, bisogna quindi organizzare i dati
per poter localizzare le informazioni, questo è lo scopo del sistema di file. Un disco rigido è, ricordiamolo,
costituito da più placche circolari che ruotano intorno ad un'asse. Le tracce (zone concentriche scritte da una
parte all'altra di una placca) sono divise in quartieri detti settori (dimensione 512 byte). La formattazione
logica di un disco consente di creare un sistema di file sul disco, che permetterà ad un sistema operativo
(DOS,Windows 9x,UNIX, ...) di usare lo spazio del disco per memorizzare e utilizzare dei file. Il sistema di
file è basato sulla gestione dei cluster (in italiano "unità di allocazione"), cioè la più piccola unità del disco
che il sistema operativo è in grado di gestire.
Un cluster è costituito da uno o più settori, così più la dimensione di un cluster è importante, meno entità
dovrà gestire il sistema operativo...
D'altra parte, dato che un sistema operativo gestisce solamente dei cluster interi, il che significa che un file
occupa un numero intero di cluster, lo spreco è tanto più grande quanti settori vi sono per cluster. Si capisce
quindi l'importanza della scelta del sistema di file.
Sistema di file e sistema operativo
In realtà la scelta del sistema di file si effettua in primo luogo secondo il sistema operativo utilizzato.
Generalmente, più il sistema operativo è recente più il numero di sistemi di file supportati sarà importante.
Così, su DOS e sulle prime versioni di Windows 95 la FAT16 è obbligatoria.
A partire da Windows 95 OSR2 avete la scelta fra i sistemi di file FAT16 e FAT32. Se la dimensione della
partizione è superiore a 2Gb, il sistema di file FAT è escluso, e dovrete quindi utilizzare il sistema FAT32 (o
modificare la dimensione della partizione).
Sotto questo limite, si raccomanda la FAT16 per partizioni di capacità inferiore a 500Mb, altrimenti è
preferibile usare la FAT32.
Nel caso di Windows NT (fino alla versione 4) avete la scelta fra il sistema FAT16 e NTFS, anche se questo
non supporta la FAT32. Generalmente il sistema NTFS è consigliato dato che procura una sicurezza
maggiore nonché delle performance migliori rispetto alla FAT. Microsoft raccomanda in effetti di utilizzare
una piccola partizione (compresa fra 250 e 500Mb) di tipo FAT per il sistema operativo, per poter avviare
partendo da un disco boot DOS in caso di problema, e di conservare i dati su una seconda partizione.
Su Windows NT5 la gamma si allarga dato che accetta delle partizioni FAT16, FAT32 NTFS. Una volta di
più, si consiglia il sistema di file più recente (NTFS 5), dato che offre numerose funzionalità supplementari
rispetto ai sistemi FAT. Per le ragioni precedentemente citate, potete tuttavia optare per una partizione di
tipo FAT.
Sistema operativo
Tipi di sistema di file supportati
Dos
FAT16
Windows 95
FAT16
Windows 95 OSR2
FAT16, FAT32
Windows 98
FAT16, FAT32
Windows NT4
FAT, NTFS (versione 4)
Windows 2000/XP
FAT, FAT16, FAT32, NTFS (versioni 4 et 5)
Linux
Ext2, Ext3, ReiserFS, Linux Swap(, FAT16, FAT32, NTFS)
MacOS
HFS (Hierarchical File System), MFS (Macintosh File System)
OS/2
HPFS (High Performance File System)
SGI IRIX
XFS
FreeBSD, OpenBSD UFS (Unix File System)
Sun Solaris
UFS (Unix File System)
IBM AIX
JFS (Journaled File System)
La coabitazione di più sistemi di file
Quando su uno stesso terminale abbiamo più sistemi operativi, il problema della scelta del sistema di file
arriva al suo parossismo. In effetti, il sistema di file è strettamente legato al sistema operativo quindi, quando
vi sono più sistemi operativi, bisogna scegliere per ognuno di essi il sistema operativo tenendo conto della
possibilità di dover accedere a dei dati su uno partendo da un altro. Una prima soluzione consiste
nell'utilizzare delle partizioni FAT per tutti i sistemi, facendo attenzione a usare delle partizioni di dimensione
inferiore a 2Gb. La soluzione più appropriata sta nell'utilizzare per ciascuno dei sistemi una partizione del
sistema di file più adatto, e di dedicare una partizione in FAT16 ai dati destinati ad essere condivisi dai
diversi sistemi operativi.
Il sistema di file FAT16
Il primo sistema di file utilizzato su un sistema operativo Microsoft è stato il sistema FAT, che utilizza
una tabella di allocazione dei file (in inglese FAT,File Allocation Table. La tabella di allocazione dei file è in
effetti un indice che elenca il contenuto del disco, per registrare la posizione dei file sullo stesso. Dato che i
blocchi che costituiscono un file non sono sempre memorizzati in modo contiguo sul disco (quello che si
definisce con frammentazione), la tabella di allocazione permette di conservare la struttura del file creando
dei collegamenti con i blocchi che costituiscono il file. Il sistema FAT è un sistemaa 16 bit che permette di
descrivere un file con un nome composto da 8 caratteri e un'estensione di 3. Questo sistema viene quindi
detto FAT16.
Per migliorare questo punto, la versione originale di Windows 95 (usando il sistema FAT16) è stata dotata di
una versione migliorata della FAT, si tratta del sistema VFAT (Virtual FAT). La VFAT è un sistema a 32 bit
che consente di registrare un file con un nome composto da 255 caratteri. I programmatori hanno tuttavia
dovuto far attenzione alla compatibilità ascendente, in modo tale da poter accedere a questi file partendo da
ambienti a 16 bit (DOS). La soluzione è quindi stata quella di attribuire un nome ad ogni sistema. E' la
ragione per cui è possibile usare dei nomi lunghi su Windows 95, potendo comunque accedervi anche su
DOS.
Il sistema di file FAT è un sistema a 16 bit, il che significa che non può indirizzare i cluster su più di 16 bit. Il
numero massimo di cluser individuabili con il sistema FAT è quindi di 216, cioè 65536 cluster. Ora, dato che
un cluster è costituito da un numero fisso (4, 8, 16, 32, ...) di settori di 512 byte successivi, la dimensione
massima di una partizione FAT si trova moltiplicando il numero di cluster per la dimensione di un cluster.
Con dei cluster di dimensione di 32 Kb, la dimensione massima di una partizione FAT è quindi di 2Gb.
D'altronde, un file può occupare solo un numero intero di cluster, cioè se un file occupa più cluster, l'ultimo
sarà occupato in parte, e lo spazio libero restante sarà quindi perso. Di conseguenza, più la dimensione di
un cluser è ridotta, minore sarà lo spreco di spazio. Si stima che un file sprechi in media la metà di un
cluster, questo significa che su una partizione di 2 Gb circa 16 Kb sono persi per ogni file...
La tabella di allocazione dei file
La Tabella di Allocazione dei File è una lista di valori digitali che permette di descrivere il posizionamento dei
cluster di una partizione, cioè lo stato di ogni cluster della partizione di cui essa fa parte. La tabella di
allocazione è in effetti una tabella in cui ogni cella corrisponde ad un cluster. Ogni cella contiene una cifra
che permette di sapere se il cluster che rappresenta sia usato da un file e, se ne è il caso, indica la posizione
del prossimo cluster che il file occupa. Si ottiene quindi una stringa FAT, cioè una lista concatenata di
referenze che mirano ai diversi cluster successivi, fino al cluster finale del file. Ogni elemento inserito nella
FAT ha un lunghezza di 16 o 32 bit (a seconda che si tratti di un FAT16 o di un FAT32). I primi due elementi
inseriti permettono di memorizzare delle informazioni sulla tabella stessa, mentre quelli successivi
permettono di referenziare i cluster. Alcuni elementi possono contenere dei valori che indicano uno stato
specifico del cluster. Così il valore 0000 indica che il cluster non è utilizzato, FFF7 permette di segnalare il
cluster come difettoso per evitarne l'utilizzo, e i valori compresi tra FFF8 e FFFF specificano che il cluster
contiene la fine di un file. Ogni partizione contiene in realtà due copie della tabella, memorizzati in modo
contiguo sul disco, per poter recuperarla nel caso in cui la prima copia sia corrotta.
Il sistema di file FAT32
Nonostante la VFAT sia "intelligente", essa non permette di rimediare ai limiti del FAT16. Così, un nuovo
sistema di file (e non una migliore gestione della FAT come la VFAT) è apparsa con Windows 95 OSR2.
Questo sistema di file, detto FAT32 usa dei valori a 32 bit per gli elementi inseriti nella FAT. In realtà solo 28
bit sono usati dato che 4 sono riservati.
Con la comparsa del sistema di file FAT32, il numero massimo di cluster per partizione è passato da 65535
a 268 435 455 (228-1). Il FAT32 autorizza quindi delle partizioni di dimensione più elevata (fino a 8 terabyte).
In realtà la dimensione teorica massima di una partizione FAT32 è di 8 Tb, tuttavia Microsoft la limita
volontariamente a 32 Gb sui sistemi Windows 9x per
promuovere NTFS (ref: http://support.microsoft.com/default.aspx?scid=kb;it;184006). Dato che una
partizione FAT32 può contenere molti più cluser rispetto ad una FAT16, è possibile ridurre in modo
significativo la dimensione dei cluster e di limitare nella stessa occasione lo spreco di spazio sul disco. Ad
esempio, per una partizione di 2Gb, è possibile usare dei cluster di 4Kb con il sistema FAT32 (invece di
32Kb con FAT16), il che diminuisce lo spazio sprecato con un fattore 8.
Dall'altro lato, la FAT32 non è compatibile con le versioni di Windows precedenti alla versione OEM Service
Release 2. Un sistema che funzioni con una versione precedente non vedrà questo tipo di partizione.
Altra osservazione, le utility di gestione del disco funzionanti a 16 bit come quelle delle vecchie versioni di
Norton non funzioneranno più correttamente. In termini di prestazione, l'utilizzazione di un sistema FAT32
rispetto ad uno FAT16 apporta praticamente un leggero guadagno di efficienza pari al 5% .
Sistema di file FAT16 o FAT32?
Dato il numero di cluster limitato, la dimensione massima di una partizione dipende dalla dimensione di ogni
cluster. Vediamo la dimensione massima di una partizione secondo la dimensione dei cluster e del sistema
di file utilizzato:
Dimensione di un cluster Sistema di file FAT16
Sistema di file FAT32
(teorico)
512 byte
32 Mb
64 Mb
1 Kb
64 Mb
128 Mb
2 Kb
128 Mb
256 Mb
4 Kb
256 Mb
8 Gb
(1 Tb)
8 Kb
512 Mb
16 Gb
(2 Tb)
16 Kb
1 Gb
32 Gb
(4 Tb)
32 Kb
2 Gb
2 Tb
(8 Tb)
Quando si formatta un disco rigido, bisogna quindi determinare con precauzione il tipo di sistema di file da
utilizzare, scegliendo quello che permette di avere uno spazio disponibile il più simile possibile alla
dimensione voluta!
Il sistema di file NTFS
Il sistema di file NTFS (New Technology File System) utilizza un sistema basato su una struttura detta
«tabella di file master», o MFT (Master File Table), che permette di contenere delle informazioni dettagliate
sui file. Questo sistema permette quindi l'utilizzo di nomi lunghi ma, contrariamente al sistemaFAT32, è
sensibile alle maiuscole, cioè è in grado di fare la differenza fra maiuscolo e minuscolo.
Per quanto riguarda le prestazioni, l'accesso ai file su una partizione NTFS è più rapida rispetto ad
una partizione di tipo FAT dato che utilizza un albero binario performante per localizzare i file. Il limite teorico
della dimensione di una partizione è di 16 exabyte (17 miliardi di Tb), ma il limite fisico di un disco è di 2Tb.
Ma è a livello della sicurezza che l'NTFS acquista importanza, dato che permette di definire degli attributi per
ogni file. La versione 5 di questo sistema di file (in standard su Windows 2000 come NT 5) apporta ancora
delle nuove funzionalità fra cui delle migliori prestazioni, delle quote di disco per volume definite per ogni
utente. NTFS v.5 dovrebbe anche dare la possibilità di amministrazione a distanza...
La tabella dei file master
La Tabella di Allocazione dei File è una tabella di valori digitali in cui ogni casella permette di descrivere
l'allocazione dei cluster di una partizione, cioè lo stato (l'occupazione o meno da un file) di ogni cluster della
partizione di cui fa parte.
Il sistema di file NTFS è basato su una struttura differente, detta tabella dei file master, che contiene delle
registrazioni sui file e le cartelle della partizione. La prima registrazione, detta descrittiva, contiene delle
informazioni sulla MFT (una sua copia è memorizzata nella seconda registrazione). La terza registrazione
contiene il file di log, un file che contiene tutte le azioni effettuate nella partizione. Le registrazioni
successive, costituenti quello che viene detto il nodo, referenziano ogni file e cartella della partizione sotto
forma di oggetti provvisti di attributi. Questo significa che le informazioni relative ad ogni file sono
memorizzate nel file, che è a sua volta registrato nella MFT. La MFT rappresenta quindi una struttura di
immagazzinamento dei dati della partizione, e non una lista di cluster.