Bilişim Dünyası ve Yaklaşan 2038 Krizi
Selamlar,
Bu konu ne zamandır aklımdaydı, hatta bu konu üzerine TeknoSeyir'e bir bölüm çekmiş, ama görsel bir tarafı olmadığı için beğenmeyip yayınlamamıştık. Geçen hafta, boyalı basının bu meseleyi ufak ufak farketmeye başladığını gördüm. Yakında "influencer" denen faydasızların da olaya uyanmasıyla her tarafımız "dijital kıyamet, felaket, bilgisayarların kıyameti..." vs. içerikleriyle dolacaktır. Onlar işin bokunu çıkarmadan ben size gerçekleri aktarayım.
Önümüzde 2000 yılı (Y2K) sorununa benzer bir kriz var. Zamanı, işaretli 32-bit değer olarak saklayan Unix sistemlerde, 19 Ocak 2038 günü saat 03:14:07 olduğunda saat sayacı dolup taşacak, + işareti de -'ye dönecek ve tarih 13 Aralık 1901, 20:45:52 olarak gözükecek. Tabii bunun dev bir sorun olacağını tahmin edersiniz.
Neden?
Unix sistemler, saati 1 Ocak 1970 saat 00:00:00'dan (Unix epoch) başlayarak, saniye olarak saklıyorlar. 32-bit işaretli değişkende saklayabileceğiniz en büyük pozitif değer 2.147.483.647. Yani 2 milyar 147 milyon 483 bin 647 saniye. İşte 19 Ocak 2038'de bu sayıya erişilecek ve bu saniye sayacına 1 daha eklendiğinde, sayaç dolup taşarak -2.147.483.648 olacak. Bunu da bilgisayar sistemleri, 1 Ocak 1970'den, 2.147.483.648 saniye ÖNCESİ olarak algılayıp, tarihin 13 Aralık 1901 olduğuna karar verecek.
Zamanı 64-bit olarak tutan sistemlerde böyle bir sorun yok, daha doğrusu bu sorunun 292 Milyar yıl sonra gerçekleşmesi bekleniyor, bu süre evrenin ömründen uzun bir süre. Zamanı "unsigned" yani + / - işareti olmadan tutan sistemlerdeyse aynı sorun 2106 yılında yaşanacak.
İşletim Sistemlerine Göre Durum
BSD ailesi işletim sistemleri: 64-bit sürümlerinde sorun yok. Yazılım konusu değişken.
Linux: 64-bit sürümlerde sorun yok. 2020 yılından beri 32-bit sürümlerde de zaman 64-bit olarak tutuluyor.
Windows: 2008 yılında “şu andaki işletim sistemlerinde sorun yok” diye bildirilmiş, lakin uygulamalarda geliştirici kendisi hata yapmış olabilir. İşletim sisteminin sağladığı SYSTEMTIME ve FILETIME değişkenlerinin 30,827 yılına kadar desteklediği belirtilmiş.
MacOS: 2001 + 10000 yılına kadar destekliyor. Ancak uygulama geliştiriciler kendileri hata yapmış olabilir.
Kimler Etkilenecek?
- Geleceğe yönelik tahmin ya da planlama yapan, uzun vadeli hesaplar yapan sistemlerde 2006 yılından itibaren sorunlar görülmeye başlanmış bile.
- Gömülü (embedded) ve asla güncellenemeyen sistemlerde sorun olabilir.
- ext2, ext3, reiserFS dosya sistemleriyle sorun yaşanabilir.
- İşletim sistemi ve BIOS desteği sorunsuz olsa bile, uygulama geliştirici tarih konusunu hatalı kullanmış olabilir.
Paniğe Gerek Var mı?
- Sorunlu cihazlar zaten 2038’e kadar çoktan emekli olmuş olacak.
- Bilişim dünyası krize erken uyandı. Yaklaşan kriz, 2000 yılı krizinden daha erken farkedildi.
- Yaşanmış Y2K deneyimi var.
2038 yılına kadar bilgisayarınızı kaç kere, telefonunuzu kaç kere değiştirmiş olursunuz? Dolayısıyla, biz sıradan kullanıcılar için bir sorun yok.
Bu biraz aslında kullanıma bağlı ama PC tarafında notebook'a geri döndüm nette gezme makinesi olarak devam edecek artık. O da takribi bozulmaz ise 2029-30'a kadar gider. Telefon ise zaten 2 senesini doldurdu sayılır, o da destek kesilip çok eskimezse( s23ultra ) o da takribi 2030 desek, e işte sonra daha 2 3 kere belki cihazlarım değişir o kadar.
Birde bu işi ivmelenme meselesi, bir yere kadar ivmelendi artık sınırdayız. Bu saatten sonra yani 1 nm cpu gpu olsa ne farkedecek ? X86 zaten gidilebileceği yere gitti artık daha ötesine gidecekse de güç tüketimi uçuyor ve ısınma artıyor manasızlaşmaya başladı. GPU tarafı da nvidia'a bakarsak herifelr yapay zeka tarafına kaymış durumda, masaüsttü ve mobile notebook tarafları çokta umurlarında değil artık. 3 nesildi malum dlss fg gibi oyuncaklarla takılıyorlar, donanım saf güç mevzusunda çokta bir ilerleme yok.
Telefonlar falan da aynı zaten, 10 sene önceki telefonlar ile şimdikielr arasında çok fark var tip ve ekran olarak ama son 5 senedir bu önü tamamen ekran muhabbeti yüzünden de ve fiziki olarak 7 inç'e dayanmalarından vs de artık yapacakları çokta bir alan kalmadı. Katlanır dürülür bükülür tipleri deniyorlar o kadar ama onun da geleceği meçhul. Fold 7. nesline gelmiş hala ekran naylondan. Hala daha 6 ay yok 1 sene kullanınca ortası kabarıyor muhabbeti dönüyor. Belli ki o alanda da pek bir gelişme yok.
Windows'a W10'u 64bit ısrarı için kızdılar. Ama yapılanın doğru bir karar olduğu aşikar.
Onlar ısrar ederken bunun için etmediler ki. Ayrıca 32 bit sistemde en fazla 32 bitlik sayı kullanılabilir diye birşey yok, 128 bitlik sayı da kullanılabilir, üstelilk 64 bite 2 basar.
Levent abi en azından bi shorts/reels videosu çekmeni tavsiye ederim. Şimdi herkes felaket senaryoları yazıp click bait içerikler üretecek. Biz de hemen altına senin videonun linkini atardık.
Sadece cihaz olarak düşünmemek lazım, kurumların, büyük ve orta ölçekli firmaların kullandığı ERP sistemlerinde tarihsaat değişkeni bu şekilde tutuluyor ve kullanılıyorsa çok fazla aksama yaşanır. Hatta birbiriyle haberleşen sistemlerde değerlerin farklı yorumlanması ile bu sorun katlanarak artabilir.
Bankalar COBOL kullanıyorlardı, hiç sanmıyorum COBOLda tarih saat'in 64 bit tutulduğunu. ATMler XP kullanıyordu hala. Ama 2038e daha çok var.
@oniki cobol 9999 a kadar destekliyor zamanı 🙂
@oniki @mrx aslında olay işletim sistemi veya programlama dilinden ziyade, güncel teknolojilerde de değişken tipi veya veritabanı tablosundaki alanın tipi bu şekilde tanımlanmışsa, ki custom geliştirmeler için çok olası, sorun çıkarır.
@tunakaner güncel teknolojiler kullanıp uygun veri tipi seçemeyen veya veri tabanında datetime olarak değil de timestamp'i integer olarak tutmaya çalışan adam zaten sorun yaşasın, mümkünse piyasada iş yapmasın o "yazılımcı" arkadaş hocam sonra onların arkasını biz topluyoruz 😀 ha şikayet ettiğimden değil bize de ekmek lazım 🙂
@mrx ben de onu diyorum toplanacak epey bir iş çıkar 🙂
Bence, birileri yine korku pompalıyor.
Güzel bir özet. Teşekkürler.
ChatGPT vari bilgiler + LP deneyimiyle insani dokunuş...
+ Signed Long Integer...
2/10 felaket.
2038 yılına kadar yaşar mıyım diye düşünen ben... Yazı için teşekkürler.
Açıkçası faydasızlardan önce videoyu yayınlayıp kanala fayda sağlamasını dilerdim ama Teknoseyir zaten bu sayede diğer benzerlerinden özel bir konumda. O yüzden bu güzel yazı için teşekkür ederim.
31 Aralık 9999'da daha büyük felaket olacak, 5 haneli yıla geçince 🙂