Linux 5.10 ile 2038'de Takvimi 1901 Yılına Götürecek Hata, 2486 Yılına Kadar Çözüldü

POSIX zaman gösterimini kullanan 32 bit sistemlerde sayacın 2038 yılında başa dönmesi hatasını açıklayan 2038 yılı problemi, Linux 5.10 ile birlikte 2486'ya kadar çözülmüş durumda.

Linux 5.10 ile 2038'de Takvimi 1901 Yılına Götürecek Hata, 2486 Yılına Kadar Çözüldü
Linux 5.10 ile 2038'de Takvimi 1901 Yılına Götürecek Hata, 2486 Yılına Kadar Çözüldü

POSIX zaman gösterimini kullanan 32 bit sistemlerde sayacın 2038 yılında başa dönmesi hatasını açıklayan 2038 yılı problemi, Linux 5.10 ile birlikte 2486'ya kadar çözülmüş durumda.

Zaman birimleri bizim için algılaması basit ‘şeyler’ olsa da bilgisayarlar verileri ‘bit’ olarak işlediğinden bilgisayarların gerçekleştirdikleri işlem ile bize gösterdikleri aynı olmayabilir. Örneğin, “Kardeşim 95 yılında doğdu” dediğinizde karşınızdaki kişi kardeşinizin 1995’te doğduğunu anlayabilir ancak bilgisayar için kardeşiniz gerçekten de 95 yılında doğmuştur ve 1925 yaşındadır.

Bilgisayarların zaman tutma yöntemi, 2038 Yılı Problemi olarak bilinen bir yazılım hatası sonusunda bazı POSIX zaman gösterimini kullanan 32 bit sistemlerin 2038 yılında çökmesine neden olacak ve Linux 5.10, bu sorunu 2486 yılına kadar çözmeyi başarmış durumda.

Linux’un çözümüne geçmeden önce 2038 Yılı Problemini biraz açmak gerekirse; 1 Ocak 1970 tarihinden bu yana zamanı saniye bazında tutan 32 bitlik UNIX ve türevi sistemlerde 19 Ocak 2038 Salı günü saat 03:14:07'de sayaç, başladığı noktaya geri dönmüş olacak ve sistem tarihi 13 Aralık 1901 20:45:52'yi gösterecek. Söz konusu hatayı ortadan kaldırmanın en basit yolu, 64 bit sistemlere geçiş olarak görülüyordu ki Linux’un bulduğu çözüm de tam olarak öyle.

Phoronix tarafından yapılan açıklamaya göre Linux 5.10 ile gelen “Büyük Zaman Damgası”, 2038 Yılı Problemini ortaya çıkaran 32 bitlik zaman sayacının yerine 64 bitlik nanosaniye sayacı kullanmak için zaman damgalarını ve inode kodlama işlevlerinin yeniden düzenliyor. 64 bitlik sayaç, Aralık 1901 ile Ocak 2038 arasında kullanılabilen 32 bitlik zaman sayacının aksine Aralık 1901 ile Temmuz 2486 arasında kullanılabiliyor.

Kaynak: webtekno