Millenniumbug

De millenniumbug was een probleem dat in 20e-eeuwse computersystemen ontstond doordat bij het opslaan van de datum soms alleen de laatste twee cijfers van het jaar werden gebruikt. Zo werd 29 december 1977 bijvoorbeeld opgeslagen als 29-12-77. In de beginperiode van de computer werd dat gedaan om te besparen op de toen erg dure geheugenruimte. Ook verwachtten programmeurs vaak niet dat hun programma's de eeuwwisseling zouden halen. Eind jaren negentig ontstond er onder ICT-experts grote onrust over dit probleem.

Het bord op een Franse school in Nantes geeft 3 januari 1900 aan in plaats van 2000.
Het begin van het probleem, om tijd en ruimte uit te sparen: twee posities voor het jaar op een ponskaart

Verwachte problemen

De millenniumbug zou problemen opleveren tijdens de overgang naar het jaar 2000, doordat de representatie van 1 januari 2000 gelijk is aan die van 1 januari 1900: 01-01-00. In deze context werd 2000 vaak aangeduid met Y2K, waarbij Y de afkorting is van het Engelse woord year (jaar) en de K voor kilo staat, voor een duizendvoud dus.

Voorraadsystemen zouden denken dat een product met vervaldatum 01-01-00 al een eeuw oud was. Ook vreesde men dat er veel mis zou gaan bij renteberekeningen: wie in het jaar '99 een lening afsluit en die in het jaar '00 terugbetaalt, heeft volgens de computer ruim op tijd terugbetaald en is geen rente verschuldigd. Over de te verwachten rampen publiceerden Luc Sala en Oussama Cherribi in 1998 in Nederland een pamflet: Bit Bang: in de schaduw van het millennium.[1] Dit geschrift gaf ook tips voor het testen van de eigen computer en boekhouding op millenniumbestendigheid.

Minder ernstige problemen werden verwacht bij verkeerslichten en liften, waarvan de programmatuur zou denken dat het 31 december 1900 was (dus maandag) terwijl in werkelijkheid 31 december 2000 op zondag viel. Ook vreesde men dat sommige programma's rekening hielden met het feit dat de eeuwjaren geen schrikkeljaren zijn, maar niet met het feit dat 2000 wel een schrikkeljaar was.

Eerste confrontatie

Het verhaal gaat dat de eerste confrontatie met de millenniumbug al plaatsvond in januari 1995. Bij betaalautomaten werden nieuwe betaalpassen afgekeurd omdat ze niet meer geldig zouden zijn. De passen waren vijf jaar geldig, dus tot het jaar 00. De betaalautomaat interpreteerde dat als 1900 in plaats van 2000, en meldde daarom dat de pas verlopen was.

Een soortgelijk probleem is echter van alle tijden, het doet zich namelijk voor als van een geboortejaar slechts twee cijfers geregistreerd worden. Het is vaak voorgekomen dat 100-plussers een oproep kregen voor de leerplicht of voor een medische keuring van kinderen.

Remedies

De verwachte millenniumproblemen konden worden voorkomen door voor het jaartal vier cijfers te gebruiken, wat het probleem uitstelt tot het jaar 10.000 (over een kleine 8000 jaar dus). Vaak is ook 'windowing' toegepast, waarbij de programmatuur zo werd gewijzigd dat (bijvoorbeeld) de getallen 61-99 de jaren 1961 t/m 1999 voorstellen, en 00-60 de jaren 2000 t/m 2060. Om de verwachte millenniumproblemen te voorkomen, moesten overal ter wereld vele tienduizenden programma's gecontroleerd worden en werden veel systemen voorzien van versies van software waarvan bekend was dat ze "millenniumproof" waren. In enkele gevallen werden de klokken van oudere systemen zelfs jaren teruggezet, vaak 28 jaar, omdat daarmee de cyclus van weekdagen en schrikkeljaren weer gelijkliep.

Niettemin werd rond de overgang naar het jaar 2000 de nodige voorzichtigheid betracht. Bij continubedrijven, chemische installaties, drinkwaterbedrijven, elektriciteitscentrales en dergelijke waren er in de millenniumnacht vaak dubbele ploegen personeel aanwezig en stonden noodsystemen startklaar. Ook bij de leveranciers van kritieke besturingssystemen was rond de jaarwisseling vaak extra ondersteunend personeel aanwezig. Sommige personen durfden met de jaarwisseling bijvoorbeeld geen vliegreis te maken uit angst dat de computerapparatuur zou uitvallen. Verzekeringsmaatschappijen eisten zelfs dat vliegtuigen tijdens de overgang aan de grond zouden blijven. Sommige niet-aangepaste systemen als TeleRad werden wel uitgeschakeld door de millenniumbug.

Soms werd vergeten dat in veel systemen het kritieke moment niet om middernacht viel maar (in West-Europa) pas om 1:00 uur. Dit kwam doordat veel systemen intern met UTC werken.

Achteraf beschouwd

Hoewel een en ander groots in het nieuws is geweest, heeft de millenniumbug uiteindelijk veel minder problemen veroorzaakt dan vooraf werd gevreesd. Of dit kwam doordat de gevolgen toch minder waren dan gevreesd, of omdat veel kritieke systemen voorafgaand uit voorzorg al waren aangepast, is nooit duidelijk geworden.

Soortgelijke problemen

Er zijn regelmatig soortgelijke, maar minder opvallende overgangen in "overlopen" in datum en tijdnotaties. Vaak gaan deze onopgemerkt voorbij of zijn alleen bekend bij insiders. Zo liep op 22 augustus 1999 de interne weektelling van het gps-systeem over van 1023 naar 0, wat bij sommige gps-ontvangers tijdelijk voor problemen zorgde. Dit gebeurt elke 1024 weken ofwel elke 19,7 jaar. In het Engels wordt hiervoor de term "Week Number Rollover" (WNRO) gebruikt. De meest recente rollover vond plaats op 6 april 2019.

In veel computersystemen die op Unix gebaseerd zijn, wordt de tijd in seconden vastgelegd in een tweeëndertigcijferig binair getal, waarbij één positie aangeeft of het een datum voor of na 1970 betreft. Op 19 januari 2038 kan zich dus een soortgelijk probleem voordoen, wanneer er 231 seconden voorbij zijn sinds de Unix Epoch, middernacht van 1 januari 1970. Ook nu al geeft het rekenen met data vanaf 2038 soms problemen.

Trivia

I really didn't foresee the Internet. But then, neither did the computer industry. Not that that tells us very much of course - the computer industry didn't even foresee that the century was going to end.

(Ik zag internet echt niet aankomen. Maar de computerbranche ook niet. Niet dat dat veel zegt - de computerbranche zag zelfs niet aankomen dat de eeuw ging aflopen.)

  • Nederland 3 liet tijdens de jaarwisseling van 1999-2000 om precies 0:00:00 uur een testbeeld met enorme storing zien met daarbij veel lawaai. Pas enkele minuten later kwam de omroepster in beeld met een glas champagne om het nieuwe jaar in te luiden.
  • De naam van de millenniumbug is eigenlijk niet correct. Het nieuwe millennium begon immers op 1 januari 2001.
Beluister (info)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.