2038 yılı problemi

2038 yılı problemi, 2038 yılında bazı POSIX zaman gösterimini kullanan 32 bit sistemlerin çökmesine yol açacak bir yazılım hatasıdır.

Hata, sistem zamanını 1 Ocak 1970 tarihinden beri saniye bazında hesaplayan 32 bit UNIX ve türevi sistemlerde 19 Ocak 2038 Salı günü saat 03.14.07'de sayacın başa dönmesi ve sistem tarihinin 13 Aralık 1901 saat 20.45.52'yi göstermesiyle veya bilgisayarın çökmesiyle sonuçlanacaktır.

UNIX türevi bir işletim sistemi olan Linux, bu sorunu 32 bit işlemler ile çalışan işlemci mimarilerinde bile zamanı 64-bit tam sayılar ile ifade etme yolu ile 2486 yılına ertelemiştir.

Arka plan
Ortaya çıkacak hata, 32 bit mikroişlemcilerin işlem kapasitesi ile akalalıdır. 32 bit işlemcilerde sayılar integer değişkenleri ile ölçülür. Her bir integer değeri bir saniyeye karşılık gelir. Her bit yalnızca "0" veya "1" değerini alabilir. Burada "0", elektriğin gitmemesi, "1" gitmesi sonucu alınır. "0" ve "1"ler 32 bit işlemciler için 32 defa yan yana gelerek integer değerini yani sayıyı oluşturur.

32 tane yan yana gelen "0" ve "1" 232 = 4.294.967.296 adet sayı oluşturabilir. Bu sayıların bir kısmının negatif olması gerektiğinden sayılar -2.147.483.648 ile +2.147.483.647 arasında oluşur. Zaman yalnızca pozitif değerler alabileceğinden 2.147.483.647 adet farklı saniyeyi bilgisayar hesaplayabilir. Bu da bilgisayarların zamanı 1 Ocak 1970 00.00.00'dan itibaren 19 Ocak 2038 03.14.08'e kadar ölçebileceği anlamına gelir.

Benzer olaylar
2012 yılında ortaya çıkan ve bir dönem YouTube'un en popüler videosu haline gelen Gangnam Style, bu sayı sınırının aşılmak üzere olduğu örneklerden biriydi. İzlenme sayısı eğer 2.147.483.647 sayısını geçecek olursa YouTube sayaçları bozulacağından sitede problemler yaşanması olasıydı. Bundan dolayı YouTube, sayaçlarını yenilemek zorunda kalmıştı.

Ayrıca bakınız
 Y2K problemi

 Kaynakça 

Kategori:Unix
Kategori:İşletim sistemi teknolojisi
Problem
Kategori:Gelecekteki sorunlar