Linux 19 Ocak 2038 hatası

POSIX saat ve tarih sistemi 1 Ocak 1970´den itibaren başlar. 32-bit bellek adresleme limiti 2**32 yani 4294967296 byte ettiği için (4 GB RAM limiti de buradan gelir) 19 Ocak 2038´de 4294967296. byte da dolduğu için sorun meydana geliyor.

Aynı sorun 64-bit sistemlerde de var. 292,277,026,596 yılında 64-bit sistemlerin de aynı şekilde çökmesi bekleniyor. 😀
 
POSIX saat ve tarih sistemi 1 Ocak 1970´den itibaren başlar. 32-bit bellek adresleme limiti 2**32 yani 4294967296 byte ettiği için (4 GB RAM limiti de buradan gelir) 19 Ocak 2038´de 4294967296. byte da dolduğu için sorun meydana geliyor.

Aynı sorun 64-bit sistemlerde de var. 292,277,026,596 yılında 64-bit sistemlerin de aynı şekilde çökmesi bekleniyor. 😀
Not ekleyeyim. 4294967296 19 Ocak 2038'te bitmiyor. Sizin dediğiniz "unsigned" (yani negatif olmayan tam sayıları içeren) 32-bit. Unsigned olanlar hatırlarsam 2100 civarları mı ne bozuluyordu.
 
Not ekleyeyim. 4294967296 19 Ocak 2038'te bitmiyor. Sizin dediğiniz "unsigned" (yani negatif olmayan tam sayıları içeren) 32-bit. Unsigned olanlar hatırlarsam 2100 civarları mı ne bozuluyordu.
Evet haklısınız. Unsigned olmadığı için aslında yarısı kadar, yani 0´dan 2147483648 byte´a kadar sayıyor. 2147483648´ıncı byte da dolunca sayaç negatife, yani -2147483648´e düşüyor. Bu yüzden tarih 31 Aralık 1901´i gösteriyor. Unsigned olsaydı negatif olmayacağı için 1 Ocak 1970´i göstermesi gerekirdi.

Aslında bilgisayar negatif sayı ya da pozitif sayı ne demek bilmiyor. Bunlar bizim var saydığımız kabuller. Bilgisayarın tek bildiği 2**32 byte kadar bir yer ayrılmış olması. Signed tipinde bunun yarısı negatif sayılara gidiyor. -2147483648´den +2147483648´e kadar. Bu da 4294967296 byte limitini dolduruyor.
 

Başlıkta Linux yazılmış ama GNU/Linux ile alakalı değil.
Bildiğimiz dijital kol saatlerinden bir çok taşınabilir (portable) cihazlara kadar saat-tarih frekansını belirli merkezlerden alırlar. Bir merkezden saat-tarih frekansı iletme olayı çok eskiye dayanır, dijital elektronikten daha eskidir. Çok nadir de olsa zaman zaman frekans kaymaları olmuştur ama bu kayma olayı arızadan dolayı değil, 50 veya yüz yılda bir değişen doğa olayına dayanıyor. Bu 2038 olayı da bundan ibarettir, öyle büyütülecek bir şey değil. Hatta hatırladığım kadarıyla daha önce böyle bir kayma olduğunda haber değeri dahi görmemişti. Eski elektronikçi olduğum için yıllık çıkan dergide okumuştum.
 

Geri
Yukarı