![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() | ||
![]() |
![]() |
![]() |
![]() |
![]() Sommario Internet ID Indici di BETA Redazione Mailing list Installazione Mirror ufficiali Licenza Pubbl. Beta Cerca Stampa
|
![]() |
![]() |
![]() |
![]() |
Informaticamente scorretto: anno 2000
Negli anni '70 e '80, quando il costo dei computer era molto alto e le risorse erano per forza di cose limitate, i programmatori facevano di tutto per risparmiarle, soprattutto in tema di memoria. Così, anche nel campo dei computer si è nel tempo consolidata l'abitudine a rappresentare l'anno, nelle date, con le ultime due cifre. Questo, come è facilmente comprensibile, porta al cuore del problema poichè il 1° gennaio 2000 l'anno viene rappresentato come "00", quindi è sia matematicamente minore di 99, sia considerato come 1900 in forma di data, con le conseguenze del caso. D'altronde una delle giustificazioni più utilizzate dai programmatori è stata "Quando arriveremo al 2000, i programmi che scriviamo oggi saranno obsoleti e sicuramente sostituiti da altri programmi aggiornati". Purtroppo non è andata così. Molti dei programmi scritti negli anni passati sono tuttora in uso, ed essi riportano tutte le date come GG/MM/AA, con due cifre per rappresentare l'anno. Non sono poche le realtà informative che non hanno sostituito i programmi, e d'altra parte se si dà ragione al detto "una cosa che funziona non c'è motivo di cambiarla" era anche prevedibile che si sarebbe arrivati alla situazione attuale. Non colpevolizziamo nessuno, però ritengo che si potesse prevedere una vita dei programmi anche più lunga delle previsioni. Se consideriamo ad esempio che oggi si utilizza Windows 98, che è una versione rivista e corretta di Windows 95, che è una versione migliorata e potenziata di Windows 3.1, che è un'interfaccia grafica multiapplicativo posta sopra all'MS-DOS, che risale agli anni '80, non vedo perchè i programmi per Windows non possano condividere la stessa longevità. Dai microcomputer (i computer che usiamo tutti) ai mainframe aziendali passando per tutte le varietà informatiche il dubbio angosciante dei responsabili è: come prenderà l'anno 2000? Il problema si allarga a dismisura nella considerazione dell'interdipendenza dei sistemi informatici. Non basta sapere che un sistema hardware-software di un azienda sia a posto per il passaggio di millennio, perchè se non lo è - ad esempio - quello dell'azienda fornitrice, nessuno dei due funzionerà, e si ritornerebbe ben presto al punto di partenza. Similmente, se un sistema informatico richiedesse la connessione con altri sistemi informatici, e questa fosse inutilizzabile per via del bug 2000, i rispettivi compiti non potrebbero essere svolti. La cosa può non rivelarsi così grave per aziende isolate, il cui campo di azione è limitato, o le cui sorti economiche (proprie o altrui) non dipendono da ritardi (peraltro già ampiamente previsti) di qualche settimana. Se però ci spostiamo nel campo dei servizi, nel campo economico e soprattutto nel campo medico, le conseguenze possono riguardare perdite economiche ingenti o addirittura perdite umane, e la cosa si fa seria. Possiamo pensare ad una serie di esempi, iniziando dalle carte di credito la cui scadenza è in genere di due o tre anni. Se i computer non riconoscessero la scadenza di una carta, o la riconoscessero come negativa, è come se quei soldi non si possedessero affatto (è anche per questo che uno dei consigli più dati riguarda il ritiro di ingenti quantità di soldi rigorosamente cartacei). Ugualmente, se un sistema di controllo non reputasse più valida la data di aggiornamento manutenzione di un macchinario per via del bug 2000, ne potrebbe bloccare automaticamente il funzionamento. Se infine un dosaggio di un medicinale venisse fatto in base all'età del paziente, e questa risultasse ultracentenaria per il bug 2000 anzichè infantile, le conseguenza potrebbero essere fatali. Un ulteriore problema, certamente non da poco, è rappresentato dai sistemi che hanno codifiche in hardware e dai cosiddetti sistemi embedded. Non siamo ancora alla lavatrice che si ferma da sola, ma se un sistema di questo tipo accusasse il bug 2000 allora non si potrebbe fare altro che sostituirlo, perchè le modifiche non sono possibili. E trovare l'errore in tali sistemi può rivelarsi molto più difficile di quelli in software. Questo ed altri scenari sono stati presi in considerazione da diversi
osservatori ed esperti, e ovviamente le più autorevoli riviste,
da Scientific American a BYTE, del campo tecnico scientifico se ne sono
occupate. In particolare quest'ultima, nella versione tradotta in Italia
come BYTE Italia, ha riproposto uno degli articoli più interessanti
sull'argomento, ben fatto ed esaustivo. Ad esempio la Timeline dell'intorno
2000 è di sicuro impatto, e coglie anche alcuni aspetti più
"singolari" dell'intera vicenda. Estratti di quell'articolo, insieme ad
alcune nostre osservazioni ed a sezioni della stampa internazionale,
sono riproposti di seguito.
Un caso a sè sembra riguardare i privati, che, in Italia ma anche in altre
parti del mondo, relativamente ai sistemi personali ed all'anno 2000, appaiono sostanzialmente indifferenti
al problema. E' vero che anche se il nostro computer dovesse avere dei
problemi i primi giorni del 2000 ciò non costituirebbe un danno
per la collettività, ma lo stesso non può purtroppo dirsi per il computer della
centrale Enel vicina, piuttosto che quella Telecom, per le centraline della segnaletica stradale, e
così via. Nessuno può dirvi con esattezza cosa succederà alla mezzanotte del 31/12/1999 e
i primi giorni del nuovo millennio, quindi è buona norma, anche per chi
non ha aziende cui pensare, prendere lo stesso le misure necessarie
per non trovarsi in situazioni incresciose.
Soluzioni e procedure di conversione«La nave è la vostra azienda, l'iceberg è il sabato nero del primo gennaio 2000. La buona notizia è che potete vederlo arrivare, la cattiva è che siete in rotta di collisione, la peggiore è che non avete più il tempo di virare.»Così inizia un articolo di BYTE tradotto su BYTE Italia di Luglio '98 sulla situazione relativamente al problema del cambio di data del nuovo millennio. L'articolo e' esaustivo ed e' affrontato in modo sistematico, con soluzioni e osservazioni da parte di esperti del settore, quindi ne raccomando la lettura (potete vedere i siti www.byte.com o www.byteitalia.com). BYTE, insieme ad altri osservatori ed esperti internazionali ed anche noi di BETA, fa notare che il tempo stringe, e che per molte soluzioni questo tempo semplicemente non c'è più. La scelta, in questo caso, può essere solamente la classica pezza. In ogni caso, le soluzioni al problema anno 2000, ovviamente, ci sono. Se finora leggendo l'articolo siete saltati sulla sedia immaginando catastrofi mondiali dovute al bug probabilmente potete tranquillizzarvi. Molti stanno già prendendo provvedimenti e non solo le aziende ma anche le istituzioni, pubbliche e private, si sono mosse per affrontare il problema. A grandi linee le principali procedure per risolvere il problema sono due:
Il secondo metodo è concettualmente più semplice, e nella maggior parte dei casi richiede anche meno modifiche al codice, ma è più "fragile". Si sceglie con attenzione un anno cardine, tipicamente un valore compreso tra 30 e 45, e si considerano tutte le occorrenze di anni minori di questo valore come appartenenti al 2000 e quelle maggiori come appartenenti al 1900. Ma anche questo approccio pone diversi problemi: ad esempio il passaggio di dati tra sistemi che utilizzano due diversi anni cardine, oppure dati che si riferiscono a 20 proprio per dire 1920, che hanno una portata superiore al valore di windowing (magari secolare, come date di nascita), ecc. Pe entrambi vale poi la famosa regola aurea della programmazione: ogni volta che si effettuano modifiche ai programmi si introducono una serie di nuovi errori, che vanno controllati (debug) ed eliminati. E questo richiede tempo, che oltre ad essere la variabile in gioco è anche quello di cui non disponiamo. In questa tabella sono elencate le principali soluzioni al bug dell'anno 2000. Nelle prime due colonne di sinistra sono riportati titolo e tempo necessario ad attuare le procedure di aggiornamento, mentre nella colonna di destra si da' un voto alla validita' di tali procedure, dal massimo (eccellente, data in pratica solo alla soluzione dell'ampliamento dell'anno nei dati) al minimo (scarsa).
(fonte: BYTE, 1998) Dall'articolo citato ad inizio paragrafo, vediamo adesso la progressione cronologica degli eventi che caratterizzeranno il periodo in esame. Timeline(fonte: BYTE, 1998)
Possibili problemi in gennaio 2000Molti problemi potrebbero avere la caratteristica di essere invisibili, ovvero i sistemi potrebbero funzionare bene ma produrre informazioni errate.Componenti con possibilità di essere affetti da problemiIn ordine di possibilità di guasti
Enti e società con possibilità di essere affetti da problemi
Siti, Riferimenti, Notizie e bibliografiaOvviamente il materiale presente su Internet riguardo il bug dell'anno 2000 e le sue possibili soluzioni è sovrabbondante. Vi sono siti specializzati e siti generalisti, con link oppure isolati, corredati di grandi firme oppure assolutamente anonimi. A dire il vero si rischia una sovraesposizione di informazioni. Per cui abbiamo cercato di selezionare alcuni tra i siti che rispondono a piu' domande per il mondo dell'hardware e del software e che in qualche modo assicurano una "serietà" dipendente, a volte, da un grande nome (è il caso di IBM, o di Intel) oppure da un insieme di società riunitesi per fronteggiare il Y2K bug.
Notizie, articoli
Incubi Usa / Le carte di credito a rischio millennio La plastica e il baco spaventano Greenspan
L'incubo dell'Y2K, il morbo che si annida nei software di milioni di computer sparsi per il mondo e che impedisce loro di riconoscere le date successive al 31 dicembre 1999 (noto anche come baco del millennio), sta tormentando Alan Greenspan. Il quale teme che l'America, abituata ormai da decenni a funzionare con le carte di credito, si paralizzerà se il contagio colpirà anche i computer che regolano i pagamenti della moneta di plastica. Così il presidente della Banca Centrale Usa ha decretato la stampa di una riserva di emergenza anti Y2K di 50 miliardi di dollari (85.000 miliardi di lire) di banconote. 100 milioni di famiglie americane avranno quindi a disposizione 500 dollari (850.000 lire) ciascuna per tirare avanti, nei primi giorni del 2000, nell'eventualità che l'immensa macchina finanziaria al servizio dell'economia dei consumi (ossia i due terzi del prodotto interno lordo USA) dovesse incepparsi. Nell'eventualità le cose si mettessero male e bar, ristoranti, alberghi, negozi non potessero accettare pagamenti con carte di credito, allora scatterebbe il piano di emergenza. Centinaia di autocarri blindati noleggiati dalla Fed partirebbero dai centri di distribuzione predisposti strategicamente in tutti gli Stati Uniti per portare le banconote alle banche. E queste le metterebbero a disposizione dei loro clienti. Libri![]() ConclusioniQuando proverete il vostro computer sul bug-2000, portando avanti la data, ricordatevi poi di tornare nel nostro secolo!Come avrete notato, non solo il problema dell'anno 2000 riguarda molte aziende e quasi tutti i sistemi informatici che non siano stati completamente aggiornati negli ultimi due anni, ma anche voi, la vita di tutti i giorni e cio' che accadra' tra gli ultimi giorni del 1999 e i primi del 2000. Tenetene conto. La cosa migliore è che, senza creare inutili allarmismi, diffondiate comunque le informazioni anche tra i "non addetti ai lavori".
Non vi ho parlato delle centrali nucleari, che a seconda dei macchinari
installati possono essere a rischio 2000 anche loro.
Se state pensando che senza i computer tutto cio' non sarebbe successo e magari la nostra vita sarebbe molto migliore, aspettate a quando ci rileggeremo su questa stessa rubrica (sempre se ci sarà ancora) nel 2038. <grin> Alla prossima!
Luciano Giustini è articolista e fondatore di BETA; è raggiungibile su Internet tramite la redazione oppure all'indirizzo l.giustini@beta.it. Copyright © 1998 Luciano Giustini, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuibile secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.
BETA Rivista |
Copertina |
Sommario |
InternetID |
Informazioni |
Browser
|
![]() |
![]() | |||||
![]() | |||||
|