Čeká nás blackout? Efekt 2038 je hrozbou pro technologie
Přelom milénia a problém s ciframi
S podobným problémem jsme se již setkali v roce 1999. Během nástupu informačních technologií si programátoři museli vystačit s minimálním prostorem. Všechna data a všechny procesy se snažili maximálně zjednodušit. Tak tomu bylo i v případě času. Prakticky všechny systémy používali pro rok pouze dvě proměnné cifry, nikoli čtyři. Pro představu, v roce 1985 byla tučně vyznačená devatenáctka pevně daná a s přibývajícími roky se postupně navyšovaly pouze poslední čísla, určující jednotlivé roky a desetiletí.
To je logická a úsporná metoda, dokud nedojde k přelomu století nebo dokonce tisíciletí. Vzhledem k tomu, že první dvě cifry se nemění, rok 2000 se samozřejmě nezobrazí. Co se tedy stane 1. ledna nového tisíciletí? Část systémů byla naprogramována tak, že číslice může být vždy pouze dvouciferná, tudíž po čísle 99 se změní na 00 a koloběh začne znovu. Některé počítače naopak nebyly omezeny na dvě cifry, rok 99 se změnil na 100 a na Nový rok tak nastal 1. leden 19100.
Rizika návratu do minulého století
Již v roce 1999 tento fenomén vyprodukoval několik děsivých konspirací. Instituce, které již v té době byli na komunikačních technologiích závislé, investovaly obrovské částky do prevence možných komplikací. Naštěstí blackout ani žádná jiná větší tragédie nenastala.
Část systémů byla naprogramována tak, že číslice může být vždy pouze dvouciferná, tudíž po čísle 99 se změní na 00 a koloběh začne znovu.
Otázkou je, jaký dopad by měl takový zkrat dnes, natož v roce 2038. Na technologiích je dnes závislá naprostá většina firem, podniků, průmyslu, dopravy, zdravotnictví, školství a také samotní lidé.
Kouzelné číslo 2 147 483 647, které má v roce 2038 potenciál „vypnout“ svět
Při současných možnostech samozřejmě počítače nefungují na tak primitivních principech jako v roce 2000, ale i nyní má technologie své meze. Jednou z nich je prvočíslo 2 147 483 647. Většina operačních systému zapisuje čas na principu datového typu time_t, ve kterém jedno celé číslo odpovídá jedné vteřině. Všichni jistě známe princip binární (dvojkové) soustavy. V případě 32-bitových procesorů máme k dispozici přesně 32 cifer, ve kterých se dá kombinací čísel 1 a 0, se kterými binární soustava operuje, vyjádřit přesně 2 147 483 647 různých kombinací. My už víme, že jedno číslo odpovídá jedné vteřině, pouze tolika vteřin se tak počítače mohou dopočítat.
Počítání digitálního času započalo 1. ledna 1970 a přesně 19. ledna 2038 v čase 3:14:07 nejvyšší možný počet vteřin přeteče. Co nastane poté? To nikdo netuší, předpokládá se však zhroucení systému, případně restart do roku 1970, či dokonce do záporného času. Do onoho neblahého termínu ovšem stále zbývá 17 let, což je dost času problém napravit.