Rivista di etica e scienze sociali / Journal of Ethics & Social Sciences

 

 

In parole povere, un computer ha un sistema operativo, il più comune dei quali è Windows; esso è responsabile di fornire a programmi e applicazioni l’ora e la data. Ora, aAl di sotto del sistema operativo si trova il Bios, cioè quella porzione di codice, costituisce un collegamento permanente tra l’hardware, cioè i circuiti elettronici integrati del computer ed il software, cioè i sistemi operativi, programmi e applicazioni.

Tutti i programmi (e le applicazioni) scritti correttamente devono ottenere i valori della data e dell’ora dal Bios, attraverso il sistema operativo. All’accensione del computer il Sistema Operativo (Dos, Windows, Unix) riceve la data da un particolare circuito integrato detto Real Time Clock (RTC/CMOS clock) che genera ora e data a partire dalle oscillazioni, a frequenza costante, ottenute con un cristallo di quarzo e che viene mantenuto in funzione da una batteria tampone anche a computer spento. Il problema nasce dal fatto che tutti i costruttori hanno usato un RTC (abitualmente viene utilizzato il Motorola MC146818 o compatibile) che ha solo due cifre per il valore dell’anno e nella stragrande maggioranza di computer il Bios non verifica la possibile transizione da 99 a 00, sicché in alcuni computer questi numeri passano da 99 a 80 in altri a 84 e in altri in maniera casuale: Una scheda "anno 2000 compatibile" fornisce la data corretta con l’anno (a quattro cifre) al sistema operativo e attraverso di esso a ogni programma applicativo che la richieda.

Il problema anno 2000 che è principalmente un problema software, come si è visto, presenta anche aspetti legati all’hardware, perché le informazioni relative alla data sono presenti in due modi distinti, nei registri del RTC con i quali interagisce il sistema operativo 1. Infine le applicazioni utilizzano e processano le date (giono, mese, anno) che ricevono dal sistema operativo, o in casi meno corretti direttamente dal BIOS 2.

Alcune prime versioni di computer (cioè degli anni ‘80), ma moltissimi dei più recenti non sono in grado di gestire correttamente il nuovo millennio, cosa facilmente verificabile.. È stato sviluppato già da tempo per iniziativa del National Software Testing Laboratories un test, disponibile gratuitamente, (il YMARK2000 3) con il quale si può rapidamente verificare se un personal computer risente di questo difetto. Il metodo è molto semplice ed intuitivo e consiste nell’impostare la data al 31-12-1999 e verificare cosa succede dopo le ore 23:59. In realtà è necessario anche verificare la corretta gestione degli anni bistestili (leap year) come il 2000 (sono bisestili gli anni dei secoli divisibili per 400). Se questo test non viene superato (alcuni sistemi potrebbero riportare la data al 1-1-1980) la soluzione migliore è la sostituzione del sistema anche se taluni fornitori consigliano l’istallazione di un’apposita scheda (ad es. la Millennium Bios Board della Solution 2000: che offre insieme una assicurazione di $5000) 4. Ma questo primo approccio verifica solo le funzionalità del BIOS e dell’RTC; sistemi operativi e applicazioni devono essere testate separatamente 5.

 

 

NOTE 

1 In realtà l’hardware clock ha un calendario di 100 anni (da 00 a 99) ed è il BIOS del sistema responsabile di gestire il secolo attraverso una specifica area della memoria CMOS, Quando un sistema operativo o un’applicazione chiede al BIOS la data, esso restituisce un anno a 4 cifre combinando le due cifre meno significative del clock hardware con i dati relativi al secolo conservati nella memoria CMOS. Un cattivo funzionamento del BIOS potrebbe essere corretto da un programma esterno ma tale soluzione è vivamente sconsigliata dal NSTL, per motivi abbastanza ovvi, per la scarsa affidabilità della soluzione.

2 È recentemente apparso sul quotidiano francese Le Monde una denuncia, secondo la quale anche computer certificati "anno 2000" avevano il Real Time Clock non compatibile, e quindi anche se il Bios (cioè il sistema di input/output) è in grado di gestire intelligentemente la data presentata dall’RTC, le applicazioni con data a due cifre che, ad esempio, per esigenze di velocità fanno accesso direttamente all’RTC del computer risentiranno dell’errore relativo al secolo.

3 http://www.ntsl.com/

4 http://www.solution2000.net. In casi più rari si verifica il cosiddetto l’effetto Crouch-Echlin (scoperto da Jace Crouch e Mike Echlin ) ( http://www.nethawk.com/) denominato Time Dilation relativo ad una instabilità intermittente nella data e nell’ora in alcuni personal computer e sistemi "embedded" con un RTC non buffered a causa di routine del BIOS che provocano accelerazione (o rallentamento) del real-time-clock nell’anno 2000 e seguenti. Questo può causare, oltre a tutti i problemi connessi con la data, anche blocco totale o parziale del computer per alterazione dei dati nella memoria CMOS, quindi periferiche, dischi, mancato avviamento del sistema (boot, post).

5 Definizione di conformità all’anno 2000. Un prodotto è conforme all’anno 2000, quando utilizzato conformemente a quanto previsto nella relativa documentazione è in grado di elaborare, inviare e/o ricevere correttamente i dati relativi alla data sia nel passaggio dal XX al XXI secolo, sia nel corso del XX e XXI secolo a condizione che tutti gli altri prodotti (macchine, programmi per elaborare, firmware) utilizzati in collegamento con il prodotto siano in grado di scambiare correttamente i dati relativi alla data con questo. Secondo il British Standard Institute, ( http://www.bsi.org.uk/). essere compatibili all’anno 2000 significa che nessuna attività e funzione è influenzata da date precedenti, concomitanti o successive all’anno 2000. Le regole da seguire sono le seguenti. Nessun valore inserito nella data dovrà causare interruzione nelle operazioni. Le funzioni basate su database devono comportarsi correttamente qualora contengano date precedenti concomitanti o successive all’anno 2000; in tutte le interfaccie e nei dati memorizzati il secolo deve essere indicato in maniera esplicita o con algoritmi che non diano adito a nessua ambiguità. L’anno 2000 deve essere riconosciuto come bisestile.

Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza e offrire servizi in linea con le tue preferenze.

Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie vai alla sezione