32 bit işlemci bilgisayarlar 2038 yılına gelindiğinde işlemci mimarisinden dolayı tarihi doğru hesaplayamayacak. Bu beklenen hataya ise Y2038 problemi adı veriliyor. Benzer bir olay 1 Ocak 2000 tarihinde dünya çapında gerçekleşmişti.
Yazılımsal bir hata nedeniyle birçok bilgisayar tüm dünyada bir anda çökmüştü. Böylesi bir hata aynı Y2038 probleminde olduğunda gibi biliniyordu.
1 OCAK 2000'DE BİLGİSAYARLAR NASIL ÇÖKTÜ?
2000 yılından önce bilgisayarlar tarihleri iki haneli sayılar üzerinden ölçerdi. Örneğin 13 Kasım 1994 tarihi “13/11/94” şeklinde kaydedilirdi. Bu 2000 yılına kadar tüm bilgisayarlarda böyle devam etti. Ancak 1 Ocak 2000'e gelindiği zaman yıllar için büyük bir sorunla karşılaşıldı. Bilgisayarlar 2000 yılını 00 olarak göstermeye başladığında 1900 yılını mı yoksa 2000 yılını mı gösterdiğini anlayamadı. Bu nedenle birçok bilgisayar tarih hatası nedeniyle hatalar almaya başladı.
Bu olası sorun yıllar öncesinde biliniyordu. Bu nedenle güncellemelerle bu sorun düzeltildi. Ancak güncellenemeyen birçok cihaz güncellenemediği için kullanılamaz hale geldi. Bu sorunun olacağını yazılımcılar elbette ki biliyordu. Yazılımcıların her şeyin farkında olmasına rağmen programları bu şekilde kodlamalarının nedeni ise eskiden depolama aygıtlarının çok pahalı olması. Bu nedenle programların daha az yer kaplaması için yılın yalnızca son iki hanesi kullanıldı.
Y2038 NASIL BİR PROBLEM?
19 Ocak 2038’e gelindiğinde tarih tekerrür ederek 2000 yılındaki soruna benzer olaylar yaşanacak. Ancak bu kez sebep depolama alanından tasarruf değil. Y2038 hatası bu sefer 32 bit işlemciler hesaplama kapasitesinin tükenmesinden dolayı gerçekleşecek.
19 Ocak 2038 tarihine gelindiği zaman, 32 bit işlemciler tarihi daha fazla hesaplayamayacak.
32 bit işlemciler mimari olarak 4.294.967.295 farklı değer aralığında hesaplar. Ancak bu değerler 2.147.483.648 tane negatif, 2.147.483.647 tane de pozitif olmak üzere ikiye bölünür.
Bilgisayarlar tarih bilgisini saniye bazında hesaplar. 1 Ocak 1970 00.00:00 tarihinden, 19 Ocak 2038 03.14:07 tarihine kadar olan saniye sayısı da 2.147.483.647. Yani 19 Ocak 2038 03.14:08 tarihi geldiği zaman 32 bit işlemcilerin pozitif yönde sayabileceği değer sınırı aşılmış olacak. Bu durumda 32 bit işlemci pozitif alanda daha işlem yapamayacağı için negatif alanda işlem yapmaya başlayacak. Ancak bu sefer de bilgisayarlar negatif değere geçildiği için en küçük negatif sayıdan başlayarak büyüğe doğru saymaya başlayacak. Bunun sonucunda ise tarih sıfırlanarak 1 Ocak 1970'e tekrar dönecek.
Tarih ayarını düzeltmeye kalkarsanız 32 bit işlemcinin gücü yetmeyeceği için tarih tekrar sıfırlanacaktır. Bu döngü nedeniyle birçok bilgisayar çökecek.
Y2038 PROBLEMİ YAŞANDIĞINDA NE OLACAK?
19 Ocak 2038 yılına gelindiğinde muhtemelen 32 bit işlemciye sahip her bilgisayar aynı hatayı vermeyecek. En olası hatalar arasında tarih 1970'e döneceği için birçok BIOS bilgisayar açılışında hata vererek tarihin güncellenmesini isteyecek.
İkinci bir hata ise tarihin geçmişe dönmesinden dolayı bilgisayarda yüklü birçok sertifika geçerliliğini yitirecek. Bu nedenle de birçok program ve web sitesi artık kullanılmayacak hale gelecek.
YOUTUBE Y2038 PROBLEMİYLE GANGNAM STYLE VİDEOSU NEDENİYLE ERKEN KARŞILAŞTI
Güney Koreli şarkıcı PSY'nin Gangnam Style videosu ilk olarak 2012 yılında çıktığında milyonlarca kişi tarafından izlendi. Video Youtube üzerinden 1 milyar görüntülenmeyi yakalayan ilk video oldu. Ancak izlenme sayısı daha da artarak 2 milyar izlenmeyi aştı.
Videonun izlenme sayısı 2.147.483.648'e ulaştığında ise Youtube’un kullandığı 32 bit sayaç yetersiz kaldı. Bu nedenle Youtube, Gangnam Style yüzünden tüm sayaç teknolojisini yenilemek zorunda kaldı.
Y2038 PROBLEMİNİN TEK ÇÖZÜMÜ 64 BİT İŞLEMCİ KULLANMAK
Bu problemden kurtulmak için yazılım güncellemesi hiçbir işe yaramayacak. Çünkü işlemci kapasitesi çoktan dolmuş olacak. Problemden kurtulmanın tek yolu ise 64 bit işlemci kullanmak.
64 bit aralığında işlem yapabilen işlemcilerin sayabildiği değer sayısı 9.223.372.036.854.775.808. Bu değerlerle Y2038 probleminin yaşanması için 293.274.701.009 (İki yüz doksan üç milyar iki yüz yetmiş dört milyon yedi yüz bir bin dokuz) yıl geçmesi gerekiyor.