2038 yılı problemi

bir yazılım hatası

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

Zaman sayacının nasıl sıfırlanacağını gösteren resim

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

değiştir

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.[2]

Benzer olaylar

değiştir

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ı.[2]

Ayrıca bakınız

değiştir

Kaynakça

değiştir
  1. ^ Arnd Bergmann (6 Şubat 2020). "The end of an Era". Linaro. 7 Şubat 2020 tarihinde kaynağından arşivlendi. 
  2. ^ a b "19 Ocak 2038 neden önemli bir tarih?". webtekno.com. 7 Ağustos 2021. Erişim tarihi: 6 Aralık 2024.