Yazılarımın neredeyse tamamını gelen bir soru veya arkadaşlar arasındaki kısa konuşmalardan yola çıkarak yazıyorum. Yine gelen sorulardan birisi subnet ile ilgili, başka bir sohbet internet hızı ile alakalı olunca bunları izah etmek için toplu bir yazı yerinde olur diye düşündüm. Binary kullanım alanında atladığım çok fazla nokta olduğunu biliyorum. En sık karşıma çıkanları yazdım. Sizler de ekleme yapabilirsiniz.
Bilgisayarlar 0 ve 1’ler üzerine kurulu makinelerdir. Sıfır dediğimiz şey kapalı, hayır, olumsuz gibi tanımlanırken bir, açık, evet, olumlu gibi kavramlarla tanımlanır. Bu sisteme binary, yani ikili sistem deriz. Örnek vermek gerekirse bilgisayarda bir işlemin sonucu 247 çıktı. Bu çıktı diske aynen böyle kaydedilmez. Evet biz ekranda, onluk tabanda 247 görürüz. Ancak arka planda diske, binary formatında 11110111 şeklinde kaydolur.Bu sıfır ve birler nasıl 247 olur? Sağdan başlamak üzere sayıları 2n ile çarparız. n, sıfırdan başlar ve bir artar.
(1×20) + (1×21) + (1×22) + (0x23) + (1×24) + (1×25) + (1×26) + (1×27) = 247
1 + 2 + 4 + 0 + 16 + 32 + 64 + 128 = 247
Peki sayıları anladık. Harfleri nasıl binary ile izah ederiz? Orada da ASCII mantığı devreye giriyor. Her harfin ve karakterin ASCII tablosunda sayısal bir karşılığı bulunur ve bu çevirmeleri kullanırız.
Sıfırlar ve birler yalnızca veriler diskte saklanırken kullanılmaz. Bütün hesaplamalar buna bağlıdır. Aynı zamanda veriler, bilgisayarın içerisinde aktarılırken de, internet üzerinde başka yerlere gönderilirken de binary ile iletilir. Bu binary olayı ile elektrik akımı arasında da bir bağ var. Örneğin binarydeki 1’i iletmek için +5 volt, 0’ı iletmek için -5 volt kullanılır. Hatalı veya istisnai durumlar olabilir. Örneğin analog sinyallerde ufak kaymalar bozulmaya sebep olur. Ancak binarydeki gibi dijital sinyallerde +4 volt gitmesi halinde en yakın olasılık olan +5 volta yuvarlanılır ve 1 olarak kabul edilir.
Peki başka bir soruya cevap arayalım. Veri büyüklüklerini hangi birimlerle belirtiriz? Kilobayt, Megabayt, Gigabayt… Bu verileri birbirine dönüştürürken ise 1024 ve katlarını kabul ederiz. Peki neden 1000 değil de 1024? Bunun için verinin en küçük birimi olan “bit” kavramını bilmemiz gerek.
İlkokuldaki matematik derslerimize geri dönelim ve kutucukları kullanalım. Bit dediğimiz şey bir kutudur. Ve içine sadece bir sayı alabilir. E bilgisayarda da sıfır ve bir dışında sayı olmadığını öğrendik. O zaman sıfır veya bir gelecek.
Byte ise sekiz adet bitin bir araya gelmesidir. Neden sekiz bit derseniz, 23 mantığından gelmektedir. Kilobyte ise 1024 byte eder. Sonrasında birimler 1024 katı ile sürekli katlanır. Tahmin edeceğiniz üzere bu da 210 sayısından gelir.
Başka bir soru, internet hızının olayı nedir? 100Mbps dediğimiz hız, saniyede 100 megabayt mı indirir? Hayır. Çünkü internet hızında kısaltma ile verdiğimiz Mbps, megabayt kavramından gelmez. Megabit per second demektir. Yani saniyede 100 megabit. Hemen başa saralım. Bir byte kaç bit ediyordu? Sekiz bit. Öyleyse 100’ü 8’e bölersem saniyede kaç megabayt indirdiğimi bilirim. Bu da saniyede 12.5 megabayt eder. Günümüzde normal bir kullanıcı için bence gayet iyi bir hız 🙂
Devam edelim. İşletim sistemlerinde ve programlarda yer alan 32 bit ve 64 bit nedir? Bu yazılımların mimarileri aynı anda belirli boyutta veriyi işleyebilecek şekilde tasarlanır. Teoride, 32 bitlik mimariler maksimum 4 GB (232 bit 4 GB ediyordu) 64 bitlik mimariler ise maksimum 18 milyar GB veri işler. Haliyle günümüzde 64 bit mimariyi zorlayacak bir RAM veya donanım yok diyebiliriz. Öyleyse buradan şu çıkarımda bulunabilirsiniz, 32 bit işletim sistemi kullandığınızda bilgisayarınızda 4 GB üzerinde ne kadar RAM olursa olsun daima 4 GB’lık performans alacaksınız. Bu durum kullandığınız yazılımlar için de geçerlidir.
Pratikte ise bu hesaplamaların etkisi sıradan kullanıcıları genelde alakadar etmez. Ancak her zaman değil. Örneğin birkaç sene önce Gangnam Style o kadar çok karşımıza çıkmıştı ki artık gerçekten illallah eder olmuştuk. En azından benim için durum böyleydi. Fakat 2012 yılı ortalarında bir o kadar gündeme gelen diğer mesele ise Youtube sayacının çökmesi oldu. Bu acayip danslı klip o kadar çok izlendi ki Youtube’un 32 bitlik sayacının son kapasitesine erişildi ve daha sonrasını saymayı bıraktı. 2,147,483,647 izlenme son raddeydi. Sonrası ise…
Daha sonra ise Youtube, sayacıın 64 bit olarak düzenledi. Artık sayacı kilitlemek için 9,223,372,036,854,775,808 izlenmeye sahip bir video çekilmesi gerek, ki neredeyse imkansız. Belki de yerli bir slime videosu 128bit sayaca geçmeye vesile olur.