2038 rok to data tak odległa, że nie warto się nad nią zastanawiać? Nic bardziej mylnego…

19 stycznia 2038, o 3:14:08 nad ranem, unixowe zegary cofną datę o prawie 140 lat, do roku 1901. Stanie się tak, ponieważ czas we wspomnianych wyżej systemach przechowywany jest jako 32-bitowa liczba całkowita z możliwością zapisu liczb ujemnych (signed 32-bit integer).

Z kolei czas jest zapisywany jako liczba sekund od początku ery unixa (1970-01-01). Za 25 lat liczba tych sekund osiągnie graniczną wartość, którą da się zapisać jako liczbę dodatnią i kolejne liczby binarne będą interpretowane jako liczby ujemne, przez co po 2038 roku czas będzie obliczany poprzez odjęcie odpowiedniej liczby sekund od 1 stycznia 1970.

Większość z nas nie jest świadoma istnienia tego problemu. Co więcej, nawet fachowcy z branży IT mają tendencję do bagatelizowania sprawy – w końcu 2038 rok zacznie się dopiero za 25 lat. Mikko Hypponen z F-Secure uważa jednak, że programiści i projektanci infrastruktury informatycznej już teraz powinni zastanowić się nad możliwymi rozwiązaniami – warto bowiem pamiętać, że na architekturze unixowej oparte są wszystkie urządzenia z zainstalowanym systemem Android (niezależnie od wersji) oraz iOS. Co więcej, wszystkie nowe systemy smartfonowe również są pisane w oparciu o unixa. Jedynym systemem, który jest całkowicie odporny na problem roku 2038, jest Windows Phone, ponieważ Microsoft używa innego sposobu zapisu daty.

źrodło: F-Secure

Kan