Bios MB memorie HD File system

 


 

Bios MB memorie HD File system

 

Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.

 

 

 

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

 

 

 

 

Bios MB memorie HD File system

 

BIOS

Nell'informatica, il Basic Input-Output System o BIOS è il primo codice che viene eseguito da un Personal Computer dopo l'accensione, ed ha la funzione principale di localizzare e caricare il sistema operativo nella RAM. Il BIOS garantisce la comunicazione a basso livello tra l'hardware e le periferiche e fornisce il supporto per le chiamate di sistema verso la gestione della tastiera e alcune primitive per la gestione dell'output sul video, seppur limitate al modo testuale. Il BIOS è scritto di solito nel linguaggio assembler nativo della famiglia di CPU utilizzata.
Il termine apparve per la prima volta con il sistema operativo CP/M e descriveva quella parte di CP/M che veniva caricata all'avvio e che si interfacciava direttamente con l'hardware. I computer che utilizzavano il CP/M avevano infatti solo un semplicissimo boot loader nella ROM. Anche le successive versioni del DOS avevano un file chiamato IBMBIO.COM o IO.SYS del tutto analogo.
Pur essendo il termine BIOS un acronimo, c'è un richiamo alla parola greca βιος (bios) vita.

 

Avvio del PC

A partire dall'introduzione dei primi IBM PC XT e compatibili nell'Agosto del 1981, è il BIOS che ha il compito di dare i primi comandi al sistema durante la fase di avvio, detta boot process. In questa fase, dopo i controlli preliminari sulla funzionalità dei componenti fondamentali (interrupt, RAM, tastiera, dischi, porte), il BIOS si interfaccia con la memoria CMOS, una memoria non volatile capace di mantenere anche a computer spento i parametri di configurazione che possono essere oggetto di modifica. In questa memoria, il BIOS è in grado di scrivere per memorizzare le necessarie modifiche alla configurazione e di leggere per stabilire dove si trova il sistema operativo da caricare per l'avvio.
Nelle moderne implementazioni del BIOS possono essere selezionati i più diversi tipi di supporto magnetico per l'avvio e sono presenti numerose funzioni per la diagnostica e la personalizzazione di importanti funzioni relative all'utilizzo della RAM, alle opzioni per l'overclocking e sono presenti segnali di allarme in caso di malfunzionamenti delle ventole o eccessivi aumenti della temperatura.

 

BIOS riprogrammabile

Il BIOS a volte viene anche chiamato firmware, dal momento che è una parte integrante dell'hardware, pur essendo composto da istruzioni software. Prima del 1990 il BIOS veniva memorizzato su una o più ROM (Read Only Memory), chiaramente non riprogrammabili. Man mano che la complessità è aumentata, di pari passo con la necessità di aggiornamenti, si è diffusa la memorizzazione del BIOS prima su EPROM, poi su EEPROM o flash memory così da permettere un rapido aggiornamento anche da parte dell'utente finale. La presenza di BIOS aggiornabili anche dall'utente, permette di ottenere ad esempio il supporto per CPU più aggiornate o dischi fissi più capienti. Per effettuare tali operazioni è indispensabile consultare il manuale d'uso della scheda madre e/o il sito web del produttore. Dal momento che eventuali errori nell'aggiornamento del BIOS rendono il computer inservibile, alcune schede madri sono dotate di un doppio BIOS. Sono noti alcuni virus che sono in grado di sovrascrivere il BIOS, tuttavia la maggior parte dei sistemi è dotata di un'opzione nel BIOS stesso per disabilitare le funzioni di scrittura e di un ponticello che disabilita le tensioni di programmazione necessarie per l'alterazione della EEPROM.


Firmware su schede di espansione

Un computer può integrare il proprio BIOS con altri moduli: esistono infatti schede di espansione che possono impiegare delle estensioni proprietarie del BIOS in aggiunta a quello collocato sulla scheda madre; di solito la scheda Video, ad esempio, o un controller SCSI.

 

Che cosa fa il BIOS

Il BIOS fa diverse operazioni utili, ne elenchiamo alcune:
Lancia la fase di POST (Power-on Self test)
Avvia il computer e lancia il Sistema Operativo
Gestisce varie impostazioni dell'hardware della macchina

 

La fase di POST del BIOS

POST significa (Power-On Self Test), letteralmente è un test che il BIOS fa a sé stesso, alla macchina, all'hardware per verificare se ci sono dei problemi.
Durante questa fase vengono rilevati tutti i device hardware ed eventualmente (come nel caso di mouse o tastiere) viene segnalata la loro mancanza e bloccata la procedura.
Vengono inoltre rilevati i vari drive installati sulla macchina quindi hard disk e CD-Rom, e vengono elencati, con marca, modello e dimensione.
Anche la RAM subisce un controllo durante la fase di POST, vengono fatti infatti dei test diagnostici per verificare se ci sono degli errori o se i circuiti interni sono danneggiati.
Oltre a segnalare tramite lo schermo di eventuali problemi il BIOS può anche avvisarvi con dei suoni tramite lo speaker del computer.

 

Le impostazioni del BIOS

Nel BIOS vero e proprio poi potete trovare numerose impostazioni ne elenchiamo solo alcune:
Frequenza della CPU
Temperature di CPU e numero di giri delle ventole di raffreddamento
Unità di avvio
Ora e data del sistema (che vengono mantenute da una batteria)
Risparmio energetico
Wake on Lan (WOL) che permette di accendere il computer via rete
Wake on Ring (WOR) che permette di accendere il computer con una telefonata al modem

 

Configurazione del BIOS

Gli elaboratori con architettura i86, a partire precisamente dai microprocessori i286, dispongono di una memoria C/MOS per conservare la configurazione usata dal BIOS. Questa memoria viene alimentata da una batteria, che originariamente è costituita da un piccolo accumulatore NiCd (nichel-cadmio), successivamente sostituita da batterie non ricaricabili. Pertanto, la durata di questa batteria determina l'affidabilità della configurazione del BIOS.

 

Modifica della configurazione

La modifica della configurazione contenuta nella memoria C/MOS richiede l'uso di un programma apposito, che nella migliore delle ipotesi fa parte del BIOS stesso, pertanto può essere avviato indipendentemente dalla presenza di un disco. Normalmente, per accedere a questo programma è possibile premere un tasto (CANC) o una combinazione di tasti all'avvio.

 

Programmi per la modifica della configurazione

La configurazione contenuta nella memoria C/MOS cambia in base alle caratteristiche del BIOS. Quando non contiene anche il programma per accedere alla modifica della configurazione, questo può essere stato distribuito assieme al sistema operativo (si tratta normalmente del Dos), oppure può risiedere in una partizione speciale del disco fisso.
In mancanza di altro, quando c'è la necessità di intervenire nella configurazione del BIOS, ci si può arrischiare di azzerare completamente la memoria C/MOS, attraverso l'uso di qualche programma che consenta di farlo. Eventualmente, anche un programma che salva e recupera la configurazione può essere usato per lo scopo, modificando il file con un programma che consenta di intervenire in modo binario (di solito in esadecimale). In questo modo si spera che il BIOS attribuisca almeno una configurazione predefinita; d'altra parte, questo è ciò che succede quando si scarica la batteria, anche se l'azzeramento non porta necessariamente a buoni risultati.

 

Copia del BIOS

Oltre che salvare il contenuto della configurazione, può essere utile fare una copia del BIOS in un file, da conservare da qualche parte. Teoricamente, quando la memoria EPROM dovesse alterarsi, dovrebbe essere possibile reperire un programmatore di ROM in grado di riprodurne una copia fisica.

 


La SCHEDA MADRE

 

Altrimenti detta Main Board o Mother Board, la scheda madre è un circuito stampato posto all'interno del computer, ed è di fatto la base su cui poggia la struttura del PC. E' possibile paragonarla alle fondamenta che sostentano un palazzo, determinandone la costruzione. Migliori sono le fondamenta e più stabile e affidabile sarà il palazzo. La scheda viene montata all'interno del computer e su di essa sono alloggiate le varie componenti, fra i quali il processore, la memoria RAM e le varie schede di espansione (scheda video, scheda audio, modem, scheda di rete...). Sono inoltre presenti i connettori per le memorie di massa (come Hard Disk, Floppy Disk e CD-ROM) e le porte di comunicazione, ovvero i connettori a cui vengono attaccate le periferiche esterne.

 

I componenti di una scheda madre.

L'immagine seguente permetterà di ben identificare quali e quanti componenti compongano, in genere, una scheda madre; ovviamente lo schema qui sotto riportato è indicativo e non pretende di riassumere ogni componente montato sulle schede madri.

1. North bridge del chipset: in genere questo componente è sormontato da un piccolo dissipatore di calore, in questo caso di colore verde, per via dell'elevata temperatura raggiunta durante il funzionamento. Più avanti nella guida verrà spiegato cosa sia il chipset e a cosa serva.
2. Slot memoria: dato che come riferimento nell'immagine è stata presa una scheda madre Socket 370 per cpu Intel Pentium III e Celeron gli Slot memoria sono del tipo Dimm, per moduli memoria SDRAM.
3. Socket 370: è il connettore della cpu, sul quale viene infilato il processore e serrato per mezzo della leva di serraggio.
4. Slot AGP: connettore specifico per la scheda video.
5. Slot PCI: connettore per differenti tipologie di periferiche (schede video, controller SCSI, schede audio, ecc..).
6. Slot ISA. connettore per periferiche per il quale si sta assistendo ad un progressivo abbandono, nelle schede madri più recenti, in quanto non veloce e, pertanto, adatto all'impiego con le periferiche più moderne.
7. South bridge del chipset: è in genere sprovvisto, al contrario del north bridge, di dissipatore di calore dedicato.
8. Connettori per i due canali EIDE e per il floppy drive, entrambi gestiti dal south bridge del chipset.
9. Due connettori per canali EIDE supplementari, gestiti dal controller EIDE opzionale installato su questa scheda madre. Non si tratta di un accessorio molto diffuso ma sempre più schede madri forniscono integrato questo genere di particolare.
10. Dip switch per la gestione manuale dei parametri di funzionamento del processore (frequenza di bus, moltiplicatori di frequenza, voltaggi di alimentazione).
11. Connettore di alimentazione ATX.
12. Porte parallela (sopra) e seriali (due, poste sotto).
13. Porte PS/2 per tastiera e mouse, due porte USB.
14. Bios della scheda madre, su zoccolo estraibile.
15. Chip del controller EIDE supplementare.
16. Memoria tampone della scheda madre.
17. generatore di clock: questo chip fornisce la frequenza di bus utilizzata dalla scheda madre.

Le memorie:
La EEPROM (Electrically Erasable and Programmable ROM) è una memoria ROM, ma a differenza di una semplice ROM è cancellabile e riscrivibile, mediante opportune tensioni e correnti applicate ai MOSFET (i componenti base di una ROM) che la compongono.
Le EEPROM sfruttano l'effetto tunnel per scrivere i dati all'interno delle locazioni di memoria. Infatti i transistor che formano le celle di memoria non hanno il gate direttamene collegato con l'esterno. Il gate è scollegato dal circuito attraverso un sottilissimo strato di materiale isolante e il transistor viene caricato e scaricato attraverso l'effetto tunnel. Le EEPROM sono il componente più diffuso a utilizzare principi della meccanica quantistica, infatti se le nostre leggi della fisica fossero governate dalla meccanica classica questi componenti non potrebbero funzionare.

EPROM, acronimo di Erasable Programmable Read Only Memory, è una memoria ad accesso casuale cancellabile tramite raggi ultravioletti. Dal punto di vista pratico, il circuito integrato della EPROM dispone sul lato superiore di una finestra in vetro di quarzo. Ponendolo sotto una lampada a raggi UV di una determinata lunghezza d'onda per alcuni minuti, si cancellerà il contenuto della memoria. La EPROM è a questo punto riprogrammabile. Le EPROM sono ormai da considerare obsolete e non vengono praticamente più usate. Sono state sostituite dalle EEPROM (Electrical Erasable Programmable Read Only Memory) che possono essere cancellate elettricamente senza dover ricorrere ai raggi UV.
Sono stati prodotti diversi tipi di EPROM che si differenziano oltre che per la capacità di memoria disponibile, anche per la velocità (tempo di accesso) e per le tensioni di lavoro e di programmazione. Generalmente ciascun programmatore ha un elenco di chip, divisi per produttore, per automatizzare le operazioni di impostazione ai fini della programmazione.


La memoria RAM.

La RAM (Random Access Memory) è la memoria usata dal calcolatore per conservare i programmi e i dati con cui sta lavorando, per tutto il tempo per cui il computer rimane acceso. Nella generazione dei 486, quasi tutti i programmi richiedevano almeno 4 MB (megabyte) di RAM per funzionare decentemente, ed era bene non scendere sotto gli 8 MB. Con i Pentium - anche in seguito ad un crollo di circa 8 volte nel prezzo della memoria, avvenuto intorno alla metà del 1996 - il minimo è 16 MB di RAM, e sono consigliati 32 MB
Esistono vari tipi di chip contenenti memoria RAM: fino ai 486 si usavano le SIMM a 30 pin (i pin sono i piedini che collegano un chip alla scheda madre), poi 486 e Pentium si sono diffusi prevalentemente insieme alle SIMM a 72 pin, e recentemente si sono diffuse le DIMM. (Le SIMM sono moduli in cui i piedini sono disposti su una singola fila, e i chip sono quindi montati su un rettangolo sottile; le DIMM hanno invece i piedini su due file, e hanno quindi una forma a parallelepipedo.) Un parametro importantissimo per l'efficienza della RAM è il tempo di attesa per accedere ad un dato memorizzato; le SIMM a 72 pin avevano tempi dell'ordine dei 60 - 70 nanosecondi, mentre le DIMM hanno tranquillamente un tempo d'attesa di 10 ns. Per velocizzare l'accesso, le più recenti SIMM a 72 pin utilizzano la modalità EDO (Extended Data Output), che sincronizzava meglio le operazioni accelerando il tutto. Il tipo di memoria che potete montare dipende comunque dagli spazi (slot) disponibili sulla vostra scheda madre; inoltre spesso sono necessarie particolari combinazioni (ad esempio bisogna riempire gli slot a coppie con chip uguali) descritte sul manuale della scheda madre.
Poiché comunque la RAM è relativamente costosa, i sistemi operativi moderni permettono di impostare la cosiddetta memoria virtuale, ossia di definire uno spazio sull'hard disk (swap space) che verrà sottratto ai normali file - spesso occupandolo con un grosso file detto appunto swap file - e utilizzato come ulteriore memoria. Quando la memoria RAM sarà tutta occupata, difatti, il sistema operativo provvederà a scrivere temporaneamente sull'hard disk parte del suo contenuto, liberando così spazio per nuovi dati e programmi; quando sarà necessario ricominciare ad usare il contenuto di memoria spostato sull'hard disk, verrà scritta sull'hard disk qualche altra parte della memoria, e quella precedente verrà riletta nella RAM. Ovviamente, questo sistema funziona finché l'accesso al disco è veloce e il riempimento della RAM è evento relativamente raro, altrimenti il sistema passa tutto il proprio tempo a copiare blocchi di memoria sull'hard disk e a rileggerli.

RAM
La memoria RAM (Random Access Memory) di lavoro è sì molto veloce, ma ha due problemi:
è molto costosa;
allo spegnimento della macchina il suo contenuto viene perso.
RAM, acronimo usato nell'informatica per, è il supporto di memoria su cui è possibile leggere e scrivere informazioni con un accesso "casuale", ovvero senza dover rispettare un determinato ordine sequenziale, come ad esempio avviene per un nastro magnetico.
La RAM è utilizzata per formare la memoria principale del calcolatore ed è indirizzata direttamente dal processore. In essa sono memorizzati il Sistema operativo, i programmi ed i dati.
Generalmente è più lenta del processore, ed essendo un componente fondamentale usato molto spesso, la sua velocità è un fattore determinante per la velocità dell'intero calcolatore.


SRAM
Static Random Access Memory, ovvero RAM statica. Questo tipo di RAM è costituito da un circuito circolare formato da due porte logiche not collegato alle due estremità alle linee dei dati tramite due transistor.
Consentono di mantenere le informazioni per un tempo infinito, sono molto veloci, consumano poco e quindi dissipano poco calore. La necessità di usare molti componenti, però, le rende molto costose e difficili da impacchettare.
Sono solitamente usate per le memorie cache, dove elevate velocità e ridotti consumi sono caratteristiche fondamentali.

DRAM
Memoria DIMM DDR. Dinamic Random Access Memory, ovvero RAM dinamica. Questo tipo di RAM è costituito, a livello concettuale, da un transistor che separa un condensatore, il quale mantiene l'informazione, dai fili di dati. A livello pratico non viene usato un vero condensatore ma si sfruttano le proprietà elettriche dei semiconduttori usati. È così possibile usare un solo componente per ogni cella di memoria, con costi molto ridotti e la possibilità di aumentare notevolmente la densità di memoria.
A causa delle correnti parassite però il condensatore si può caricare o scaricare. Dopo un breve lasso di tempo, il suo contenuto quindi diventa inaffidabile. Si rende necessario, quindi, rinfrescarne il valore, provvedendo ad eseguire un'operazione di lettura e riscrittura entro il tempo massimo in cui esso può essere considerato ancora valido. Queste operazioni sono eseguite da un circuito interno alle memorie stesse. Comportano un notevole consumo di energia e dissipazione di calore e rendono più lenta la memoria in quanto, mentre si sta eseguendo il rinfresco, non è possibile accedere alla memoria.
Le DRAM sono asincrone, ovvero l'accesso in scrittura ed in lettura è governato da appositi segnali chiamati RAS e CAS.
Sono generalmente usate per la memoria principale del sistema proprio perché consentono di ottenere un grande capienza e sono economiche.

SDRAM
Memoria SODIMM DDR, utilizzata per i personal computer portatili.Sincronous Dinamic Random Access Memory, ovvero DRAM sincrone. Si differenziano dalle DRAM normali per il fatto che l'accesso è sincrono, ovvero governato dal clock.

SDRAM DDR
Sincronous Dinamic Random Access Memory Double Data Rate, ovvero SDRAM con Data Rate doppio. Si differenziano dalle SDRAM per il fatto che consentono il trasferimento dei dati sia sul fronte positivo del clock sia su quello negativo, consentendo così di raddoppiare la banda teorica (in pratica, l'overhead dell'accesso iniziale alla memoria rende minore l'incremento di prestazioni). Sono ottenute organizzando la memoria in due banchi separati, uno contiene le posizioni pari, a cui si accede sul fronte positivo del clock, e l'altro le posizioni dispari, alle quali si accede sul fronte negativo del clock.

 

La memoria cache.

Una cache (o memoria tampone) è una parte di memoria molto veloce (come tempi di lettura e scrittura) che viene usata per trattare velocemente piccole quantità di dati: se devo trattare una grossa quantità di dati memorizzati in una memoria lenta (come può essere la RAM) è più veloce ed efficiente copiarne un intero blocco in una memoria veloce, e poi operare su di esso. Poiché il costo di una memoria è direttamente proporzionale alla velocità, la memoria cache è di estensione molto minore della RAM, tipicamente 128, 256 o 512 KB (kilobyte). In realtà, questa è la cache esterna (o cache di secondo livello); normalmente esiste anche una cache interna, integrata nel processore (quindi l'utente non può comprarne altra o modificarla: si becca quella che c'è) che funziona a sua volta da cache per la cache esterna. Difatti il concetto di "lento" e "veloce" è relativo: dovunque ci sia una memoria se ne può prendere una più veloce e usarla da cache per quella memoria. Ad esempio, il programma SmartDrive incluso nel DOS utilizzava la RAM da cache per l'hard disk, visto che la RAM è più veloce dell'hard disk! L'efficienza di una memoria cache è misurata dall'hit rate, che misura quanto spesso il dato cercato è stato letto dalla cache invece che dalla memoria originaria: difatti, se sfortunatamente il processore deve leggere un dato che è memorizzato in un punto della memoria originaria che non fa parte del blocco attualmente copiato nella cache, esso dovrà andarselo a leggere nella memoria originaria, più lenta.


Le memorie di massa.

Con questo termine si intendono tutte quelle memorie di grandi dimensioni e capaci di conservare i dati a lungo anche a computer spento, ma di accesso molto più lento della RAM. L'esempio tipico è l'hard disk, la cui capacità influenza essenzialmente la quantità di dati e di programmi che potete installare sul vostro computer.
Esistono sostanzialmente due tipi di hard disk: gli IDE/EIDE e gli SCSI; quest'ultimo è uno standard per l'interazione tra periferiche e PC che garantisce prestazioni superiori, ma ovviamente richiede hardware apposito e periferiche compatibili, generalmente più costose di quelle normali. Il tipo di hard disk che potete usare è determinato dal vostro controller, ossia dall'hardware che si occupa di gestire le comunicazioni con l'hard disk stesso.
Altri tipi di memoria di massa, a differenza dell'hard disk, sono rimovibili, ossia possono essere facilmente estratti e portati in giro, e possono essere utilizzati dovunque vi sia un lettore. Il più comune tipo di memoria di massa rimovibile è attualmente il floppy disk, nel formato universale da 3"1/2 (ma se vi interessate di informatica da un po' di tempo, vi ricorderete senz'altro dei floppy da 5"1/4 e dei "padelloni" da 7 pollici e rotti che si usavano quindici anni fa, e magari anche dei tempi in cui al posto dei PC si usavano gli "home computer" dotati di un efficientissimo registratore a cassette). Negli ultimi anni, tuttavia, a causa dell'insufficiente capacità dei dischetti, si sono affermati altri tipi di memoria, primo fra tutti il CD-ROM (la sigla ROM significa Read Only Memory e indica una memoria i cui contenuti vengono impressi una volta per tutte in sede di fabbricazione e non possono più essere modificati), che offre una capacità di memorizzazione pari a quasi 500 dischetti! A proposito dei lettori CD-ROM, la sigla nx che li caratterizza, dove al posto di n c'è un numero, ne indica semplicemente la velocità, espressa come multiplo di quella dei primi modelli apparsi sul mercato (8x = otto volte).
Sempre per via della scarsa capacità dei dischetti, sono stati sviluppati altri strumenti, come gli streamer, basati sull'uso di nastro magnetico ma lenti e poco affidabili, e i drive Zip o Syquest, che utilizzano cartucce rimovibili di capacità che va da qualche decina di MB al GB, utilizzabili però allo stesso modo dei floppy. In particolare, molto diffuso è il drive Zip, che è facilmente trasportabile, usa cartucce da 100 MB e, a seconda del modello, può essere collegato alla porta parallela o ad un controller SCSI.
Oltre a questi componenti, sono necessarie schede (ossia, piastre contenenti un circuito stampato e alcuni componenti elettronici integrati montati su di esso) aggiuntive, che possono essere inserite in appositi alloggiamenti (slot). Esistono vari standard di schede a seconda del tipo di bus (che è l'"insieme di fili" che mette in comunicazione il processore e i vari componenti del computer) presente sulla motherboard (ossia la scheda base del computer, quella su cui è montato il processore) del vostro computer. Il mercato è attualmente orientato alla diffusione dello standard PCI per i bus, sostituendo i precedenti ISA e VESA, ma anche qui le mode cambiano facilmente... Il numero di alloggiamenti disponibili nel computer limita la quantità di schede aggiuntive installabili: una volta che tutti gli slot sono occupati, non potrete installare nuove schede senza togliere una di quelle esistenti. La maggior parte delle schede aggiuntive richiede l'installazione di proprio software, detto driver (letteralmente, autista, ossia programma che controlla il funzionamento della scheda), per poter essere utilizzata.

 

Hard disk

 

Caratteristiche prestazionali

Gli hard disk moderni hanno capacità e prestazioni enormemente superiori a quelle dei primi modelli, ma restano comunque molto al di sotto delle prestazioni dei componenti elettronici che compongono il resto del computer. Per questo motivo, l'hard disk è spesso la causa principale del rallentamento di un computer.
Le caratteristiche principali di un hard disk moderno sono:
la capacità
il tempo di accesso
la velocità di trasferimento
La capacità è in genere espressa in gigabyte (GB). I produttori usano i gigabyte metrici, invece delle approssimazioni per potenze di due usate per la memoria. Questo significa che un hard-disk di una data capacità è in realtà un poco più piccolo di un modulo di memoria con la stessa capacità, e lo scarto aumenta all'aumentare delle dimensioni. Gli hard disk si trovano in vendita con capacità generalmente comprese tra 40 e 200 gigabyte. La capacità può essere aumentata incrementando la densità con cui le informazioni vengono memorizzate sui dischi, usando dischi più grandi, o usando un numero maggiore di dischi.
Il tempo di accesso è la variabile più importante nel determinare le prestazioni di un hard disk, ma spesso non viene menzionata dal produttore. Si tratta del tempo medio necessario perché un dato posto in una parte a caso dell'hard disk possa essere reperito. Il tempo impiegato dipende dal fatto che la testina deve spostarsi, e contemporaneamente il disco deve girare finché il dato interessante non si trova sotto la testina (latenza rotazionale). I produttori cercano perciò di realizzare testine sempre più leggere (che possono spostarsi più in fretta perché dotate di minore inerzia) e dischi che girano più velocemente. Il tempo di accesso tipico per un hard disk consumer è attorno ai 10 millisecondi. Per un hard disk ad alte prestazioni (15.000 giri) è di 3 o 4 millisecondi.
La velocità di trasferimento è la quantità di dati che l'hard disk è teoricamente in grado di leggere o scrivere sul disco in un determinato tempo (in genere si prende 1 secondo come riferimento). Usare dischi che ruotano più velocemente o incrementare la densità di memorizzazione porta ad un miglioramento diretto della velocità di trasferimento. C'è da dire che, a parte casi particolari, la velocità di trasferimento teorica viene raramente raggiunta e il tempo di accesso è quello che maggiormente influenza le prestazioni di un hard disk.
Oltre alle tre viste sopra, altre caratteristiche influenzano in misura minore le prestazioni di un hard disk. Tra queste:
il buffer di memoria
la velocità dell'interfaccia
Il buffer è una piccola memoria cache (in genere di alcuni megabyte) posta a bordo dell'hard disk, che ha il compito di memorizzare gli ultimi dati letti o scritti dal disco. Nel caso che un programma legga ripetutamente le stesse informazioni, queste possono essere reperite nel buffer invece che sul disco. Essendo il buffer un componente elettronico piuttosto che meccanico, la velocità di trasferimento è molto maggiore.
L' interfaccia di collegamento tra l'hard disk e la scheda madre (o, più specificatamente, il controllore) può influenzare le prestazioni perché specifica la velocità massima alla quale le informazioni possono essere trasferite da o per l'hard disk. Le moderne interfacce tipo ATA133, Serial ATA o SCSI possono trasferire centinaia di megabyte per secondo, molto più di quanto qualunque singolo hard disk possa fare, e quindi l'interfaccia non è in genere un fattore limitante. Il discorso può cambiare nell'utilizzo di più dischi in configurazione RAID, nel qual caso è importante utilizzare l'interfaccia più veloce possibile, come per esempio la Fibre channel da 2 Gb/s.

 

Altre caratteristiche

Gli hard disk sono prodotti in due dimensioni standardizzate, i 3,5 pollici e 2,5 pollici. I primi sono utilizzati nei personal computer, i secondi nei computer portatili e dovunque ci sia poco spazio e/o potenza di alimentazione. Gli hard disk da 2,5" sono infatti più piccoli e meno esigenti, ma al prezzo di capacità e prestazioni sensibilmente minori (ad esempio, una velocità di rotazione di 4600 o 5400 rpm, invece dei 7200 rpm o più degli hard disk da 3,5). Recentemente sono stati prodotti hard disk in formato CompactFlash, grandi solo due o tre centimetri e spessi quanto una carta di credito, ma contenenti comunque alcuni gigabyte di memoria (vedi IBM Microdrive).
Gli hard disk più veloci sviluppano molto calore. Alcuni devono addirittura essere raffreddati con ventole apposite.
Il rumore emesso da un hard disk può essere molto fastidioso nel caso di un computer da tavolo. È composto da un sibilo continuo, dato dalla rotazione dei dischi ad alta velocità, e da un crepitio intermittente, di cui ogni clic corrisponde ad un movimento della testina. I produttori di hard disk possono scegliere tra realizzare un hard disk silenzioso ma lento, o rumoroso ma veloce.

Hard disk IDE
L'interfaccia più comune è quella IDE, poi evolutasi in EIDE e ATA. Un cavo piatto, solitamente grigio, è usato per connettere l'hard disk alla scheda madre. Spesso il cavo ha un terzo connettore per poter usare un altro hard disk (o altre periferiche ATA come i lettori cd) con lo stesso cavo. In tal caso, per poter distinguere tra le due periferiche, queste devono essere configurate una come master e una come slave. Questa configurazione può avvenire sia manualmente, spostando dei jumper presenti sulle periferiche, sia automaticamente se esse sono impostate come cable select. In quest'ultimo caso è la scheda madre a decidere chi è il master e chi lo slave. Questo è particolarmente utile quando si utilizzano dischi fissi vecchi, o nel caso di bassa compatibilità tra unità diverse (ad esempio due dischi fissi, ma anche un disco fisso e un lettore CD).
Una scheda madre ha solitamente due connettori IDE (primario e secondario, detti spesso canali e impropriamente controller), ad ognuno dei quali è possibile connettere due unità per un totale di quattro periferiche. Non mancano schede madri con quattro connettori. Il cavo IDE comunque non porta l'alimentazione elettrica necessaria per il funzionamento delle periferiche, che quindi devono essere connesse all'alimentatore per mezzo di un cavo separato.
Tipicamente, un personal computer ha un disco fisso come master sul canale IDE primario, ma a seconda del sistema operativo utilizzato esso può risiedere su una qualunque interfaccia IDE.
Ecco un esempio delle possibili connessioni all’IDE di un pc:
canale primario:
master: hard disk;
slave: lettore cd (con il jumper su cable select)
canale secondario:
master: hard disk;
slave: masterizzatore DVD

Impostazione di master, slave, cable select
Ogni unità che può essere connessa ad un cavo IDE (hard disk, lettore/masterizzatore CD/DVD) possiede un gruppo di pin nella parte posteriore, tra il connettore per il cavo IDE e quello per l’alimentazione, che possono essere collegati a due a due da un apposito jumper. Per cambiare l’impostazione di un hard disk tra master, slave e cable select, bisogna controllare sulla superficie esterna dell’unità le diverse posizioni possibili del jumper e a quali di queste corrispondono le diverse modalità.

 

Le componenti di un hard disk

 

Introduzione

L’hard-disk è quel dispositivo di memoria non volatile capace di memorizzare permanentemente dei dati, anche senza alimentazione e anche dopo lungo tempo, differentemente da quanto fanno, ad esempio, le RAM. E' invece cosa più complicata sapere quale sia la struttura interna di un hard disk.. Ci siamo infatti posti l'obiettivo di levare la curiosità a tutti coloro che vorrebbero vedere un disco rigido aperto, e dunque di realizzare un articolo misto tecnico/fotografico. Il principio di funzionamento di un hard-disk è pessocchè immutato tranne che per la capacità, e la possibilità di posizionare la testina esternamente ai piatti, in modalità di riposo, quando l'hard disk è spento, al fine di ridurre i rischi di danneggiamento dei piatti.

 

Le componenti di un hard disk

Un hard disk è composto fondamentalmente da 5 parti: l'involucro, i piatti, un albero (o asse), le testine e i circuiti elettronici di gestione. Vediamo singolarmente le funzioni di queste componenti:

  • Involucro: serve evidentemente per contenere e proteggere le altre parti di un hard disk; è costruito con materiali metallici e plastici, e viene perfettamente sigillato per evitare che polvere e qualsiasi oggetto estraneo possa introdursi all'interno, mettendone a rischio il corretto funzionamento. A sua volta si divide in 2 parti: una, su cui vengono montate le altre componenti, e può essere immaginata come una "cassa"; l'altra parte, è il coperchio, che serve a sigillare l'involucro, dato che l'interno deve essere perfettamente pulito.

  • Piatti: il disco metallico è un piatto, che è appunto un disco di materiale plastico o metallico, rigido, ricoperto da una patina di ossido di ferro, o comunque di un materiale sensibile ai campi magnetici; gli hard disk contengono un numero variabile di piatti (nel nostro caso 2), ed è importante conoscere alcuni parametri dei piatti: la loro densità di memorizzazione e il numero di rotazioni per minuto (rpm). A un valore di rpm più elevato corrispondono prestazioni superiori (5400rpm e 7200rpm sono i valori dei dischi più diffusi, in sistemi high end si ricorre a hd da 10000rpm e oltre), mentre la densità di memorizzazione dei piatti ci permette di sapere quanti dati è possibile immagazzinare per ogni cmq; in base a questo valore cambia la quantità di dati memorizzabili sull'hard disk, e il tempo di accesso ai dati.


I due piatti visti di profilo

  • Albero: la velocità di rotazione dei piatti dipende dall'albero, cioè da quell'asse attorno al quale girano, alla stessa velocità. Nella foto superiore è facilmente identificabile come l'oggetto al centro dei due piatti.
  • Testine: sono la componente che fisicamente si occupa della scrittura e della lettura dei dati sui piatti. Per ogni lato di un piatto vi è almeno una testina, posizionata su un braccio che viene fatto muovere tramite un meccanismo magnetico-meccanico - come quello visibile nella foto sotto a destra - grazie al quale le testine possono muoversi sull'intera estensione del piatto, dal centro sino al bordo. L'abbinamento di questo movimento con la rotazione del piatto fa si che ogni testina possa accedere all'intero piatto.

Nota: diversamente da quanto alcuni immaginano, l'hard disk non è sottovuoto: le testine per girare infatti necessitano dell'aria, altrimenti non si alzerebbero, non a caso ad hard disk spento è possibile notare come le testine vadano a poggiarsi sui piatti; è proprio la rotazione dei piatti che fa alzare le testine, e non perché sia il braccio di supporto (che non può scorrere in altezza) a sollevarle. Se fossero sottovuoto, per come sono attualmente concepiti, gli hard disk non funzionerebbero! Inoltre, si presenterebbero dei problemi di surriscaldamento, visto l'elevato numero di rotazioni per minuto dei piatti, e anche problemi di pressione, dato che all'aumento di temperatura sarebbe consequenziale l'aumento di volume, e quindi un aumento della pressione interna, con un aggravio dello stress meccanico delle componenti.


  • Circuiti elettronici: hanno il compito di ricevere i comandi impartiti dall'utente tramite il pc, facendo spostare di conseguenza le testine per leggere/scrivere i dati sui piatti.

I due lati del circuito elettronico che riceve i comandi dal sistema

La memorizzazione dei dati

Quando il pc riceve dei dati da memorizzare sull'hard disk, glieli invia sotto forma di bit binari, che l'hard disk provvede a memorizzare magnetizzando il piatto del disco, con una carica positiva o negativa; ovviamente per fare ciò utilizza le testine, e non necessariamente li memorizza sequenzialmente, ma può anche sistemarli in zone diverse, anche su piatti diversi. In questo modo si risolve un problema tipico dei nastri magnetici, che possono essere letti solo sequenzialmente, cosa che li penalizza notevolmente dal punto di vista del tempo di accesso, che invece sui dischi moderni è generalmente inferiore ai 10ms.
Nel momento in cui è necessario andare a rileggere i dati per utilizzarli, le testine non fanno altro che rimuoversi per rileggerli, determinando il campo magnetico di ogni bit, e quindi reinviano i dati al sistema; rimane da capire come il pc possa sapere dove andare a cercare le informazioni che sta cercando, in mezzo a una miriade di bit sparsi.
La risposta è semplice: la formattazione. La formattazione infatti organizza i dati in modo che il sistema possa scriverli e leggerli con ordine, utilizzando un criterio ben preciso; esistono due tipi di formattazione: a basso livello (o fisica) e logica. Formattando a basso livello (cosa che in genere viene effettuata direttamente dal produttore, ma mediante apposite utility si può ripetere) si divide il disco rigido nelle subunità principali: tracce, settori, cilindri. Le tracce sono dei "cerchi concentrici" (ovvero con lo stesso centro...) scritte su tutti i lati di tutti i piatti, e sono numerate; l'insieme di tutte le tracce identificate dallo stesso numero, e quindi equidistanti dall'asse formano un cilindro, che può essere immaginato come il collegamento ideale in verticale delle estremità delle tracce. I settori invece sono una suddivisione delle tracce, destinate a contenere una quantità prefissata di dati, minore di quella delle tracce; potete immaginarli come una fetta di torta; in ogni caso, lo schema sottostante è abbastanza esemplificativo

I cilindri hanno un grande vantaggio: scrivendo su di essi si evita di far spostare le testine (la traccia infatti è la stessa...) e dunque si risparmia notevolmente sul tempo di scrittura/lettura, dato che è proprio lo spostamento delle testine la fase più lenta del processo. Spesso gli hard disk presentano bad sector, cioè settori difettosi che non possono essere utilizzati per la memorizzazione dei dati; è possibile ovviare a questi problemi procedendo con la formattazione del disco. Spesso però tale procedura non permette di ricuperare i cluster danneggiati, pertanto può essere necessario dover intervenire con la formattazione a basso livello dell'hard disk, operazione che porta alla completa ricostruzione delle informazioni magnetiche presenti sul disco.
Alcuni bios integrano utility per la formattazione a basso livello; in questo caso, sarà sufficiente entrare nel bios e ricercare l'apposito menù. Più spesso, sarà necessario utilizzare apposite utility sotto DOS.
La formattazione logica altro non è che l'inserimento del cosiddetto "file system" sull'hard disk, ovvero quella struttura logica che memorizza le posizioni fisiche di ogni singolo file, gestisce directory, quantifica lo spazio disponibile e quello già utilizzato; inoltre, cosa molto importante, contiene il record di boot, ovvero quei dati necessari all'avvio del sistema operativo. Per questo motivo ogni sistema operativo necessità di uno specifico filesystem, o comunque di uno supportato.
Sia la formattazione che la formattazione a basso livello comportano la completa distruzione di qualsiasi dato presente sull'hard disk.

 

Le partizioni

I dischi fissi e quelli rimovibili in grado di memorizzare grandi quantità di informazioni, possono essere suddivisi in partizioni che sono aree del disco in ognuna delle quali è possibile memorizzare le informazioni secondo uno specifico filesystem.
In pratica, i dischi fissi vengono sempre suddivisi in partizioni (al limite soltanto una). Nel caso di dischi rimovibili di elevata capacità, non suddivisi in partizioni, si parla di superfloppy.
Il sistema di suddivisione dei dischi in partizioni riconosciuto e gestito da GNU/Linux è quello utilizzato dal DOS38 e dai sistemi operativi da esso derivati.
La partition table, ovvero l’elenco delle partizioni in cui è suddiviso il disco e la relativa posizione fisica sul supporto magnetico, è memorizzata nella parte finale del primo settore del disco che è escluso dal partizionamento, cioè non è contenuto in nessuna partizione. Tale settore è detto MBR (Master Boot Record) poiché contiene anche il codice per l’avvio del boot loader, cioè il meccanismo di caricamento del sistema operativo. Lo spazio riservato per annotare i dati delle partizioni nel MBR è limitato e consente la suddivisione del disco in un massimo di 4 partizioni (partizioni primarie). La possibilità di suddividere lo spazio di un disco in un massimo di 4 partizioni, può essere troppo limitante: per questo sono state introdotte le partizioni estese, partizioni che possono contenere al loro interno delle partizioni logiche.
La suddivisione del disco in partizioni può essere effettuata con il comando fdisk.

 

Come partizionare un hard disk

Se si vuole partizionare, cioè suddividere in unità, un hard disk appena acquistato la prima procedura da fare è quella di prendere un disco floppy di boot, sul quale devono essere caricati come minimo l'interprete dei comandi command.com, i file fdisk.exe e format.exe. Il floppy drive caricherà in memoria il sistema operativo e apparirà la scritta
a:\>_
A questo punto si digiti il comando fdisk per entrare nel programma fdisk, che permette di partizionare l'hard disk e renderne avviabile una partizione, primo passo per poter salvare qualsiasi tipo di dato sull'hard disk. Se si utilizza un dischetto di boot creato con Windows 95 OSR 2.1 o versione superiore, fdisk chiederà se si vuole utilizare il supporto per le grandi unità: dietro a questa strana domanda si cela la richiesta di utilizzare la FAT a 32 bit oppure quella a 16 bit, pertanto il consiglio è quello di rispondere si così da utilizzare la FAT a 32 bit. Si entra in un menù testuale a quattro voci e si attivi la prima:
crea partizione o unità logica DOS
si entra in un secondo menù, dal quale è possibile creare diverse partizioni:
partizione primaria: è la parte, per così dire, principale dell'hard disk, quella indicata con la lettera di unità C; se tutto lo spazio a disposizione dell'hard disk viene utilizzato per creare la partizione primaria, si otterrà un'unico volume, appunto di nome C, con capacità pari alla capacità massima dell'hard disk; viceversa se non si impiega il 100% dello spazio a disposizione vi è la possibilità di destinare lo spazio non utilizzato per creare una partizione estesa e, al suo interno, una o più unità logiche.
partizione estesa: è tutto lo spazio che non viene utilizzato dalla partizione primaria; all'interno della partizione estesa possono essere create differenti unità logiche.
unità logiche: sono una sorta di sotto-partizione della partizione estesa; è possibile crearne una sola (che prenderà quale lettera di unità la D), oppure diverse (con lettere di unità D, E, F, ecc...) fino a saturare tutto lo spazio disponibile nella partizione estesa Fatto questo, fdisk chiederà di specificare quale sia la partizione attiva, cioè quella dalla quale il sistema caricherà i files di avvio del sistema operativo; il consiglio è quello di indicare quale partizione attiva l'unità C.
Si esca da fdisk e si riavii il sistema, sempre lasciando il floppy di avvio inserito nel floppy drive; al prompt dei comandi
a:\>_
si digiti il comando:
format c: /s
così da formattare l'unità C e renderla avviabile (il comando /s serve proprio a questo), così che non serva più utilizzare il floppy di boot; fatto questo, si formattino le altre unità eventualmente create in precedenza utilizzando il comando format ma senza il comando /s, si tolga il floppy disk e si riavii il sistema.
Ora il prompt dei comandi sarà
c:\>_
indicando che si stanno leggendo dati dalla partizione C dell'hard disk e non più dal floppy drive; si installino i driver del lettore CD-Rom, si riavii il sistema e si proceda all'installazione del sistema operativo.


il File System

Un hard disk nuovo è pre-formattato, cioè incorpora le informazioni su cilindri, tracce e settori; per poterlo utilizzare è necessario formattarlo, ma prima di fare questo è indispensabile partizionarlo (una o più partizioni) e scrivere su esso le informazioni della(e) partizione(i) e del boot sector. Queste operazioni prendono il nome di file system, cioè sistema attraverso il quale i dati vengono scritti sul disco. Il file system è diverso in base al tipo di sistema operativo che viene utilizzato: F.A.T.12/16bit per MS-Dos fino alla versione 7.0 e per Windows 95 release B esclusa; F.A.T. 32bit per Windows 95 Release B (4.00.950 B); NTFS per Windows NT; HPFS per OS/2.
Ogni directory e ogni file sono inclusi nella loro directory padre. Nel caso della directory root, la directory padre è se stessa. Una directory è un file contenente una tabella che elenca i file contenuti nella directory stessa, dove ai nomi dei file in lista vengono assegnati i corrispondenti numeri di inode. Un inode è un file speciale, progettato per essere letto dal kernel al fine di conoscere alcune informazioni su ciascun file. Un inode specifica i permessi del file, il proprietario del file, la data di creazione, quella dell'ultimo accesso e quella dell'ultima modifica del file e la posizione fisica dei blocchi di dati sul disco che contengono il file.
Il sistema non richiede qualche struttura particolare per i dati contenuti nel file. Il file può essere ASCII o binario o una combinazione di questi e può rappresentare dati testuali, uno script di shell, un codice oggetto compilato per un programma, una tabella di directory, robaccia o qualunque cosa si voglia.
Non c'è un'intestazione, una traccia, un'etichetta o il carattere EOF come parte del file.

 

File system

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.

 

Caratteristiche e storia dei file system

Un file system è una 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).
I file system più comuni si appoggiano a dispositivi di archiviazione che offrono l'accesso ad un array di blocchi di dimensione fissa, generalmente chiamati settori, tipicamente di 512 byte l'uno. Il software di gestione del file system è responsabile dell'organizzazione di questi settori in file e cartelle, e di tenere traccia di quali settori appartengono a quali file, e quali invece non sono utilizzati. Ma i file system non hanno necessariamente bisogno di un dispositivo di archiviazione. Un file system può essere usato per organizzare e rappresentare qualsiasi tipo di dato, sia che sia memorizzato o generato dinamicamente (ad esempio, da una connessione di rete).
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).
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). 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.

 

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:
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
NTFS - Usato su sistemi basati su Windows NT
ReiserFS - Filesystem journaling, diffuso su sistemi GNU Linux

Il journaling è una tecnologia utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione. È una tecnologia derivata da una tecnologia simile utilizzata nel mondo dei Database. Il journaling si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system come una transazione.
Quando un applicativo invia dei dati al file system per memorizzarli su disco questo prima memorizza le operazioni che intende fare su un file di log e in seguito provvede a effettuare le scritture sul disco rigido, quindi registra sul file di log le operazioni che sono state effettuate.
In caso di caduta di tensione durante la scrittura del disco rigido, al riavvio del sistema operativo il filesystem non dovrà far altro che analizzare il file di log per determinare quali sono lo operazioni che non sono state terminate e quindi sarà in grado di correggere gli errori presenti nella struttura del file system. Da notare che nel file di log vengono memorizzate solo le informazioni che riguardano la struttura del disco (metadati), quindi un'eventuale caduta di tensione elimina i dati che si stavano salvando, ma non rende inconsistente il filesystem.
I più diffusi file system dotati di journaling sono: ext3, ReiserFS, XFS, JFS, VxFS, HFS+ I primi tre sono disponibile per i sistemi operativi Unix e sono open source, JFS e VxFS non sono open source, l'ultimo è il filesystem standard del Mac OS X ed è di proprietà dell'Apple Computer.

UDF - File system a pacchetti usato su supporti WORM/RW, CD-RW e DVD


File system di rete

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

 

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à.

 

I FILESYSTEMS JOURNALED NEI SISTEMI LINUX

Il FileSystem è una componente chiave per assicurare prestazioni ed affidabilità in un ambiente per applicazioni critiche e perché no anche didattiche: siano esse per server che per client.
I requisiti per un filesystem di moderna concezione:
capacità di supportare grossi volumi fisici (oramai centinaia di gigabyte);
integrità dei dati;
riduzione della frammentazione interna ed esterna:
recovery veloce in caso di crash;
manipolazione in modo veloce ed efficiente sia dei file voluminosi che piccoli.
Il vecchio filesystem UFS come lo ext2 non garantisce un adeguato supporto alle nuove tecnologie, e nelle esigenze di scalabilità in un server generalmente si avverte un calo di performance. Aziende come IBM e SGI hanno sviluppato per GNU/Linux i loro filesystem e le nuove distribuzioni già li supportano durante il processo di installazione.
La sostanziale differenza tra un filesystem journal (come lo JFS) ed uno non journal (come lo ext2) sta nella capacità di recuperare lo stato consistente dell'hard disk in pochi secondi. La tecnica di recovery, ereditata dai database, si basa sulle transazioni. In caso di "crash" del sistema, lo stato consistente del disco viene recuperato leggendo i log e riapplicando le modifiche: quindi lo stato precedente. Contrariamente in un filesystem non journal lo stato consistente del disco passa attraverso l'analisi dei metadata (i-node, directory, i-node map…) che richiede la scansione completa (blocco per blocco) del volume logico. Questo avviene in quanto la ricerca dei blocchi liberi in un filesystem tipo ext2 avviene mappandoli in una sequenza di bit (detta comunemente "struttura a bitmap"); più il filesystem cresce in dimensioni, più lo spazio occupato cresce conseguentemente: l'algoritmo di ricerca utilizzato è sequenziale. Sia chiaro che per filesystem di piccole dimensioni il sistema è decisamente efficiente, e non penalizza le prestazioni del server. Gli i-node rappresentano oltre che i file e le directory anche qualsiasi altro oggetto del filesystem, e sono fondamentali per la ricerca degli stessi. Nei filesystem "tradizionali" (come lo ext2) devono necessariamente essere fissati a priori in base alla quantità di oggetti che si suppone saranno presenti. Una volta raggiunto il limite, non sarà più possibile creare oggetti anche se lo spazio sul disco è fisicamente presente (intendo i gigabyte disponibili e non ancora utilizzati). Nei filesystem journal questo non accade: la tecnica di allocazione dinamica degli i-node (dynamic i-node allocation) permette tuttavia di superare il limite con disinvoltura, anche a scapito di una complessità interna nella gestione. Un extent è una sequenza di blocchi contigui allocati da un file come unità base, al loro interno contengono una sequenza composta da: physical, logical offset, length. In buona sostanza: l'ultimo termine indica l'inizio del blocco, il secondo la sua lunghezza ed il terzo l'offset rispetto al primo byte.
Gli extent sono inseriti negli i-node per mappare gli oggetti del filesystem. L'uso di extent riduce il tempo di ricerca dei blocchi e la frammentazione del disco fisso. Congiunti alla tecnica B+Tree, ereditata anch'essa dai database, incrementa notevolmente le performance sia per la ricerca dei blocchi liberi, sia per la ricerca dei file nei directory. La gestione dei file sparsi e dei file large o dense, cambia invece per ogni filesystem in esame.

FILESYSTEM EXT3

Ext3 è il filesystem ufficialmente supportato da Red Hat Linux a partire dalla versione 7.2. Non si tratta di una vera e propria evoluzione dello ext2, bensì di un "add-on" per dotarlo di caratteristiche journal: ossia accompagna i pregi e non migliora i difetti. Non è indispensabile riformattare la partizione, è sufficiente convertirla e la compatibilità è garantita: con i nuovi efstools è altresì possibile montare una partizione ext3 come una comunissima ext2. L'operazione per rendere journal un "antidiluviano" ext2 è molto semplice:
La partizione non deve essere smontata. Verrà creato un file "-journal" nella radice root. La seconda operazione è di disabilitare il check del disco ad intervalli regolari (ogni centottanta giorni o ad ogni venti riavvi o mount):

FILESYSTEM JFS

Il filesystem JFS (Journal File System) sviluppato da IBM per i suoi server AIX è stato ora rilasciato con licenza GPL e messo a disposizione per la comunità GNU/Linux. Subito si distingue per la gestione delle directory. Le directory vengono organizzate in due modi differenti in base alle dimensioni stesse: nel primo caso ne contengono fino ad otto, e la struttura viene immagazzinata nello i-node stesso, nel secondo caso, con più di otto directory, il tutto viene affidato all'algoritmo B+Tree. La struttura interna è a 64 bit come lo XFS di Silicon Grafhics.
Non è possibile convertire la partizione ext2 in una JFS, peraltro operazione possibile solo passando da ext2 a ext3.

FILESYSTEM XFS

Il filesystem XFS è stato sviluppato dalla Silicon Graphics per il sistema operativo proprietario IRIX e ora è disponibile per piattaforma GNU/Linux con licenza GPL. Le caratteristiche sono notevoli: 18 mila Petabyte per le dimensioni del filesystem e 9 mila Petabyte per i file. Supporta l'allocazione dinamica degli i-node e sfrutta gli extent sia per la ricerca dei blocchi liberi (unico per ora), sia per l'organizzazione dei file. Non è possibile convertire una partizione ext2 ad XFS, tuttavia con un procedimento analogo a quello precedente si arriva al medesimo risultato.

FILESYSTEM REISERFS

Il filesystem ReiserFS è stato sviluppato dalla NAMESYS società indipendente e inserito da molto tempo nella distribuzione SuSE.. Supporta l'allocazione dinamica degli i-node mentre non fa uso degli extents. Caratteristica di questo filesystem è che invece di usare la struttura a B+Tree usa una versione estesa nominata B*Tree, dove ogni oggetto nel filesystem è una struttura B*Tree.

Possiamo notare come Linux permetta di utilizzare moltissimi tipi di filesystem e che ciò sia un toccasana per coloro che hanno esigenze di compatibilità. Possiamo notare anche che questi nuovi tipi di filesystem journaled siano estremamente potenti e portano ad un alto grado di affidabilità in termini di recupero dei dati in caso di problemi. L'unica cosa che mi sento di consigliare è di cominciare a installare Linux con partizioni journaled e di convertire quelle esistenti, ma soltanto su macchine server in quanto la procedura potrebbe far perdere moltissimo tempo.

 

FAT a 16 bit

Con la F.A.T. (File Allocation Table) a 12/16 bit si possono creare partizioni fino a 2 Gbyte di dimensione. Il problema è che, essendo limitato il numero di cluster che si possono creare, comportando un notevole spreco di spazio: più la partizione è ampia, maggiore sarà la perdita di spazio. La soluzione migliore, comunque, per evitare la perdita di spazio è quella di passare alla F.A.T. a 32 bit.

 

La FAT a 32 bit

Con questo file system possono essere gestiti partizioni più grandi fino a un massimo di 2 Tbyte (2048 Gbyte). Le unità formattate con tale file system sono accessibili utilizzando Windows 95 Release B e successivi. Pare che gli hard disk formattati con questa F.A.T. abbiano un piccolo decadimento delle prestazioni rispetto alla F.A.T. 12/16, probabilmente dovuto al maggior numero di cluster che l'elettronica dell'hard disk deve gestire, ma i vantaggi in termini di spazio risparmiato sono tali da compensare abbondantemente questo calo di prestazioni.

 

La tecnologia RAID

Pensando all'archiviazione dei dati su supporti magnetici quali gli hard disk, tre sono le problematiche che si possono presentare:
- capacità: la richiesta di maggiore capacità di archiviazione è un problema quotidiano per la maggioranza degli utenti di PC; la soluzione può essere vista nell'acquisto di un unico hard disk di maggiori dimensioni (i produttori rilasciano costantemente nuove versioni, sempre più capienti, dei propri hard disk) oppure nell'affiancare uno o più nuovi hard disk all'unità (o alle unità) già installate nel sistema;
- prestazioni velocistiche: l'utilizzo di applicazioni sempre più esigenti in termini di risorse di sistema richiede di impiegare hard disk dalle elevate prestazioni velocistiche. Le performances di un hard disk sono funzione di numerosi fattori, tra i quali la velocità di rotazione dei piatti (espressa in rpm, giri al minuto) e la densità di memorizzazione dei piatti (cioè quanti mbytes di informazioni possono essere memorizzate sui piatti per centimetro quadrato).
- sicurezza dei dati: un hard disk deve garantire, oltre alla capacità di memorizzazione e a prestazioni velocistiche nella lettura e scrittura dei dati, una elevata sicurezza dei dati, cioè che vengano minimizzati i rischi di perdite di informazioni. In generale vale la regola secondo la quale più un disco è recente, maggiori sono le tecnologie in esso applicate per la sicurezza dei dati memorizzati.
La tecnologia RAID (Redundant Array of Independent Disks) permette, in modi differenti, di intervenire su ognuno di questi aspetti. Con il termine RAID si intende la configurazione di due o più hard disk, possibilmente identici quanto a capacità di memorizzazione e tecnologia, portati a lavorare in modo sincrono, cioè legato l'uno all'altro. Tale legame può essere di forme differenti, esemplificate dalle modalità di configurazione RAID disponibili:
- RAID 0: nota anche come striping, è quella modalità che permette di "legare" tra di loro differenti dischi, facendoli vedere dal sistema come un'unica unità anche se fisicamente composta da due o più dischi. Si tratta del processo inverso rispetto al partizionare in modo multiplo un'unità: mentre in quel caso si hanno differenti partizioni, quindi unità magnetiche, utilizzando una sola unità fisica, con lo striping si ottiene un'unica unità magnetica (anche se è sempre possibile crearne più di una, partizionando) congiungendo differenti unità fisiche. Il vantaggio del RAID 0 è quello di permettere un aumento delle capacità di memorizzazione, continuando a vedere i dispositivi di memorizzazione come un'unica unità magnetica (cosa impossibile da ottenersi affiancando due hard disk non in configurazione RAID). Utilizzando lo striping la capacità dei dischi utilizzati è sempre pari a quella del più piccolo; se, ad esempio, si connettessero in striping RAID 0 tre hard disk, rispettivamente da 4, 5 e 7 Gbytes, si otterrebbe un'unica unità di capacità pari a 12 Gbytes (3x4 Gbytes), perdendo pertanto 4 Gbytes di spazio; vantaggio di questa configurazione è però nel fatto che i trasferimenti in lettura sequenziale (sustained data transfers) sono effettuati in modo più performante rispetto alla configurazione non RAID. Secondo tipo di configurazione RAID 0 è quella spanning, con la quale viene utilizzata tutta la capacità dei dischi collegati (nell'esempio precedente si ottiene un'unità di 16 Gbytes) ma perdendo i vantaggi prestazionali nei trasferimenti in lettura sequenziale di dati propri della modalità striping.
- RAID 1: noto anche come mirroring, in questa modalità i dati vengono scritti su entrambi i dischi, così che uno sia copia speculare dell'altro; qualora dovesse esserci qualche problema e/o errore di scrittura-lettura, oppure ancora perdita di dati, il sistema andrà a recuperare le informazioni sull'altro hard disk, così da garantire la continuità delle operazioni. Questa modalità massimizza la sicurezza dei dati ma porta quali inconvenienti prestazioni ridotte (sono pari a quelle di un singolo disco connesso al controller) e spreco di spazio (se sono configurati in mirroring due hard disk da 10 Gbytes ciascuno, il sistema vedrà il tutto come un'unica unità magnetica da 10 Gbytes).
- RAID 0+1: tale modalità unisce i vantaggi del mirroring con quelli dello striping; due hard disk sono connessi tra di loro in modalità striping, mentre altri due dischi ne formano il mirror. Questa soluzione permette di ottenere le elevate prestazioni proprie dello striping unitamente alla sicurezza per i dati propria della modalità mirroring.
- RAID 5: in questa configurazione due hard disk contengono i dati, mentre il controller calcola attraverso una specifica espressione matematica quella che è chiamata la copia di parity; quest'ultima contiene quelle informazioni necessarie a riscrivere le informazioni su uno dei due dischi qualora, per un qualsiasi motivo, dovessero essere danneggiate e/o perse. La copia di array viene distribuita su tutti i dischi che compongono la catena RAID.
Da segnalare che con la modalità RAID 1, in caso di rottura di un disco è possibile, a sistema funzionante, provvedere alla sostituzione dell'hard disk danneggiato, senza perdita di dati e necessità di spegnere e/o riavviare il sistema; questa funzione, nota come swapping, permette di garantire continuità nel funzionamento, caratteristica apprezzata in particolari contesti quali quelli delle workstation, nei quali è importante che il sistema non si fermi.

 

Fonte: http://www.marforio.org/appunti/sistemadielaborazionedelleinformazioni/BIOS%20-%20MB%20-%20memorie%20-%20HD%20-%20File%20system.doc

Autore del testo: non indicato nel documento di origine

 

Bios MB memorie HD File system

 

 

Visita la nostra pagina principale

 

Bios MB memorie HD File system

 

Termini d' uso e privacy

 

 

 

 

Bios MB memorie HD File system