Problem roku 2038 (Y2K38)
Problem roku 2038, znany również jako Y2K38, to wada oprogramowania, która może ujawnić się 19 stycznia 2038 po godzinie 03:14:07 UTC. Dotyczy to systemów operacyjnych Unix oraz oprogramowania wykorzystującego uniksowy timestamp. Głównym źródłem problemu jest 32-bitowa zmienna typu całkowitego, która zlicza sekundy od 1 stycznia 1970. Maksymalna wartość tej zmiennej wynosi 2 147 483 647, co prowadzi do jej przeskoku do wartości ujemnej w 2038 roku.
Zagrożenia
Problem roku 2038 jest poważniejszy niż Y2K i trudniejszy do uniknięcia. Aby go rozwiązać, konieczne jest przejście na 64-bitową reprezentację czasu, co pozwoli na dalsze zliczanie sekund przez miliardy lat. Zmiana ta jest w toku i powinna być zakończona przed 2038 rokiem. Wartości 64-bitowe zakończą się dopiero po upłynięciu 9223372036854775807 sekund od 1970 roku.
Dotknięte systemy
Problem ten nie dotyczy systemów Microsoft Windows z wyjątkiem Windows XP (poza wersją 64-bitową) oraz starszych wersji. Największym wyzwaniem jest dostosowanie oprogramowania, które opiera się na 32-bitowej zmiennej czasu.
Możliwe rozwiązania
- W systemach operacyjnych z rodziny BSD: dostosowanie bibliotek systemowych i ponowna kompilacja oprogramowania.
- W systemie Linux na 32-bitowych architekturach: trudności związane z dystrybucją oprogramowania oddzielnie od jądra.
Problem roku 2038 wymaga pilnych działań w celu dostosowania oprogramowania i systemów operacyjnych, aby uniknąć poważnych błędów w obliczaniu czasu.