Problem roku 2038
Z Wikipedii
Problem roku 2038 – wada oprogramowania uniksowego, wymagającego informacji o bieżącym czasie, która ujawni się 19 stycznia 2038. Źródło problemu leży w sposobie zliczania czasu przez Unix – służy do tego 32-bitowa zmienna typu całkowitego ze znakiem (ang. signed integer) zawierająca liczbę sekund, które upłynęły od rozpoczęcia tzw. ery uniksa, czyli od 1 stycznia 1970, godz. 0:00. Maksymalna wartość wspomnianej zmiennej wynosi 2 147 483 647, co odpowiada godzinie 03:14:08 UTC, 19 stycznia 2038. W następnej sekundzie stan licznika sekund stanie się ujemny – nastąpi przeskok do najmniejszej wartości ujemnej (-2 147 483 648). Może to spowodować poważne błędy w obliczaniu upływu czasu.
Problem 2038 wydaje się o wiele groźniejszy od pluskwy milenijnej z 2000, a także trudniejszy do uniknięcia. Zapobiec mu może przejście na 64-bitową reprezentację czasu (typ time_t), dla której analogiczny problem pojawi się dopiero w roku 292 277 026 596 (czyli za około 292 miliardy lat) – nie będzie to jednak sprawa nagląca. Zmiana taka jest już powoli dokonywana i należy się spodziewać, że zostanie zakończona przed rokiem 2038.
Największym problemem wydaje się nie tyle zmiana samych systemów uniksowych, lecz zmiany potrzebne w oprogramowaniu, które z różnych względów polegało na 32-bitowym rozmiarze zmiennej zawierającej czas. Oprogramowanie takie spotykane jest na przykład w systemach bankowych i ubezpieczeniowych.