Capitolo 4.   Il Personal Computer (parte II)

In questo capitolo completiamo l'esame dei componenti di un moderno PC occupandoci delle RAM, delle periferiche e della comunicazione tra queste ultime e l'unità centrale.

4.1   La memoria centrale dei PC

Fisicamente la memoria RAM per i PC è costituita da moduli cioè da circuiti stampati su cui sono i saldati e veri e propri chip di memoria (figura 4.1).

Figura 4.1.

figure/foto-ram

I moduli diffusi attualmente sono i DIMM (Dual Inline Memory Modules) e i SODIMM (Small Outilne DIMM) per i portatili e vanno inseriti in appositi slot sulla scheda madre (ad esempio quelli indicati con la lettera G in figura 2.1).

Tralasciando le vecchie modalità di funzionamento delle memorie RAM, come FPM (Fast Page Mode) e EDO (Extended Data Out), consideriamo le tipologie di memoria più moderne iniziando dalle SDRAM (Synchronous Dynamic RAM) che hanno costituito un punto di svolta grazie alla loro capacità di operare in sincrono con le CPU, fornendo dati ad ogni ciclo di clock.

Queste memorie vengono anche chiamate SDR (Single Data Rate) per distinguerle dalle successive DDR (Double Data Rate) che sono in grado di trasferire il doppio dei dati per ogni ciclo di clock e dalle DDR2 che trasferiscono il quadruplo dei dati.

Le frequenze delle memorie SDR erano tipicamente di 66, 100, 133 Mhz; per le DDR si parte da 266 Mhz (133 effettivi), per arrivare a 600 Mhz con una banda di trasferimento dati da 2,1 a 4,8 GBps.

Le DDR2 partono da 400 Mhz (100 effettivi) per salire fino a 800 e oltre con banda di trasferimento tra 3,2 e 6,4 GBps.

Attualmente le memorie in commercio sono le DDR2 e le DDR3 ancora più veloci e con una piedinatura (numero e dimensione dei contatti da inserire nello slot) diversa.

Fra le varie tipologie di RAM ci sono inoltre differenze sul numero e la disposizione di incavi nella piedinatura; questo per rendere impossibile l'inserimento di moduli di memoria di tipo non adeguato negli slot della scheda madre.

Riguardo alle sigle che identificano i vari moduli DIMM o SODIMM di memoria occorre prestare attenzione in quanto possiamo avere una dicitura del tipo DDR 800 accompagnata (o sostituita) da PC2 6400; nel primo caso si fa riferimento alla frequenza (non quella operativa, che si ottiene dividendo per quattro), nel secondo caso alla banda espressa in MBps.

Osserviamo infine come sia possibile utilizzare una memoria con una frequenza più alta in una scheda madre predisposta per moduli di frequenza inferiore, purché della stessa tipologia (l'operazione inversa invece è sconsigliata): ad esempio è possibile usare un modulo DDR 400 al posto di un DDR 333 anche se, ovviamente, funzionerà alla frequenza inferiore.

4.2   Le periferiche

Le unità periferiche si pongono come tramite tra il sistema di elaborazione e l’ambiente esterno; sono apparecchiature di varia natura controllate da canali o controller e da interfacce che, come abbiamo visto, sono dispositivi dotati di capacità elaborativa e in grado di gestire l'interazione tra l’unità centrale di elaborazione e le periferiche stesse (figura 4.2).

Figura 4.2.

figure/schema-periferiche

I controller sono sempre costituiti da componenti elettroniche mentre nelle periferiche possono essere presenti anche elementi elettromeccanici (si pensi ad esempio ad una tastiera oppure al motore di un disco fisso).

Nel caso di periferiche di input la parte elettromeccanica è costituita da dispositivi detti trasduttori che trasformano un movimento o una condizione esterna (posizione, temperatura ecc.) in un segnale elettrico digitale.

Nel caso di periferiche di output la parte elettromeccanica è costituita da attuatori, cioè da dispositivi che trasformano un segnale elettrico digitale in un movimento o in un’altra condizione esterna.

La parte elettronica è costituita da circuiti che servono a:

Le periferiche sono poi dotate di un data buffer che è un'area di memoria di transito in cui vengono «parcheggiati» i dati prima di essere inviati al dispositivo o dopo essere stati letti da quest'ultimo; la sua presenza è fondamentale per ovviare all'enorme differenza di velocità tra la CPU e il bus di sistema e le varie periferiche che impedisce trasferimenti sincroni tra tali entità e impone comunicazioni asincrone.

Infatti i dati da trasferire ad una periferica vengono depositati nel buffer e vengono poi gestiti con «calma» dal controller della periferica non tenendo inutilmente occupato il bus di sistema; inoltre anche nel caso di trasferimento dalla periferica all'unità centrale il buffer è importante perché può funzionare come una piccola cache.

Affinché le periferiche funzionino correttamente è poi necessario installare appositi programmi, chiamati driver, forniti insieme ai vari dispositivi o reperibili in Internet; questo a meno che il supporto per quella periferica non sia già presente nel sistema operativo utilizzato.

Le periferiche si possono suddividere in due gruppi:

Prima di occuparci delle periferiche più importanti esaminiamo le modalità secondo le quali può avvenire il dialogo tra di esse e il processore e poi le principali interfacce e controller presenti in un PC per la loro gestione.

4.2.1   Comunicazione tra processore e periferiche

I principali problemi della comunicazione tra processore e periferiche sono:

Della conversione di formato si devono occupare (tra le altre cose) i controller o i moduli di interfaccia delle periferiche.

Per quanto riguarda la questione degli indirizzi delle periferiche, chiamati anche porti, ci sono due alternative possibili:

La comunicazione tra processore e periferiche può avvenire fondamentalmente in tre modalità:

4.2.1.1   I/O programmato

In questo tipo di comunicazione i trasferimenti dei dati avvengono tramite istruzioni di I/O eseguite direttamente dalla CPU; la periferica interessata al trasferimento dei dati viene individuata con un meccanismo chiamato polling/selecting.

Il polling consiste in una interrogazione ciclica di tutte le periferiche collegate da parte della CPU in modo da selezionare (selecting) quella che vuole inviare o ricevere i dati in quel momento.

Questa modalità di comunicazione non è utilizzata nei moderni sistemi di elaborazione perché coinvolge troppo direttamente il processore, che deve adeguarsi ai tempi di risposta molto più lenti delle periferiche, provocando uno spreco del suo tempo e quindi della sua capacità di calcolo.

4.2.1.2   Le interruzioni

Per ovviare al problema appena esposto viene usato un metodo che permette alla CPU di continuare a svolgere il suo compito principale (fare calcoli) mentre le operazioni di I/O vengono gestite senza coinvolgerla direttamente; si tratta del meccanismo delle richieste di interruzione.

Una richiesta di interruzione, o più brevemente, una interruzione, è un segnale che una periferica può inviare al processore per segnalare di voler iniziare un trasferimento dati o per segnalare la conclusione di un trasferimento iniziato in precedenza.

In pratica, grazie alle interruzioni, la CPU non deve più preoccuparsi di interrogare le periferiche perché sono esse a «farsi avanti» al momento del bisogno con una opportuna IRQ, e non deve neanche sovrintendere al trasferimento dati, gestito invece dal controller della periferica, che ne segnala poi il completamento con un'altra IRQ.

In realtà nei processori Intel e compatibili esistono due tipi di interruzioni:

In entrambi i casi poi si può parlare di exception (eccezioni) che sono interruzioni dovute a eventi imprevedibili: rispettivamente guasti hardware oppure errori di programma (come la divisione per zero).

Fra le interruzioni solo quelle hardware, chiamate anche esterne, corrispondono ad un segnale che deve essere ricevuto fisicamente dalla CPU; le altre nascono al suo interno durante l'esecuzione dei programmi (e infatti si chiamano anche interne).

Nell'architettura dei processori Intel sono stati allora predisposti dei contatti (piedini) specifici per ricevere tali segnali; nella figura 4.3 è mostrata la piedinatura della CPU 8086 in cui notiamo, tra gli altri, i contatti contrassegnati con INTR (INTerrupt Request) e NMI (Not Maskable Interrupt).

Figura 4.3.

figure/figura-piedini-8086

Il primo serve a ricevere i segnali di interruzione hardware «normali», l'altro invece i segnali dovuti a guasti.

Questi ultimi sono «non mascherabili»: significa che non possono essere ignorati dalla CPU; cosa che invece può avvenire per i segnali che arrivano al piedino INTR che possono essere (momentaneamente) ignorati se viene posto a uno l'apposito bit (flag IF) del registro di stato.

Sempre in riferimento alla piedinatura dell'8086 segnaliamo anche il contatto INTA (INTerrupt Acknowledge) usato dalla CPU per inviare il segnale di «richiesta ricevuta» alla periferica.

Per poter gestire un numero adeguato di periferiche con il meccanismo degli IRQ, nell'architettura Intel è stato previsto l'uso di un chip dedicato chiamato PIC (Programmable Interrupt Controller) o integrato 8259 con il compito di interporsi tra le periferiche e la CPU 8086.

In pratica le periferiche inviano la richieste di interrupt al PIC che eventualmente le accoda in base alla loro priorità e poi invia la richiesta al piedino INTR; all'accettazione della richiesta (risposta proveniente da INTA) il PIC informa la CPU circa l'identità della periferica che ha effettuato la richiesta.

Questo possibile grazie al fatto che il PIC ha otto linee (numerate da 0 a 7) a ognuna della quali è collegata una periferica in ordine crescente di priorità.

Quando la CPU riceve la richiesta e la accetta (se le interruzioni non sono mascherate) termina l'esecuzione dell'istruzione pendente in quel momento e poi interrompe l'esecuzione del programma dedicandosi a gestire l'interruzione eseguendo un apposito programma di risposta chiamato ISR (Interrupt Service Routine).

A questo scopo utilizza una tabella chiamata IVT (Interrupt Vector Table) valorizzata dal BIOS all'avvio della macchina, in cui sono contenuti, per ogni codice di interrupt (abbinato alla linea gestita dal PIC), gli indirizzi di memoria di partenza dei relativi ISR.

Naturalmente, esaurite le operazioni previste nella risposta all'interrupt, la CPU potrà riprendere l'esecuzione del programma che aveva sospeso.

Perché questo sia possibile, prima di eseguire l'ISR la CPU effettua il salvataggio del contesto che consiste nella memorizzazione (nello stack) del valore di tutti i registri allo scopo di recuperarli quando la ISR termina.

Per avere la possibilità di gestire 15 linee di IRQ invece di 8, i PIC utilizzati sono due, collegati in cascata (il secondo è collegato alla linea IRQ2 del primo); inoltre con l'architettura IA-32 sono stati introdotti integrati più sofisticati come l'APIC (Advanced PIC) e il numero degli IRQ gestibili è aumentato insieme alle potenzialità del meccanismo.

4.2.1.3   Accesso diretto alla memoria

Il meccanismo delle interruzioni, pur essendo migliore rispetto all'I/O programmato, non è particolarmente indicato quando si devono trasferire blocchi di dati ad alta velocità; questa eventualità si presenta nel caso delle periferiche più veloci come i dischi fissi.

Si ricorre allora ad un tipo diverso di trasferimento dati chiamato I/O autonomo o DMA (Direct Memory Access); in questo tipo di comunicazione la CPU non viene coinvolta in quanto viene utilizzato un controller specifico chiamato DMAC (DMA Controller).

Inoltre può anche essere previsto un bus dati dedicato per non «interferire» con l'uso del bus dati normale; il trasferimento avviene direttamente dal disco alla memoria centrale e viceversa in modalità burst (a blocchi) o continua (alternativa conveniente solo in presenza di un bus dedicato per il DMA).

Nei PC i canali DMA disponibili sono otto, da DMA-0 a DMA-7, ma uno stesso canale può essere assegnato a più di una periferica, a patto siano usate solo una alla volta.

4.2.1.4   Periferiche Plug and Play

Sebbene con l'avvento del bus PCI sia totalmente cambiata la modalità di identificazione delle periferiche, la gestione degli interrupt è stata mantenuta per ragioni di compatibilità.

Per fortuna però, sempre con l'arrivo del PCI, è stato anche proposto uno standard denominato PnP (Plug&Play) che permette di configurare automaticamente le periferiche riguardo a:

Precedentemente quando si installava un dispositivo questi settaggi dovevano essere fatti manualmente ed era frequente imbattersi in conflitti tra periferiche diverse.

Adesso tutto questo non accade più a patto di avere chipset, BIOS, periferiche e sistema operativo, compatibili con lo standard PnP, cosa comunque sempre vera nei moderni PC.

Lo standard si è successivamente evoluto nel ACPI (Advanced Configurator and Power Interface) grazie al quale vengono assegnate le linee IRQ ai dispositivi all'accensione del sistema mantenendone alcune sempre fissi, come IRQ0 per il timer e IRQ1 per la tastiera.

4.2.2   Interfacce e controller

Dalla breve panoramica su interfacce e controller attualmente utilizzati in un PC escludiamo quelle che, come la porta seriale, la porta parallela, l'interfaccia a infrarossi, seppure ancora usate in qualche caso, stanno ormai per essere del tutto abbandonate.

4.2.2.1   Interfaccia ATA parallela

L'interfaccia ATA (Advanced Technology Attachement) è stata per molti anni la più utilizzata per il collegamento ai dischi fissi ed è divenuta anche uno standard, chiamato ATAPI (ATA Packet Interface), esteso ai dischetti e ai dispositivi ottici.

Attualmente sarebbe più opportuno denominarla PATA (Parallel ATA) per distinguerla dalla nuova interfaccia ATA seriale di cui parleremo nel prossimo paragrafo.

Spesso il termine ATA è confuso con IDE (Integrated Drive Electronics) che indica la tecnologia della parte elettronica del disco fisso; questo avviene perché, ormai da molti anni, l'elettronica dell'interfaccia è stata integrata sui dischi fissi (o sulle unità ottiche).

L'interfaccia ATA consente il collegamento di due dispositivi tramite un cavo piatto a 40 o 80 poli dotato di tre connettori di cui uno dal inserire sulla scheda madre (vedi figura 4.5); i dispositivi devono essere identificati in modo diverso (master e slave) agendo su dei ponticelli (jumper) presenti nella loro parte posteriore.

Figura 4.4.

figure/foto-cavo-pata

Le scelte possibili sono master, slave o cable select che vuol dire che il dispositivo diviene master o slave in base al connettore del cavo usato per il suo collegamento.

Il cavo a 80 poli è da preferire per collegare dischi fissi perché assicura un trasferimento dei dati più veloce e affidabile; per i lettori o masterizzatori di dischi ottici è sufficiente anche il cavo a 40 poli.

Ormai da molto tempo l'IDE si è evoluto in EIDE (Enanched IDE) e parallelamente l'ATA è divenuto ATA-2.

In ogni scheda madre sono disponibili due connettori EIDE che vengono identificati come controller primario e secondario; c'è poi un altro connettore simile per il lettore di dischetti che sta comunque cadendo in disuso (questi connettori sono indicati con le lettere H e I nella figura 2.1).

I dischi fissi e/o ottici collegabili sono quindi al massimo quattro, almeno se ci limitiamo all'uso dell'interfaccia PATA.

Con essa sono possibili tre modi differenti di comunicazione:

4.2.2.2   Interfaccia ATA seriale

L'interfaccia di collegamento SATA (Serial ATA) sta prendendo il posto della PATA e, come si capisce dal nome, prevede un trasferimento dei dati seriale anziché parallelo.

Sebbene con PATA vengano trasferiti 16 bit alla volta, la nuova interfaccia è comunque più veloce perché lavora con un clock almeno venti volte più rapido; inoltre c'è necessità di molti meno fili con una grande semplificazione della gestione dei cavi e dei connettori (si passa dai 40 o 80 fili dei cavi PATA ai 7 fili dei SATA i cui connettori sono mostrati nella figura 4.5).

Figura 4.5.

figure/foto-cavo-sata

Altri miglioramenti introdotti dal nuovo standard sono la possibilità di collegamenti hot swap (si possono collegare dischi con la macchina in funzione, o «a caldo»), l'abolizione del sistema di identificazione master-slave (ogni disco ha un suo cavo) e la possibilità di avere cavi più lunghi (2 metri contro i 45 cm dei cavi PATA).

Il tasso di trasferimento dell'interfaccia SATA è partito da 150 MBps per poi passare a 300 MBps con il nuovo SATA 2.0 e successivamente a 600 MBps.

4.2.2.3   Interfaccia SCSI

L'interfaccia SCSI (Small Computer System Interface) è abbastanza «anziana» in quanto risale al 1985 quando fu proposta per offrire prestazioni migliori rispetto ai collegamenti allora esistenti.

Per poterla utilizzare è necessario disporre di una apposita scheda di controllo, da inserire ad esempio in uno slot PCI, e di dispositivi compatibili; questo fa si che l'adozione di questa tecnologia sia abbastanza costosa (l'alternativa PATA o SATA prevede invece un più economico controller integrato nella scheda madre).

Le schede SCSI e i relativi dispositivi, in prevalenza dischi, sono stati allora usati soprattutto in macchine di fascia alta, come i server, dove sono importanti le prestazioni e soprattutto la robustezza e l'affidabilità; su tali tipi di macchine spesso il controller SCSI è integrato sulla scheda madre.

Alla scheda SCSI, denominata anche host adapter è possibile collegare, con cavi dedicati da 50 o 68 contatti, dispositivi sia interni che esterni.

Qualche anno fa una scheda SCSI era indispensabile anche nel caso si volessero usare lettori ottici (poi passati all'interfaccia PATA) e scanner (poi collegati alla porta parallela e ora alle porte USB); adesso si usa solo per pilotare dischi fissi SCSI molto prestanti e affidabili, o per gestire sistemi di dischi RAID, dei quali parleremo nel paragrafo 4.2.3.3, o anche per controllare unità a nastro magnetico.

Come molte altre tecnologie, anche lo SCSI si è evoluto nel tempo: con lo SCSI-2 è stata data la possibilità di gestire periferiche diverse dai dischi, con lo SCSI-3 si è aumentata la velocità grazie anche al DT (Double Transition) cioè al fatto che vengono fatti due trasferimenti dati per ogni ciclo di clock.

Nella tabella 4.6 vengono riassunte alcune delle versioni SCSI più importanti con l'indicazione del relativo standard «ufficiale», dell'ampiezza del bus, del tipo di connettore, della frequenza del clock, del tasso di trasferimento e del numero di periferiche gestibili.

A tale proposito si deve notare che a un controller SCSI si possono collegare più dispositivi eventualmente in cascata; nel conteggio va considerata anche la scheda di controllo stessa, quindi i dispositivi gestibili realmente sono quelli teorici meno uno.

Ognuno di essi deve essere identificato con un indirizzo univoco detto LUN (Logical Unit Number) che va da zero a sette o a quindici; per questo occorre agire su dei ponticelli presenti in ogni periferica tenendo presente che gli indirizzi più alti hanno maggiore priorità e che il più alto è solitamente riservato al controller.

Con le versioni SCSI più recenti l'indirizzamento avviene comunque in modo automatico.

Tabella 4.6

Versione Standard Bus Conn. Clock bus Tasso trasf. Perif.
SCSI-1 SCSI-1 8 bit 50 fili 5 Mhz 5 MBps 8
Wide SCSI SCSI-2 16 bit 68 fili 5 Mhz 10 MBps 16
Fast SCSI SCSI-2 8 bit 50 fili 10 Mhz 10 MBps 8
Fast Wide SCSI SCSI-2 16 bit 68 fili 10 Mhz 20 MBps 16
Ultra SCSI SCSI-3 8 bit 50 fili 20 Mhz 20 MBps 8
Wide Ultra SCSI SCSI-3 16 bit 68 fili 20 Mhz 40 MBps 16
Ultra2 SCSI SCSI-3 8 bit 50 fili 40 Mhz 40 MBps 8
Wide Ultra2 SCSI SCSI-3 16 bit 68 fili 40 Mhz 80 MBps 16
Ultra160 SCSI SCSI-3 16 bit 68 fili 40 Mhz DT 160 MBps 16
Ultra 320 SCSI SCSI-3 16 bit 68 fili 80 Mhz DT 320 MBps 16

4.2.2.4   Interfaccia USB

Con il termine USB (Universal Serial Bus) si intende un'interfaccia di nuova concezione (la proposta nasce a metà degli anni '90) pensata per il collegamento di periferiche esterne in sostituzione delle vecchie porte seriale e parallela, allo scopo di migliorarne sia le prestazioni che la comodità d'uso.

Per soddisfare la seconda richiesta sono stati proposti connettori e cavi standard che possono arrivare a 5 metri di lunghezza.

Nella figura 4.7 si vedono da sinistra a destra:

Figura 4.7.

figure/foto-usb1

Nella figura 4.8 si vedono invece un connettore di tipo A mini (a sinistra) e uno di tipo A micro.

Figura 4.8.

figure/foto-usb2

Nella figura 4.9 si vedono infine due porte USB (tipo A femmina) di un PC portatile.

Figura 4.9.

figure/foto-usb3

Il bus USB necessita di un controller, denominato anche host USB che incorpora un hub (fulcro, concentratore) USB, chiamato hub-root, dotato generalmente di due porte.

Ogni moderna scheda madre ha integrati almeno uno o due di tali controller e dovrebbe mettere a disposizione anche una piedinatura USB per dispositivi interni.

Ad un bus USB possono essere collegate fino a 127 periferiche con una organizzazione piramidale chiamata tiered stars (stelle collegate) ottenuta grazie all'uso di hub come quello di figura 4.10, in cui vediamo anche un piccolo cavo di prolunga USB.

Figura 4.10.

figure/foto-usb-hub

L'organizzazzione piramidale prevede un massimo di sette «piani» con il controller «logicamente» collocato in cima; scendendo di livello possiamo avere hub e periferiche singole, fino ad arrivare al settimo piano in cui possono esserci solo queste ultime; lo scopo degli hub è quello di aumentare la disponibilità di porte USB utilizzabili.

Il tutto può essere esemplificato nello schema della figura 4.11 che comunque rappresenta una situazione molto più complessa e articolata di quelle che si incontrano di solito nei casi concreti.

Figura 4.11.

figure/schema-usb

Il controller ovviamente ha il compito di gestire il bus e lo fa in maniera deterministica con un meccanismo di polling/selecting di cui si è accennato nel paragrafo 4.2.1.

Questa è una differenza rispetto ad altri bus, come ad esempio lo SCSI, che vengono gestiti con una politica «a contesa»; il motivo va ricercato nel fatto che molti dispositivi per cui è stato pensato USB sono multimediali e pretendono che i dati siano trasferiti ad intervalli di tempo certi e regolari pena lo scadimento della qualità delle applicazioni audio o video che usano tali dispositivi.

Infatti, a differenza di quello che avviene nel polling/selecting, nel meccanismo a contesa è il dispositivo che «prende l'iniziativa» e usa il bus quando ne ha bisogno, a patto che sia libero; in caso contrario rimane in uno stato di attesa che ha durata imprecisata (quindi si tratta di una politica di gestione non deterministica dei trasferimenti tra PC e periferiche).

Ogni periferica riceve automaticamente dal controller un indirizzo che serve ad identificarla per le operazioni di trasferimento dei dati; a tale scopo viene usato un protocollo a pacchetti:

Esaminando brevemente le caratteristiche elettriche del bus notiamo che il cavo comprende solo quattro fili di cui uno per la «terra» e uno per l'alimentazione elettrica (5 V) e due per la trasmissione dei dati, che avviene in modo bilanciato e half-duplex.

Questo significa che i dati circolano in entrambi i sensi ma alternativamente; le altre possibilità sarebbero: simplex (trasmissione possibile solo in un verso) e full-duplex (trasmissione contemporanea in entrambi i sensi).

I due fili per i dati denominati D+ e D- sono incrociati per minimizzare i disturbi; inoltre, siccome i bit vengono rappresentati da variazioni di tensione (da 0 V a +3 V e -3 V rispettivamente) contemporaneamente sui due conduttori, un eventuale rumore elettrico avrebbe effetto su entrambi, non alterando la tensione relativa fra loro e non influendo quindi sull'integrità del dato trasmesso.

Il controller ed ogni dispositivo hanno un proprio clock autonomo e c'è quindi l'esigenza di sincronizzazione tra sorgente e destinazione durante la comunicazione; allo scopo vengono inviati dei caratteri speciali (syn).

Il fatto che il cavo trasporti anche l'alimentazione è importante perché permette appunto di alimentare direttamente i dispositivi dalla porta USB; si parla in questo caso di bus powered device.

Le periferiche per cui questo è possibile sono però solo quelle che non hanno grosse esigenze di potenza in quanto la corrente disponibile è di solo 500 mA e la poptenza di 2,5 Watt, eventualmente da suddividere tra i dispositivi che fossero collegati ad un hub.

Per questo motivo quasi sempre gli hub prevedono la possibilità di una alimentazione supplementare (come si nota anche in quello mostrato nella figura 4.10); in ogni caso quando la corrente disponibile via USB non è sufficiente, la periferica deve essere collegata direttamente ad una fonte di alimentazione elettrica e in questo caso si parla di self powered device.

Altra caratteristica importante del bus USB è il fatto che permette i collegamenti a caldo dei dispositivi.

Per quanto riguarda il tasso di trasferimento dei dati occorre distinguere tra gli standard USB che si sono succeduti negli anni:

Notiamo quindi che, nonostante la velocità effettiva sia 2/3 di quella dichiarata, anche l'obiettivo di migliorare le prestazioni delle vecchie interfacce seriale (115,2 Kbps) e parallela (2,4 MBps) è pienamente raggiunto rendendo quindi fattibile il collegamento alle porte USB di periferiche veloci come gli hard disk o i dispositivi ottici.

Importante anche sottolineare che nello standard USB 3.0 sono cambiate anche le caratteristiche elettriche del bus: si passa infatti ad una corrente di 900 mA con una potenza di 4,5 Watt.

Anche i connettori sono diversi in quanto è variato il numero di fili necessari al collegamento:

Figura 4.12.

figure/foto-usb-super1

Figura 4.13.

figure/foto-usb-super2

Queste soluzioni tecniche sono state studiate per permettere di usare anche i vecchi cavi USB con i nuovi connettori e avere quindi la retro compatibilità con gli standard precedenti.

Per il futuro è in preparazione il Wireless USB che permetterà di trasferire dati senza fili (ma ovviamente senza poter trasportare l'alimentazione ai dispositivi) fino ad una distanza di dieci metri e con velocità di 480 Mbps.

4.2.2.5   Interfacce FireWire e eSata

Il bus FireWire è noto anche come standard IEEE-1394 e successivamente IEEE-1394b.

L'IEEE (Institute of Electrical and Electronic Engineer) è un'organizzazione scientifica internazionale con sede negli Stati Uniti che, fra le sue attività, ha anche quella di definire standard nei campi dell'elettronica e dell'informatica.

Anche nel caso del FireWire siamo in presenza di un bus seriale capace di raggiungere la velocità di 400 Mbps e 800 Mbps nella versione più recente; altre analogie con USB sono la lunghezza massima del cavo, sempre di cinque metri circa e la possibilità di fare collegamenti a caldo.

Ci sono però anche molte differenze:

Il bus FireWire non è comunque fortemente diffuso nel mondo dei PC (con l'eccezione dei notebook) mentre è molto utilizzato nel campo dei dispositivi multimediali e soprattutto delle videocamere digitali.

Come abbiamo notato la comunicazione tra le periferiche e il PC sta divenendo tutta di tipo seriale: infatti il bus SATA sta sostituendo PATA, le porte USB stanno soppiantando le porte parallele, oltre alle vecchie seriali.

I motivi di questo passaggio sono fondamentalmente i seguenti:

  • è richiesto un minor numero di fili con conseguente riduzione dei costi;

  • c'è minore rischio di interferenze e di errori di trasmissione.

Ovviamente però, il fatto che il circuito trasmissivo sia più semplice, comporta una gestione più complessa da parte dei controller e del relativo software.

Concludiamo citando il bus eSata (External Sata) che non è altro che la versione esterna del nuovo bus seriale di collegamento dei dischi rigidi.

Si tratta di un bus con elevate prestazioni (1,5 Gbps), paragonabili a quelle ottenibili con i dispositivi interni; la lunghezza massima del cavo è di due metri e non viene trasportata l'alimentazione, cosa che invece è prevista con la successiva versione eSatap (eSata Power).

4.2.3   Memorie ausiliarie o di massa

Abbiamo visto come la memoria centrale del sistema di elaborazione abbia la funzione di immagazzinare dati ed istruzioni durante la fase di elaborazione di un programma.

Le memorie ausiliarie invece, essendo non volatili, permettono la conservazione delle informazioni nel tempo; vengono chiamate anche memorie di massa (in inglese mass storage) perché possono contenere una grande mole di dati ed informazioni.

In base al tipo di accesso si suddividono in due grandi categorie:

Recentemente si sono aggiunte anche memorie di massa ad accesso uniforme: le memorie flash.

Le memorie ausiliarie si possono poi anche classificare secondo la tecnologia con la quale vengono realizzate e allora si parla di:

Le memorie magnetiche si basano sulla caratteristica dei campi magnetici di essere statici e semi-permanenti: possono cioè cambiare configurazione e, una volta variata, la mantengono finché qualcosa non provoca un ulteriore cambiamento (questo fa sì che esse siano riscrivibili e non volatili).

Esse vengono realizzate usando sostanze magnetizzabili, come l'ossido di ferro, disposte su supporti metallici o plastici; la superficie magnetizzabile viene suddivisa in piccolissime porzioni dette areole ognuna delle quali destinata a contenere un bit.

La testina di lettura/scrittura non tocca la superficie, si limita a sfiorarla alla minima distanza possibile (per permettere maggiore densità di memorizzazione dei dati); in fase di scrittura viene fatta circolare una corrente nella testina in modo da magnetizzare le areole, in fase di lettura il campo magnetico delle areole genera piccole correnti orientate nella testina.

Ogni areola può essere magnetizzata in senso orario oppure antiorario; quando la testina in lettura riscontrata una transazione di flusso, cioè un cambiamento da un orientamento all’altro, si associa il valore 1, in mancanza di tale transazione si associa il valore 0.

Questo modo di rappresentare i bit viene detto indiretto e viene preferito, perché più affidabile, a quello diretto, che sembrerebbe più semplice e intuitivo: magnetizzazione in un senso corrisponde al valore 0, nell'altro senso al valore 1.

Le memorie ottiche invece sfruttano la tecnologia laser per rappresentare i bit che vengono letteralmente «scolpiti» sulla superficie riflettente del supporto di memoria; in questo modo si hanno depressioni (pit) e tratti di superficie liscia (land).

La rilevazione dei dati memorizzati avviene grazie a un diodo che invia verso la superficie un fascio laser che viene riflesso verso il dispositivo di lettura nel caso colpisca un land e disperso nel caso colpisca un pit.

Anche in questo caso l'informazione viene rappresentata in modo indiretto: la transazione da pit a land o viceversa corrisponde al valore 1, la mancata transazione al valore 0.

La tecnologia ottica ha il pregio di offrire una densità di registrazione superiore rispetto a quella magnetica e anche di essere molto più resistente nel tempo (un disco ottico non può «smagnetizzarsi»), ma ha anche il difetto di non permettere la variazione delle informazioni registrate, in quanto il meccanismo di memorizzazione ora illustrato altera in maniera permanente le caratteristiche del supporto di memoria (ciò avviene ad esempio per i CD-ROM e i DVD-ROM).

Il problema è stato superato nelle memorie ottiche scrivibili (ad esempio i CD-R) e riscrivibili (ad esempio i CD-RW) nelle quali i pit non sono più delle incisioni sulla superficie del disco ma delle alterazioni, ottenute tramite surriscaldamento, della struttura cristallina di un polimero che ricopre la superficie stessa (tale alterazione è reversibile nei supporti riscrivibili); le zone alterate riflettono in modo diverso il raggio inviato del dispositivo di lettura permettendo di avere lo stesso effetto dei pit «scolpiti».

Per un supporto riscrivibile il raggio laser inviato dalla testina di lettura/scrittura ha tre potenze possibili:

4.2.3.1   Nastro magnetico

Un nastro magnetico è una striscia di materiale plastico ricoperta di ossido di ferro in esso ogni carattere viene rappresentato con 8 bit (più un bit per il controllo di parità) disposti sulla superficie del nastro stesso su 9 «piste» parallele (figura 4.14).

Figura 4.14.

figure/figura-nastro

Il dispositivo di gestione del nastro, cioè l’unità a nastri collegata al sistema di elaborazione, è dotata di una testina di lettura e scrittura in grado di leggere e modificare contemporaneamente i valori dei 9 bit corrispondenti ad un carattere, sulle 9 piste del nastro.

Il bit di parità serve per un controllo su possibili errori di lettura: il suo valore è 0 o 1 in modo da rendere sempre pari il numero di bit «1» del carattere rappresentato; in caso si presenza di un numero dispari di «1» nella codifica di un carattere, il sistema rileverebbe una situazione di errore. Questo tipo di controllo è il più semplice fra tutti quelli che vengono frequentemente effettuati sui dati memorizzati o trasmessi, ma è anche il meno efficace in quanto se si verificano due errori sullo stesso carattere il numero di «1» rimane pari e quindi non viene individuata alcuna anomalia.

I caratteri sul nastro vengono memorizzati uno a fianco all’altro, senza però occupare tutta la lunghezza magnetizzabile del supporto; sono invece suddivisi in blocchi separati da zone vuote chiamate gap.

Il ruolo dei gap è importante perché il nastro viene fatto scorrere solo quando il sistema effettua letture o scritture (altrimenti è fermo) e tali operazioni possono avvenire solo quando la velocità di scorrimento del nastro è costante; il gap serve allora serve a fare in modo che il nastro raggiunga tale velocità prima della effettuazione dell'operazione richiesta.

Quella descritta è la logica «classica» di funzionamento dei nastri chiamata anche start-stop; nel tempo poi le tecniche di memorizzazione si sono evolute e possiamo citare, senza ulteriori approfondimenti di nastri streaming (sempre in movimento), registrazione in parallelo, registrazione elicoidale, registrazione a serpentina o lineare.

I nastri magnetici sono stati i primi supporti di memoria di massa nella storia dell'informatica, sono economici e possono contenere una grossa quantità di dati, ma il fatto che consentono un accesso solo sequenziale ne limita molto l’uso in tutte le applicazioni che richiedono una grande velocità di reperimento delle informazioni o loro frequenti aggiornamenti.

Per questo i nastri vengono oggi principalmente utilizzati per fare le copie di sicurezza di archivi residenti su altri tipi di memorie (come i dischi).

Ormai da molti anni non esistono più i vecchi nastri magnetici a bobina (simili a quelli dei registratori audio degli anni '60) e sono stati sostituiti dai nastri a cartuccia (somiglianti alle musicassette) molto più comodi da usare e meno ingombranti.

Fra i più diffusi possiamo citare i sistemi DLT (Digital Linear Tape) e SuperDLT, pilotati da interfaccia SCSI e con capacità di diverse centinaia di GB.

Molti produttori hanno anche proposto dei sistemi in grado di gestire più cartucce contemporaneamente e metterle in linea o fuori linea automaticamente minimizzando il bisogno di interventi manuali; si tratta dei cosiddetti jukebox il cui funzionamento ricorda proprio quello dei vecchi jukebox musicali.

4.2.3.2   Disco fisso e dischetto

Fra i dischi magnetici si possono distinguere i dischi singoli come il floppy disk, o dischetto, e i disk-pack come il disco fisso.

Nel primo caso si ha un disco di materiale plastico, con diametro di 3,5 pollici, inserito, per proteggerlo, in un involucro di plastica più robusta, dotato di feritoia apribile per permettere l'accesso alle testine di lettura e scrittura (figura 4.15); entrambe le superfici vengono usate per memorizzare i dati.

Figura 4.15.

figure/figura-dischetto

I dischetti hanno il vantaggio di essere comodamente trasportabili, però la loro lentezza e la capacità (1,44 MB) ormai irrisoria fanno si che non vengano praticamente più usati, a vantaggio delle penne USB, ugualmente trasportabili ma molto più veloci e capienti; di conseguenza, nei moderni PC, specialmente se portatili, stanno scomparendo i lettori di floppy.

Nel disco fisso si hanno più «piatti» di alluminio o di altro materiale rigido (da cui discende l'altro nome spesso usato di «disco rigido» o hard disk) montati su un singolo asse e racchiusi in un involucro che comprende anche: le componenti elettroniche, il motore elettrico per la rotazione dei dischi e un braccio mobile, chiamato «pettine», dotato di tante testine di lettura e scrittura quante sono le facce utilizzabili per la memorizzazione.

Nella figura 4.16 vediamo un disco aperto con i piatti e una delle testine in vista; nella figura 4.17 è mostrata invece la parte posteriore con i chip di controllo.

Figura 4.16.

figure/foto-disco1

Figura 4.17.

figure/foto-disco2

Il disco fisso è collegato alla scheda madre con le interfacce (PATA, SATA, SCSI) citate in precedenza.

Il diametro dei piatti è quasi sempre di 3,5 pollici eccetto per i dischi fissi dei portatili per i quali si hanno unità da 2,5 pollici.

Sia nel dischetto che nel disco fisso le superfici sono ricoperte di materiale magnetizzabile e lo spazio è organizzato in cerchi concentrici chiamati tracce suddivise in «spicchi» chiamati settori.

Nel caso del disco fisso si parla anche di cilindri che corrispondono agli insiemi di tutte le tracce che, sulle varie superfici dei piatti, sono alla stessa distanza dal centro (figura 4.18).

Figura 4.18.

figure/figura-disco

In ogni traccia i bit dei dati sono memorizzati in sequenza su areole consecutive.

Il disco fisso rimane in rotazione per tutto il tempo in cui il sistema è acceso; questa è una differenza rispetto al floppy disk e alle unità ottiche che vengono poste in rotazione solo al momento dell'accesso.

La velocità di rotazione è molto importante perché influisce sulle prestazioni del disco: attualmente si hanno regimi di rotazione a 7.200 o 10.000 giri/minuto anche se alcuni dischi SCSI possono arrivare a 15.000

Le testine vengono spostate in senso radiale e rimangono sempre ad una distanza molto piccola dalle superfici, senza toccarle, in quanto sono sollevate da un sottile strato di aria originato dalla rotazione; quando il sistema è spento vengono «parcheggiate» in una posizione prestabilita chiamata landing zone.

L'accesso ai dati è di tipo diretto e avviene in base al loro indirizzo costituito da: numero di superficie o testina, numero di traccia o cilindro, numero di settore.

L'insieme di queste informazioni prende il nome di geometria del disco; essa viene definita con l'operazione di formattazione a basso livello, svolta in fabbrica e utile anche a marcare, come non utilizzabili, i settori difettosi.

Ogni settore ha una grandezza di 512 byte: moltiplicando per tale valore il numero di testine, cilindri e settori, si ottiene la capienza del disco fisso.

Attualmente sono in commercio modelli di dischi con capacità di alcune centinaia di GB; a tale proposito occorre però notare che la capacità dei dischi viene espressa, dalle aziende produttrici, con multipli del byte ottenuti con potenze del dieci e non del due; quindi quando acquistiamo un disco da 250 GB ci dobbiamo aspettare che contenga 250.000.000.0000 byte e non 268.435.456.000 byte (250 * 1.024 * 1.024 * 1.024).

Per rendersi conto dell'evoluzione che si è avuta anche nel campo dei dischi magnetici si può fare riferimento ad uno dei primi dispositivi di questo tipo immessi sul mercato nel 1956: il Ramac 305 della IBM; si trattava di un dispositivo grande come un armadio, dal peso di una tonnellata, con 50 piatti da 24'' a 1.200 giri/minuto, con costo di 50.000 dollari e capacità di 5 MB.

Lo spazio disponibile su un disco fisso può essere suddiviso in partizioni, dopodiché ogni partizione deve essere preparata all'uso con l'operazione di formattazione ad alto livello grazie alla quale viene definito su di essa il file system da utilizzare (ad esempio FAT32 o NTFS per Windows e Ext3 per Linux).

Una partizione può contenere solo dei dati oppure un sistema operativo; in questo caso all'inizio del suo spazio è memorizzato un programma di boot per quel sistema e la partizione si dice bootable.

Nel caso la suddivisione non venga fatta, esiste comunque una (unica) partizione, quindi la formattazione ad alto livello viene sempre fatta su partizioni e non su tutto il disco (a meno che non sia un dischetto per il quale le partizioni non sono previste).

I motivi per cui può essere utile usare più partizioni sono:

Le informazioni sulle partizioni sono conservate nel primo settore del disco, identificato da: testina 0, cilindro 0, settore 1 (la numerazione dei settori inizia da uno e non da zero) e precisamente nel MBR (Master Boot Sector).

L'MBR contiene la parte iniziale del boot loader o boot manager (programmi che gestiscono le prime fasi del caricamento del sistema operativo all'accensione della macchina) e una tabella chiamata tabella delle partizioni.

Essa è costituita da 4 righe, di 16 byte ciascuna, che descrivono ognuna una eventuale partizione; le partizioni possono essere quindi al massimo quattro.

Questo limite non era problematico all'epoca dei primi dischi fissi per i PC (metà anni '80) che avevano capacità di qualche MB e per i quali non aveva molto senso prevedere un grosso numero di partizioni.

Successivamente è divenuto sempre più importante riuscire a definire più di quattro partizioni su un hard disk e si è quindi intervenuti nel modo seguente: una delle quattro partizioni «normali» chiamate primarie può essere definita come partizione estesa e contenere al suo interno un numero illimitato di partizioni logiche.

Non forniamo qui ulteriori dettagli su come questo meccanismo venga gestito; segnaliamo solo che i sistemi operativi Windows sono in grado di attivarsi correttamente solo se installati su partizioni primarie.

4.2.3.3   Dischi RAID

I sistemi di dischi RAID (Redundant Array of Indipendent Disks) nascono negli anni '80 allo scopo di risparmiare riutilizzando dischi a basso costo gestendoli come una unica unità di memoria di massa; all'epoca infatti la «I» dell'acronimo stava per «Inexpensive» (poco costosi).

Adesso l'accento non è più posto sul risparmio (un moderno sistema RAID è anzi abbastanza costoso) ma sul miglioramento delle prestazioni, sull'integrità dei dati, la tolleranza ai guasti.

La gestione può essere fatta via hardware (solitamente con controller SCSI) o via software a carico del sistema operativo; ovviamente la prima soluzione è da preferire, anche se più costosa, perché permette di avere prestazioni migliori e funzionalità aggiuntive come la possibilità di sostituire a caldo i dischi.

Recentemente, con i nuovi chipset associati alle CPU di ultima generazione Core i7 di Intel e Phenom II di AMD si hanno a disposizione dei southbridge che incorporano il supporto alle più comuni configurazioni RAID e sono in grado di gestire sei connettori Sata II da 3 Gbps da usare a tale scopo.

I southbridge in questione sono Ich10R per Intel e SB750 per AMD e sono associati ai chipset X58 e 790FX o 790GX rispettivamente.

Grazie a questi nuovi componenti è possibile usufruire della tecnologia RAID anche in sistemi di fascia media avendo prestazioni migliori rispetto alla gestione RAID via software; la soluzione con controller SCSI dedicato rimane invece da preferire per i sistemi di fascia alta.

Parlando di tecnologia RAID occorre distinguere varie tipologie o livelli che si possono suddividere in livelli RAID standard e livelli RAID annidati (uso contemporaneo di livelli standard).

Per quanto riguarda i livelli standard, i più importanti e usati sono:

Nello striping si ha l'uso di più dischi che vengono virtualmente uniti per formare un disco grande quanto la somma dei dischi componenti; i dati vengono suddivisi a strisce (stripes) e ogni striscia è memorizzata in un disco diverso (figura 4.19).

Figura 4.19.

figure/figura-raid0

In questo modo si ottimizza la velocità di accesso perché le letture o le scritture vengono fatte in contemporanea su più dischi.

L'affidabilità invece non aumenta e addirittura diminuisce in quanto, usando più dischi, aumenta la probabilità che uno di essi si guasti, causando la perdita di tutti i dati; in altre parole, il parametro MTBF (Mean Time Between Failures), cioè il tempo medio tra due guasti, che dovrebbe essere il più alto possibile, diminuisce aumentando il numero di dischi impiegati.

Nel mirroring (figura 4.20) si usano un numero pari di dischi in modo da avere una doppia copia degli stessi dati; in questo caso si privilegia ovviamente l'affidabilità e, in piccola parte, la velocità almeno in lettura (i dati possono essere letti da più dischi contemporaneamente).

Figura 4.20.

figure/figura-raid1

Ulteriore incremento di affidabilità si ha con il duplexing nel quale viene duplicato anche il controller SCSI.

Il problema è lo spreco di spazio in quanto con il mirroring si ha a effettivamente a disposizione solo la metà della capacità totale disponibile.

Con il RAID 5, che è uno dei sistemi più usati, i dati vengono memorizzati come nel RAID 0 ma in più vengono calcolati e immagazzinati, sempre su dischi diversi, anche dei dati di parità (figura 4.21); grazie ad essi è possibile sopperire all'improvvisa mancanza per guasto di uno dei dischi.

Figura 4.21.

figure/figura-raid5

I dati mancanti infatti vengono ricalcolati automaticamente, a prezzo, ovviamente, di un certo rallentamento nel funzionamento del sistema.

Siccome poi è possibile la sostituzione a caldo dei dischi, il disco rotto può essere cambiato con uno nuovo e, dopo poco tempo, il sistema torna a pieno regime nella situazione precedente al guasto.

Se i dischi che si guastano sono invece due, il RAID 5 non è più efficace; per questo motivo non è bene usare più di 14 dischi perché oltre questo valore aumenta troppo la probabilità di guasto contemporaneo di due dischi.

Il numero minimo di dischi da usare è invece di tre e i dischi devono essere identici.

Il RAID 6 funziona come il RAID 5 ma ha un meccanismo di doppia parità che permette di sopportare anche il guasto contemporaneo di due dischi.

I livelli RAID annidati più usati sono:

Figura 4.22.

figure/figura-raid01

Figura 4.23.

figure/figura-raid10

4.2.3.4   Unità ottiche

La prima memoria di tipo ottico ad avere una grossa diffusione è stata il CD-ROM (Compact Disc - Read Only Memory) diretto discendente dei CD-DA (CD Digital Audio) proposti dalla Sony e dalla Philips nel 1982 allo scopo di sostituire i dischi in vinile come supporto per la diffusione e la commercializzazione della musica.

Il supporto è costituito da un disco trasportabile di 12 cm di diametro di materiale plastico rivestito di oro o alluminio riflettente e da uno strato protettivo (figura 4.24); queste caratteristiche sono rimaste costanti in tutte le successive evoluzioni delle memorie ottiche (CD-R, CD-RW, DVD ecc.).

Figura 4.24.

figure/foto-cd

I dati vengono registrati usando pit e land, come illustrato nel paragrafo 4.13, sfruttando solo una delle superfici (solitamente quella inferiore, libera da etichette, scritte ecc.).

La memorizzazione avviene su una traccia suddivisa in settori e avvolta a spirale; tale spirale inizia al centro del disco e arriva al bordo dopo un percorso di quasi cinque km.

La masterizzazione dei CD-DA e dei CD-ROM avviene in fabbrica: nel primo caso, viene memorizzata sul supporto musica digitalizzata, nel secondo caso, dati e informazioni gestibili da un computer.

Un CD-ROM può quindi essere solo letto usando un'apposita unità collegata alla scheda madre; per poter avere supporti anche scrivibili e riscrivibili sono stati proposti rispettivamente i CD-R (CD Recordable) e i CD-RW (CD ReWritable).

La tecnologia che ha reso possibile la masterizzazione «casalinga» di questi supporti è stata brevemente accennata nel paragrafo 4.13; naturalmente per essere in grado di effettuarla non basta più avere un lettore di CD ma serve un masterizzatore (che conserva comunque la capacità di leggere CD-ROM, CD-R, CD-RW).

La capacità; di questo tipo di supporti è stata in partenza di 650 MB o 74 minuti di musica, ma è poi passata, sfruttando in modo migliore lo spazio vicino al bordo del disco, a 700 MB o 80 minuti.

In commercio si trovano anche dischi che superano questi limiti ma la loro affidabilità non è garantita, anche perché non è detto possano essere scritti e riletti regolarmente dalla maggior parte dei masterizzatori in circolazione.

Un passo avanti importante nel campo dei supporti ottici si è avuto con l'avvento dei DVD (Digital Video Disk o Digital Versatile Disk), motivato anche stavolta da ragioni «multimediali», in questo caso dal mondo del cinema; il DVD infatti è stato proposto per poter contenere un film digitalizzato della lunghezza di 133 minuti compresso con l'algoritmo MPEG-2, con audio stereo e sottotitoli in più lingue.

Il formato fisico del disco è lo stesso del CD-ROM ma aumenta molto la densità di memorizzazione; i bracci della spirale distano 0,74 micron contro 1,6 dei CD e si arriva a poter contenere 4,7 GB di dati.

Anche per i DVD si è avuta una evoluzione simile a quella dei CD e quindi dopo i DVD-ROM sono comparsi:

La tecnologia dei DVD+R e DVD+RW è leggermente diversa da quella dei CD-R, CD-RW, DVD-R, DVD-RW in quanto prevede che le zone colpite dal raggio di scrittura diventino momentaneamente liquide per poi solidificare subito dopo con una strutture diversa, anziché basarsi su alterazioni della struttura cristallina come accennato nel paragrafo 4.2.3; questa differenza non porta conseguenze a livello pratico anche perché tutti i lettori e masterizzatori prevedono la gestione di entrambe le categorie di supporti.

Per aumentare ulteriormente la capacità dei DVD sono stati proposti:

Un moderno lettore di DVD dovrebbe essere in grado di leggere, e un moderno masterizzatore di DVD di scrivere e leggere, tutte le tipologie di CD e di DVD con l'eccezione dei DVD-RAM.

Essi infatti sono dischi, riscrivibili fino a 100.000 volte, proposti da Panasonic che si sono diffusi soprattutto come supporto per le videocamere digitali e che prevedono la possibilità di essere usati in modo simile agli hard disk (tra l'altro in essi non c'è la traccia avvolta a spirale); difficilmente un lettore o masterizzatore di «normali» DVD è in grado di gestire questi supporti.

L'accesso ai dischi ottici è sequenziale come per i nastri magnetici, anche se la tecnologia usata lo rende più veloce rispetto a questi ultimi; riguardo alla velocità si fa spesso riferimento a dei fattori di moltiplicazione, relativi alle prestazioni in lettura, scrittura e riscrittura, che si basano su un valore assunto come base di partenza.

Per i CD tale velocità di base (1X) è di 150 KBps, corrispondente alla velocità dei lettori dei CD-Audio, per i DVD invece il parametro 1X corrisponde a 1350 KBps; quindi un lettore di CD 52X e un lettore di DVD 16X (valori consueti per i moderni dispositivi), leggono rispettivamente alle velocità di 7.800 e 21.600 KBps.

Il file system standard per i CD e i DVD è l'ISO 9660 che è supportato da tutti gli attuali sistemi operativi.

ISO (International Standard Organization) è l'organizzazione che definisce vari standard a livello mondiale.

Con l'ISO 9660 ci sono delle limitazioni per quanto riguarda i supporti riscrivibili perché non è supportata la modifica dei dati; si può però usare la scrittura di sessioni multiple che consiste nel masterizzare dati aggiungendoli ai precedenti.

In questo modo però si sprecano circa 40 MB di spazio per ogni sessione aggiunta.

Una soluzione migliore è il file system UDF (Universal Disk Format) che permette di trattare il supporto riscrivibile come se fosse un dischetto magnetico con libertà di aggiunta e cancellazione di file; questa soluzione (packet writing) però non è standard e alcuni sistemi operativi non la supportano obbligando l'utente a ricorrere a programmi aggiuntivi per la sua gestione.

Per il futuro, la nuova tecnologia ottica è il Blu-Ray della Sony, con la quale i dischi arrivano a capacità di 27 GB per lato; il nome è dovuto al fatto che il raggio luminoso usato per la lettura è di colore blu, anziché il consueto rosso.

L'aumento di capacità è dovuto principalmente all'assottigliarsi dello strato trasparente protettivo sulla superficie del disco che passa da 0,6 mm a 0,1 mm; in questo modo il laser deve attraversare meno materiale prima di raggiungere il substrato di memorizzazione e quindi il raggio luminoso soffre di minore diffusione permettendo una densità di memorizzazione (vicinanza tra pit e land) molto maggiore.

I dischi Blu-Ray sono già apparsi sul mercato con la nuova console di videogiochi Playstation 3 e hanno vinto una dura battaglia, per imporsi come nuovo standard, contro gli HD DVD (High Definition DVD), proposti da Toshiba, Sanyo e Nec, maggiormente compatibili con i vecchi DVD, soprattutto a livello di tecnologia di realizzazione (con possibilità quindi di riciclare gli impianti di fabbricazione), ma con capacità inferiore (20 GB per lato).

Anche stavolta lo standard è stato imposto dal mondo dello spettacolo: i nuovi DVD devono contenere film di due ore, in alta definizione, con audio di alta qualità (sistemi 5+1 o 7+1); la vittoria di Blu-Ray su HD DVD si è avuta proprio quando tutte le maggiori aziende cinematografiche hanno scelto la soluzione proposta da Sony come supporto per la commercializzazione dei loro prodotti.

Questa è stata anche una rivincita per l'azienda giapponese che uscì sconfitta, ad inizio anni '80, in una battaglia simile per i videoregistratori: la tecnologia VHS fu preferita alla Betamax di Sony, da molti ritenuta migliore e diffusasi poi solo in Giappone.

Per quanto riguarda il mondo dei PC, solo da poco sono disponibili lettori e masterizzatori per dischi Blu-Ray, ma il loro costo, come quello dei dischi stessi, è ancora abbastanza alto.

4.2.3.5   Memorie flash e unità SSD

Le memorie flash si stanno diffondendo sempre di più fra le memorie di massa; sono in pratica delle memorie ROM che però possono essere riscritte (quindi sono EEPROM) molte migliaia di volte.

I loro punti di forza sono l'economicità, la comodità di trasporto e la velocità di accesso.

Possiamo suddividere questa famiglia di dispositivi in tre categorie:

Soffermiamoci brevemente proprio sugli SSD, che stanno assumendo un ruolo sempre più importante in virtù di una serie di caratteristiche molto positive che possono essere così riassunte:

I vantaggi appena elencati giustificano l'utilizzo di questo tipo di memorie di massa soprattutto nel settore dei notebook e principalmente per i modelli mini denominati anche netbook, macchine dedicate principalmente alla connettività e all'uso in movimento, per le quali i bassi consumi e la rapidità di avvio sono fondamentali.

Per quanto riguarda la velocità di trasferimento sequenziale dei dati non si riscontrano grossi vantaggi da parte delle memorie SSD che in qualche caso sono ancora superate da dischi fissi di buona qualità e con elevato regime di rotazione.

I problemi più gravi degli SSD sono però i costi, ancora molto elevati, e le capacità, abbastanza basse; entrambi i difetti sono presumibilmente destinati a scomparire nei prossimi mesi.

Esistono due tecnologie che sono alla base della realizzazione delle celle di memoria flash degli SSD:

La tecnologia MLC permette ovviamente di avere memorie più capienti (si superano ormai i 100 GB) ma anche molto più lente specie in scrittura (anche di tre, quattro volte); infatti per scrivere un dato in una cella occorre prima svuotarla del dato precedente, poi verificarne lo svuotamento, quindi scrivere il nuovo dato, per un totale di tre operazioni.

Con la tecnologia SLC tutto questo non è necessario e quindi si ha una velocità di accesso superiore; la capacità degli SSD di questo tipo si attesta sui 32 GB, per capacità maggiori i costi sono, al momento, proibitivi.

4.2.3.6   Gerarchia delle memorie

Si parla di gerarchia delle memorie per fare riferimento ad una classificazione in cui si rappresentano i vari tipi di memorie informatiche sulla base di alcune loro caratteristiche importanti, quasi sempre la velocità e il costo.

Tale gerarchia può essere rappresentata schematicamente come mostrato nella figura 4.28.

Figura 4.28.

figure/schema-gerarchia-memorie

Osserviamo che, nello schema, la capacità cresce dall'alto verso il basso ma con qualche piccola eccezione: la EEPROM usata in un PC è infatti in quantità inferiore rispetto alla DRAM.

Riguardo alla velocità sottolineiamo che l'unica memoria che «regge il passo» della CPU è la memoria locale, tutte le altre sono più lente; già la memoria centrale, che pure è velocissima, è circa 200 volte più lenta della CPU.

Infine occorre notare che i passaggi dati avvengono preferibilmente, ma non esclusivamente, tra memorie appartenenti a livelli adiacenti della gerarchia e che le differenze di velocità tra i vari tipi di memoria introducono, come accennato varie volte in precedenza, grosse problematiche per il progetto del sistema di elaborazione.

Nella tabella 4.29 vengono riassunti i valori indicativi relativi a dimensioni, tempo di accesso e velocità di trasferimento (in MBps, con eventuale indicazione della quantità di byte trasferiti in parallelo) di alcuni tipi di memoria (tali valori si riferiscono al periodo di diffusione degli ultimi processori Pentium IV e i primi con core multipli (tra il 2006 e il 2008).

Tabella 4.29

Tipo di memoria Dimensione Tempo di acc. Velocità di trasf. (in MBps)
Registri < 1 KB < 0,01 ns 400.000 o 800.000 (4 o 8 byte)
Cache L1 Alcuni KB 0,16 ns 192.000 (32 o 64 byte)
Cache L2 Alcuni MB 0,3 ns 96.000 (32 byte)
DRAM 2 - 4 GB 2 ns 3.000
EEPROM Centinaia di KB 60-100 ns 50-100
SSD (SLC) 32 GB 0,1 ms 120 (read) 80 (write)
SSD (MLC) 128 GB 0,5 ms 100 (read) 30 (write)
Hard disk (SCSI) Centinaia di GB 5 ms 200
DVD (lettura) 8,5 GB 100 ms circa > 20
Nastro Alcuni TB > 100 ms 1

4.2.4   Periferiche di I/O

In questo paragrafo facciamo una rapida panoramica sulle più importanti periferiche di I/O, con qualche approfondimento solo per le stampanti e i dispositivi di visualizzazione (monitor e scheda video).

4.2.4.1   Tastiera e mouse

La tastiera e il mouse sono ormai dispositivi la cui tecnologia è molto consolidata; le uniche novità che si sono avute negli ultimi anni sono dovute al lancio di modelli senza fili (prima a infrarossi, adesso con tecnologia bluetooth) e, nel caso dei mouse, alla sostituzione dei modelli dotati di rotellina con quelli ottici, più precisi e in grado di funzionare su qualsiasi superficie anche senza «tappetino».

Recentemente sono apparse in commercio tastiere con vari tasti speciali e mouse con rotellina aggiunta ai consueti due o tre pulsanti allo scopo di facilitare lo scorrimento dei documenti aperti a video; queste novità possono essere sfruttate però solo se il sistema operativo e/o i programmi utilizzati prevedono la loro gestione (eventualmente grazie all'installazione di opportuni driver).

4.2.4.2   Scanner

Lo scanner è uno strumento che consente di digitalizzare vari tipi di documenti contenenti testi o immagini in bianco e nero e a colori.

I documenti, così trasformati in segnali binari, possono essere manipolati dal computer, ad esempio con programmi di grafica o con programmi OCR (Optical Character Recogniction) per il riconoscimento del testo, e memorizzati nelle sue memorie ausiliarie.

Fisicamente lo scanner è simile ad una fotocopiatrice (figura 4.30) ed è caratterizzato da:

Più alti sono tali valori, migliore è la qualità dell'immagine catturata.

Figura 4.30.

figure/foto-scanner

In molti scanner le risoluzioni trasversale e longitudinale sono diverse: la prima dipende dalla distanza tra i sensori ottici, l'altra dal movimento degli stessi; valori abbastanza tipici sono 1200 x 2400 dpi.

Esiste poi la risoluzione interpolata grazie alla quale si ottengono, via software, immagini con più punti di quelli previsti dalla risoluzione ottica calcolandoli appunto con metodi di interpolazione; ovviamente però, per valutare la qualità dello scanner, è opportuno fare riferimento solo alla risoluzione ottica e alla profondità di colore.

4.2.4.3   Scheda video e monitor

Il sistema video di un PC è costituito da un monitor e da un controller, denominato scheda video.

Le immagini rappresentate sul monitor sono formate da punti o pixel il cui numero fornisce la risoluzione, espressa indicando la quantità di pixel in orizzontale moltiplicata per quella in verticale.

Altro parametro importante è la profondità di colore che dipende, insieme alla risoluzione, dalle caratteristiche della scheda video e principalmente dalla memoria RAM che quest'ultima possiede.

Lo standard più importante per le schede video è il VGA (Video Graphics Adapter); nella figura 4.31, è mostrata la relativa porta, alla quale si collega il cavo proveniente dal monitor.

Figura 4.31.

figure/foto-vga

Lo standard prevedeva in origine una risoluzione di 640 x 480 pixel ma si è poi evoluto nel seguente modo:

Questo per quanto riguarda le risoluzioni tradizionali dette «4:3»; ci sono poi le risoluzioni «panoramiche» o «16:9» o «16:10»:

Una moderna scheda video si collega sulla scheda madre allo slot AGP oppure ad un PCI-Express e possiede al suo interno quattro componenti fondamentali:

Nella figura 4.32 vediamo una scheda video in cui si distinguono la presa VGA cui collegare il monitor, la GPU nascosta dal dissipatore di calore e, all'estrema sinistra, i chip di memoria.

Figura 4.32.

figure/foto-scheda-video

Occorre far notare che nei modelli di PC più economici, o per i quali le prestazioni grafiche non sono fondamentali, le funzioni della scheda grafica sono integrate direttamente sulla scheda madre; in questi casi una parte della RAM del sistema viene usata per le elaborazioni grafiche ed è questo il motivo per cui in molti PC di fascia bassa si riscontra un quantitativo di memoria centrale disponibile per i programmi e il sistema operativo inferiore a quello effettivamente presente sulla macchina.

Il monitor è la principale periferica di output anche se ha a che vedere pure con la fase di input perché visualizza quanto digitato da tastiera e gli spostamenti del puntatore associati ai movimenti del mouse.

I monitor più utilizzati fino a qualche tempo fa erano quelli CRT (Cathode Ray Tube), basati sulla stessa tecnologia degli apparecchi televisivi (figura 4.33), ma ormai sempre più soppiantati (come avviene d'altronde anche nel mercato dei televisori) dai modelli LCD (Liquid Crystal Display).

Figura 4.33.

figure/figura-monitor

Questi ultimi in precedenza erano usati solo per i PC portatili ma, con la continua discesa dei prezzi, sono divenuti la scelta migliore anche per i sistemi desktop (da tavolo) in quanto comportano un ingombro nettamente inferiore.

La tecnologia attuale di monitor LCD è quella a matrice attiva o TFT (Thin Film Transistor) che ha permesso di superare i gravi limiti della precedente denominata a matrice passiva.

Non entriamo qui nei dettagli di funzionamento delle tecnologie CRT e LCD ma forniamo solo alcune informazioni generali e la descrizione di qualche parametro che influisce sulla qualità delle immagini visualizzate.

Prima di tutto ripetiamo che per lungo tempo le schede grafiche hanno inviato ai monitor un segnale VGA analogico; questo per i monitor CRT non costituiva un problema, visto che sono dispositivi analogici, per gli LCD è invece necessaria una ulteriore conversione del segnale da analogico a digitale (ricordiamo che in origine i dati sono digitali e vengono trasformati in analogici dal RAMDAC della scheda video).

Per evitare questa doppia conversione, e considerando che ormai la gran parte dei monitor è di tipo LCD, in molte schede video, soprattutto nei portatili, è previsto l'uso dell'interfaccia DVI (Digital Visual Interface) per fornire un flusso di dati digitale al monitor.

Nei monitor i colori vengono ottenuto con il cosiddetto metodo additivo che consiste nel creare un colore sommando varie quantità dei tre colori fondamentali: Red, Green, Blu, da cui la sigla RGB.

Il metodo si chiama additivo perché i colori più luminosi si ottengono aggiungendo percentuali maggiori dei tre componenti fondamentali; in particolare se si aggiungono percentuali pari a zero si ottiene il nero, se pari al cento per cento si ottiene il bianco.

Il metodo additivo è usato nei monitor e nello scanner perché sono dispositivi in grado di emettere luce; diverso sarà il caso delle stampanti per le quali si parlerà di metodo sottrattivo (vedi paragrafo 4.2.4.4).

Una considerazione importante da fare è che non si può utilizzare un apparecchio televisivo al posto di un monitor o viceversa, in quanto il segnale inviato al monitor è costituito da tre canali R, G, B separati più due segnali per il sincronismo mentre le TV gestiscono un segnale unico che comprende tutte le informazioni e che infatti viene detto RGB composito; naturalmente, in caso di bisogno, si può ricorrere ad appositi convertitori di segnale.

I parametri da tenere maggiormente in considerazione per valutare la qualità di un monitor sono i seguenti:

4.2.4.4   Stampante

La stampante è un'importante periferica di output che permette di ottenere i risultati delle elaborazioni su carta (hardcopy che si contrappone alla softcopy ottenibile sullo schermo); il costante abbassamento dei prezzi e i continui progressi tecnologici hanno fatto si che il suo utilizzo sia divenuto praticamente universale e con standard qualitativi molto elevati.

Le stampanti si possono classificare in vari modi; una prima distinzione che possiamo fare è in base alla tecnologia di stampa:

Un'altra classificazione è in base alla tecnica di trasferimento:

Infine possiamo avere una classificazione in base alla tecnica per definire il carattere:

Figura 4.34.

figure/figura-matrice-punti

I parametri più importanti per decidere sulla qualità di una stampante sono la sua velocità la risoluzione di stampa espressa in dpi; riguardo al tipo di collegamento invece non ci sono grosse considerazioni da fare in quanto ormai tutte le stampanti prevedono il collegamento porte USB in sostituzione di quello parallelo.

Una osservazione interessante riguarda il modo con cui vengono formati i colori nel caso della stampa: viene usato il metodo sottrattivo, basato sull'assorbimento della luce, secondo il quale ogni colore è ottenuto combinando quantità variabili dei colori fondamentali Cyan, Magenta, Yellow (da cui la sigla CMY) la cui somma globale fornisce il nero.

Spesso però, per aumentare la qualità delle stampe dei caratteri del testo, viene aggiunto anche il nero come colore autonomo (la sigla diviene quindi CMYK dove K sta per blacK) e si parla di quadricromia anziché di tricromia; in caso di stampanti di alta qualità si può poi avere un numero ancora maggiore di inchiostri (esacromia).

vediamo adesso quali sono i tipi di stampanti più diffuse attualmente o nel recente passato:

Figura 4.35.

figure/foto-stampante-getto

Figura 4.36.

figure/foto-stampante-laser

Figura 4.37.

figure/foto-stampante-sublimazione

4.2.5   Interfacce di rete, modem e bluetooth

In questo paragrafo esaminiamo velocemente le interfacce di rete il cui controller è integrato in tutte le moderne schede madre al pari del modem e accenniamo brevemente alla tecnologia bluetooth.

Il fatto che il controller della scheda di rete e il modem siano integrati non pregiudica la possibilità di installare, su slot PCI, schede di rete migliori o aggiuntive e di usare schede modem, oppure modem esterni, USB o seriali.

Nella figura 4.38 vediamo a sinistra la connessione RJ-45 per il cavo di rete e a destra la RJ-11 per il cavo telefonico del modem.

Figura 4.38.

figure/foto-eth-modem

In realtà spesso i modem integrati sono addirittura emulati via software e questo può costituire un problema se si vuole usare la macchina con sistemi operativi che non riconoscono queste periferiche «fittizie»; accade infatti spesso che esse siano correttamente supportate dalle varie versioni di Windows ma non da altri sistemi come Linux.

Riguardo ai dispositivi di rete accenniamo solo che si fa sempre riferimento a reti LAN (Local Area Network) di tipo Ethernet e Wi-Fi (Wireless Fidelity), che sono di gran lunga le più diffuse.

Nel primo caso è necessario un cavo di rete per collegare il PC ad un dispositivo chiamato switch, dotato di un numero di porte che va da 4 a 48, a cui saranno collegati anche gli altri dispositivi della rete; nel secondo caso è necessaria la presenza, nel raggio di qualche decina di metri, di un access point, dotato di antenna, che permette le comunicazioni tra i vari nodi della rete Wi-Fi.

Nella figura 4.39 vediamo un switch a 8 porte con un cavo di rete; nella figura 4.40 invece è mostrato un access point.

Figura 4.39.

figure/foto-switch

Figura 4.40.

figure/foto-access-point

In questa sede non forniamo ulteriori approfondimenti su questi aspetti che necessitano della conoscenza almeno delle nozioni di base sulla struttura e il funzionamento dell'hardware e del software di rete, argomenti che non possono essere assolutamente «liquidati» in poche righe.

Parlando di reti LAN può comunque valere la pena di citare due esempi di periferiche di rete, un po' particolari, che però sono sempre più usate:

Nei PC portatili di ultima generazione sono spesso integrate anche le interfacce Wi-Fi e bluetooth; in caso contrario si può ricorrere a comodi dispositivi simili alle penne USB di cui vediamo esempi nella figura 4.41 (la scheda wireless è quella a sinistra).

Figura 4.41.

figure/foto-wireless-bluetooth

La tecnologia bluetooth è senza fili come il Wi-Fi ma si rivolge ad un altro tipo di utilizzo; in questo caso si parla infatti di PAN (Personal Area Network) per indicare tutti quei dispositivi di uso personale come telefonini, palm top, auricolari, ma anche tastiere e mouse, che gravitano in uno spazio molto ristretto (qualche metro) «intorno all'utente» e che sfruttano questa tecnologia per interconnettersi.

Concludiamo parlando del MODEM (MOdulatore-DEModulatore); si tratta di un dispositivo (vedi figura 4.42) che permette il collegamento tra computer fisicamente distanti usando le normali linee telefoniche in quanto trasforma (in un modo che qui non approfondiamo) i segnali digitali (bit), propri degli elaboratori, in segnali analogici adatti a essere trasportati su tali linee (originariamente progettate per la comunicazione vocale).

Figura 4.42.

figure/foto-modem

Se due computer distanti (chiamiamoli C1 e C2) si devono scambiare informazioni saranno necessari due modem (rispettivamente M1 e M2), uno per ogni elaboratore, collegati alla linea telefonica; se il computer C1 invia un messaggio questo sarà convertito (modulato) in analogico da M1 e instradato sulla linea; all'arrivo presso C2 il messaggio viene riconvertito (demodulato) in digitale da M2.

Se è C2 a inviare un messaggio i ruoli dei dispositivi sono naturalmente invertiti.

I modem si classificano secondo la loro velocità, misurata in base ai bit al secondo che riescono ad inviare o ricevere; gli apparecchi di ultima generazione arrivano a 55.600 bps ed i loro prezzi sono ormai molto bassi (poche decine di euro).

Da qualche tempo è possibile collegarsi al provider anche con l'ADSL (Asymmetric Digital Subscriber Line), che sfrutta, nelle zone raggiunte dal servizio, le normali linee telefoniche.

In tal caso si possono raggiungere velocità tra i 640.000 e i 20.000.000 bps in download (trasferimento dei dati dal provider al nostro computer) e tra i 128.000 e i 512.000 bps in upload (trasferimento inverso); ovviamente gli abbonamenti ADSL sono tutti a pagamento.

Anche per l'ADSL è necessario un dispositivo aggiuntivo che può essere un modem ADSL USB oppure un router ADSL (vedi figura 4.43 in cui sono mostrati anche il cavo e la presa telefonica) a cui ci si collega con un cavo di rete; la seconda alternativa è migliore perché spesso il router ADSL ha anche funzioni di switch (con almeno quattro porte) e talvolta pure di access point Wi-Fi, a costi sempre abbastanza contenuti.

Figura 4.43.

figure/foto-router-adsl

Nel caso del modem ADSL, usare il termine «modem» è comunque scorretto in quanto si tratta solo di un adattatore; infatti non è necessaria alcuna modulazione o demodulazione data la natura digitale dei segnali ADSL.

4.3   Il BIOS

Il BIOS (Basic Input Output System) è un componente fondamentale del sistema di elaborazione ed è costituito da un insieme di programmi residenti nella memoria ROM del sistema.

Il motivo per cui essi risiedono in tale tipo di memoria è che devono entrare in azione appena accesa la macchina, momento nel quale la memoria RAM, essendo volatile, ha un contenuto impredicibile e comunque non «utilizzabile» e le memorie di massa non sono state ancora «riconosciute».

In verità, nei sistemi moderni, il BIOS risiede in una memoria EEPROM in modo che sia possibile aggiornarlo (operazione da compiere sempre con attenzione, consultando il sito della casa produttrice del BIOS e il manuale della scheda madre).

Subito dopo l'accensione, comunque, il BIOS viene copiato in RAM perché essa ha tempo di accesso inferiori rispetto alla ROM e quindi le operazioni vengono eseguite più rapidamente.

Il primo compito svolto da questo insieme di programmi è l'auto diagnostica o POST (Power On Self Test) che consiste in un rapido controllo di quasi tutti i dispositivi del sistema di elaborazione; eventuali problemi in questa fase possono anche bloccare il processo di avvio: si provi ad esempio a accendere un PC con la tastiera non collegata.

Durante questa fase di controllo, i vari dispositivi (eccetto quelli che hanno un BIOS «autonomo» come le schede video o le schede SCSI) vengono inizializzati in base alle informazioni contenute in una porzione di RAM chiamata CMOS (Complementary Metal Oxide Semiconductor).

Quest’ultima è una piccola memoria che non perde il suo contenuto perché alimentata da una batteria a bottone che si ricarica quando la macchina è accesa, salvo esaurirsi dopo qualche anno, necessitando di sostituzione (vedi figura 2.1, lettera J).

Grazie alla presenza di questa batteria i PC sono anche in grado di tenere aggiornata data e ora di sistema che altrimenti all'accensione si riposizionerebbe sempre a zero che corrisponde a 01/01/1980 per i sistemi DOS/Windows e a 01/01/1970 per i sistemi Unix/Linux (sono le date indicative in cui sono stati rispettivamente create le prime versioni di queste famiglie di sistemi operativi).

Le informazioni sulla configurazione dei dispositivi contenute nella CMOS sono in buona parte modificabili da parte dell'utente che può intervenire sui settaggi del BIOS premendo un opportuno tasto nei primi momenti di «vita» del sistema (quale sia il tasto dipende dal BIOS utilizzato e occorre quindi prestare attenzione ai primi messaggi che appaiono a video dopo l'accensione, oppure consultare il manuale della scheda madre).

Fra gli altri parametri configurabili ci sono anche le definizioni di due password, una per poter proseguire nell'avvio della macchina e una per accedere alla configurazione del BIOS; se si definiscono queste password e poi si dimenticano non si riesce più ad usare la macchina o a modificarne la configurazione e si deve necessariamente togliere momentaneamente la batteria (ovviamente a macchina spenta) in modo che il contenuto della CMOS si azzeri.

Dopo la fase di POST viene eseguita la fase di bootstrap, che consiste nell'esecuzione di un piccolo programma che effettua la ricerca, sulle memorie di massa disponibili, del programma di caricamento di un sistema operativo (boot loader) o di un programma che interagisca con l'utente per la scelta del sistema da attivare (boot manager).

L'ordine di ricerca sulle memorie di massa è uno dei parametri del BIOS che più spesso può essere necessario variare; ad esempio se si vuole avviare il PC dal lettore di CD o DVD, occorre che quest'ultimo sia impostato come primo dispositivo su cui cercare il programma di boot.

Nella figura 4.44 viene mostrata proprio la schermata di un BIOS in cui si effettua la scelta dell'ordine di ricerca appena citato.

Figura 4.44.

figure/figura-bios