Bilgisayarların 0 ve 1'lerle çalıştığını eminim hepiniz duymuşsunuzdur. Peki bilgisayarların bu kadar karmaşık işlemleri sadece iki rakamla nasıl yapabildiğini hiç düşündünüz mü? Kafamızla uğraşıp çözemediğimiz matematiksel işlemleri, foğrafları, oyunları vs. nasıl oluyor da bilgisayarlar, sadece 0 ve 1'i kullanarak işleyebiliyor sizce?
Bu konuyu anlayabilmemiz için öncelikle bilginin ne olduğunu anlamamız gerekiyor.
Bilgi basitçe, herhangi bir nesne veya sürecin kodlanmış halidir. Kodlama kelimesi teknolojinin geldiği konum itibariyle, daha çok program kodlama olarak algılanabiliyor. Ancak benim bahsettiğim şey bu değil. Konuya örnek üzerinden devam edersek demek istediğimi daha iyi anlayacağınızı düşünüyorum.
Mesela "elma" kelimesini gördüğünüz zaman kafanızda bir imge belirir. Bu sayede neyi kastettiğimi rahat bir şekilde anlarsınız. Aynı zamanda, eğer temel seviyede İngilizce biliyorsanız "apple" dediğimde de neyi kastettiğimi anlarsınız. Çünkü bu iki kelimeyi, bilincinizde aynı imge üzerine kodlamışsınızdır.
Bu bağlamda, dillerinde aslında bir kodlama aracı olduğunu söyleyebiliriz. Bir topluluğu oluşturan insanlar beyinlerindeki imgeleri aynı kelimeler üzerine kodlar. Bu sayede de kendilerini ifade etmek istediklerinde saçma sapan vücut hareketleri yapmalarına veya garip sesler çıkarmalarına gerek kalmaz(ki aslında bunlarda kodlanmış bilgidir).
Soyut veya somut, her bilgi farklı şekillerde kodlanabilir. Mesela yukarıdaki örnek somut bilginin kodlanmasına örnektir. Soyut bilginin kodlanmasına örnek olaraksa, duygu dolu bir şiir veya matematiksel bir eşitlik verilebilir. Mesela yer çekimi dediğimiz şey soyut bir kavramdır ve anlaşılması oldukça güçtür. Ancak (g=10m/s) eşitliğini gördüğümüz zaman yer çekiminin ne anlama geldiğini rahatlıkla kavrayabiliriz.
Bilgi ve kodlanabilirlik konusunu umarım anlatabilmişimdir.
Şimdi ikinci kısma başlıyoruz. Bu bölümde bilginin yapı taşlarından biraz bahsedeceğiz.
Bilgi kodlanabilir olmasının yanı sıra form da değiştirebilmektedir. Yani aynı bilgiyi farklı şekillerde ifade edebiliriz. Mesela "elma"da diyebilirim, resmini de çizebilirim. Veya şeklini matematiksel denklemlerle de ifade edebilirim. Daha başka yolları da muhakkak vardır.
Peki madem bir bilgi farklı şekillerde ifade edilebiliyor, o zaman tüm bilgileri ortak bir şekilde ifade edebilir miyiz? Tabii ki de edebiliriz! Nasıl mı? 0 ve 1'lerle...
1948 yılında Claude Shannon isimli bir bilim insanı iletişim konusuyla ilgili bazı çalışmalar yayınlıyor. Bu çalışmalardan sonra bilgi teorisi olarak isimlendirilen bir teori ortaya çıkıyor. Bu teoriye göre bilgi, 0 ve 1'lerle ifade edilebilen her türlü veri olarak tanımlanmaktadır.
Artık 0 ve 1'in ne olduğundan bahsetme zamanı.
0 ve 1 aslında bir kavramdır. Genelde rakam olarak karşımıza çıkıyor ama aslında ikili yapıda olan her şey 0 ve 1 rakamlarının yerine kullanılabilir. Mesela açık-kapalı, var-yok, doğru-yanlış gibi kavramları da 0-1 yerine kullanabilirsiniz. Ancak bilgisayar bilimlerinde tüm bu kavramlar genel olarak, ikili sayı sisteminin elemanı olan 0-1'lerle ifade edilir. Bit kavramı da buradan çıkmıştır. İkili sayı sisteminin İngilizcesi "Binary Digit"tir. Birinci kelimenin ilk iki harfi ile ikinci kelimenin son harfi birleştirilerek, "bit" kelimesi türetilmiştir. Bitler, herhangi bir bilginin ifade edilmesi için kullanılabilecek en küçük birimlerdir. Bu bağlamda, bitlerin aslında bilginin ölçütü olduğunu söylemek çokta yanlış olmaz.
Ancak dediğim gibi 0-1 sayı olmaktan çok bir kavramdır. Mesela,
Veriler sabit diskteki manyetik bir tabaka üzerine kaydedilir. Bu verilerin kaydedilmesinde manyetizmadan faydalanılır ve 0-1'ler manyetik olarak temsil edilir.
İşlemciler ise basitçe, üzerlerindeki transistörlerin açık veya kapalı olma durumuna göre işlem yapar. Buradaysa 0-1' kavramları açık-kapalı olarak temsil edilir.
Fiber optik kablolarda yine bu mantık üzerinden iletim yapmaktadır. Veri, kablo içinde ışığın yansıtılma prensibi üzerinden taşınmaktadır. Burada, tahmin edebileceğiniz gibi, aydınlık-karanlık durumşaro mantıksal olarak 0-1'i temsil etmektedir.
Tabi ki de her şey bu kadar basit değil. Ancak sürecin temeli budur. Yani her şey mantıksal olan 0 ve 1 kavramlarını, çeşitli formlara dönüştürebilmek ve bu formlar arasında geçişi sağlayabilmekle alakalıdır.
Son olarakta 0-1'lerin, anlamlı bilgiye nasıl dönüştürüldüğünü basit bir örnek üzerinden anlatmaya çalışacağım. Ama bunun için Byte'ın ne olduğundan kısaca bahsetmem gerekiyor.
Byte dediğimiz şey, 8 tane 0 veya 1'in yan yana gelmesiyle oluşan yapıdır. Mesela "00110001" bir Byte'dır. 8 bit kendi arasında 2 üzeri 8 yani 256 farklı şekilde sıralanabilir. Bu Sıralamaların her biri, "A,a,B,b,C,c,+,-,1,2 ..." gibi bazı harf ve sembollerle eşleştirimiştir(kodlanmıştır). Google'a, ASCII tablosu yazarak bu eşleştirmeleri görebilirsiniz.
Klavye üzerindeki herhangi bir harfe bastığınızda 8 bitlik bir veri paketi oluşturulur. Farklı formlarda iletimi sağlanan bu bitler, ana kart üzerinde çeşitli işlemler görür ve son olarak ekranınıza bastırılır. Süreç basitçe bu şekilde işlemektedir.
Bu arada kullanılan her harfin boyutu 1 Byte'dır. "Merhaba" yazıldığında oluşan veri ise 7 Byte'lık bir veridir. Bu bağlamda düşünürsek, 1 MB veya 1 GB gibi depolama alanlarının bile aslında ne kadar büyük bir alan olduğunu anlayabiliriz.
Okuduğunuz için teşekkürler. Yazarken genel olarak kendi yorumlarım üzerinden konuları ele aldım. O yüzden bazı yerlerde hata yapmış olabilirim. Konuyu bilen arkadaşlar eksik veya hatalı gördüğü kısımları yazarsa eğer düzeltmeye çalışırım.
Bu konuyu anlayabilmemiz için öncelikle bilginin ne olduğunu anlamamız gerekiyor.
Bilgi basitçe, herhangi bir nesne veya sürecin kodlanmış halidir. Kodlama kelimesi teknolojinin geldiği konum itibariyle, daha çok program kodlama olarak algılanabiliyor. Ancak benim bahsettiğim şey bu değil. Konuya örnek üzerinden devam edersek demek istediğimi daha iyi anlayacağınızı düşünüyorum.
Mesela "elma" kelimesini gördüğünüz zaman kafanızda bir imge belirir. Bu sayede neyi kastettiğimi rahat bir şekilde anlarsınız. Aynı zamanda, eğer temel seviyede İngilizce biliyorsanız "apple" dediğimde de neyi kastettiğimi anlarsınız. Çünkü bu iki kelimeyi, bilincinizde aynı imge üzerine kodlamışsınızdır.
Bu bağlamda, dillerinde aslında bir kodlama aracı olduğunu söyleyebiliriz. Bir topluluğu oluşturan insanlar beyinlerindeki imgeleri aynı kelimeler üzerine kodlar. Bu sayede de kendilerini ifade etmek istediklerinde saçma sapan vücut hareketleri yapmalarına veya garip sesler çıkarmalarına gerek kalmaz(ki aslında bunlarda kodlanmış bilgidir).
Soyut veya somut, her bilgi farklı şekillerde kodlanabilir. Mesela yukarıdaki örnek somut bilginin kodlanmasına örnektir. Soyut bilginin kodlanmasına örnek olaraksa, duygu dolu bir şiir veya matematiksel bir eşitlik verilebilir. Mesela yer çekimi dediğimiz şey soyut bir kavramdır ve anlaşılması oldukça güçtür. Ancak (g=10m/s) eşitliğini gördüğümüz zaman yer çekiminin ne anlama geldiğini rahatlıkla kavrayabiliriz.
Bilgi ve kodlanabilirlik konusunu umarım anlatabilmişimdir.
Şimdi ikinci kısma başlıyoruz. Bu bölümde bilginin yapı taşlarından biraz bahsedeceğiz.
Bilgi kodlanabilir olmasının yanı sıra form da değiştirebilmektedir. Yani aynı bilgiyi farklı şekillerde ifade edebiliriz. Mesela "elma"da diyebilirim, resmini de çizebilirim. Veya şeklini matematiksel denklemlerle de ifade edebilirim. Daha başka yolları da muhakkak vardır.
Peki madem bir bilgi farklı şekillerde ifade edilebiliyor, o zaman tüm bilgileri ortak bir şekilde ifade edebilir miyiz? Tabii ki de edebiliriz! Nasıl mı? 0 ve 1'lerle...
1948 yılında Claude Shannon isimli bir bilim insanı iletişim konusuyla ilgili bazı çalışmalar yayınlıyor. Bu çalışmalardan sonra bilgi teorisi olarak isimlendirilen bir teori ortaya çıkıyor. Bu teoriye göre bilgi, 0 ve 1'lerle ifade edilebilen her türlü veri olarak tanımlanmaktadır.
Artık 0 ve 1'in ne olduğundan bahsetme zamanı.
0 ve 1 aslında bir kavramdır. Genelde rakam olarak karşımıza çıkıyor ama aslında ikili yapıda olan her şey 0 ve 1 rakamlarının yerine kullanılabilir. Mesela açık-kapalı, var-yok, doğru-yanlış gibi kavramları da 0-1 yerine kullanabilirsiniz. Ancak bilgisayar bilimlerinde tüm bu kavramlar genel olarak, ikili sayı sisteminin elemanı olan 0-1'lerle ifade edilir. Bit kavramı da buradan çıkmıştır. İkili sayı sisteminin İngilizcesi "Binary Digit"tir. Birinci kelimenin ilk iki harfi ile ikinci kelimenin son harfi birleştirilerek, "bit" kelimesi türetilmiştir. Bitler, herhangi bir bilginin ifade edilmesi için kullanılabilecek en küçük birimlerdir. Bu bağlamda, bitlerin aslında bilginin ölçütü olduğunu söylemek çokta yanlış olmaz.
Ancak dediğim gibi 0-1 sayı olmaktan çok bir kavramdır. Mesela,
Veriler sabit diskteki manyetik bir tabaka üzerine kaydedilir. Bu verilerin kaydedilmesinde manyetizmadan faydalanılır ve 0-1'ler manyetik olarak temsil edilir.
İşlemciler ise basitçe, üzerlerindeki transistörlerin açık veya kapalı olma durumuna göre işlem yapar. Buradaysa 0-1' kavramları açık-kapalı olarak temsil edilir.
Fiber optik kablolarda yine bu mantık üzerinden iletim yapmaktadır. Veri, kablo içinde ışığın yansıtılma prensibi üzerinden taşınmaktadır. Burada, tahmin edebileceğiniz gibi, aydınlık-karanlık durumşaro mantıksal olarak 0-1'i temsil etmektedir.
Tabi ki de her şey bu kadar basit değil. Ancak sürecin temeli budur. Yani her şey mantıksal olan 0 ve 1 kavramlarını, çeşitli formlara dönüştürebilmek ve bu formlar arasında geçişi sağlayabilmekle alakalıdır.
Son olarakta 0-1'lerin, anlamlı bilgiye nasıl dönüştürüldüğünü basit bir örnek üzerinden anlatmaya çalışacağım. Ama bunun için Byte'ın ne olduğundan kısaca bahsetmem gerekiyor.
Byte dediğimiz şey, 8 tane 0 veya 1'in yan yana gelmesiyle oluşan yapıdır. Mesela "00110001" bir Byte'dır. 8 bit kendi arasında 2 üzeri 8 yani 256 farklı şekilde sıralanabilir. Bu Sıralamaların her biri, "A,a,B,b,C,c,+,-,1,2 ..." gibi bazı harf ve sembollerle eşleştirimiştir(kodlanmıştır). Google'a, ASCII tablosu yazarak bu eşleştirmeleri görebilirsiniz.
Klavye üzerindeki herhangi bir harfe bastığınızda 8 bitlik bir veri paketi oluşturulur. Farklı formlarda iletimi sağlanan bu bitler, ana kart üzerinde çeşitli işlemler görür ve son olarak ekranınıza bastırılır. Süreç basitçe bu şekilde işlemektedir.
Bu arada kullanılan her harfin boyutu 1 Byte'dır. "Merhaba" yazıldığında oluşan veri ise 7 Byte'lık bir veridir. Bu bağlamda düşünürsek, 1 MB veya 1 GB gibi depolama alanlarının bile aslında ne kadar büyük bir alan olduğunu anlayabiliriz.
Okuduğunuz için teşekkürler. Yazarken genel olarak kendi yorumlarım üzerinden konuları ele aldım. O yüzden bazı yerlerde hata yapmış olabilirim. Konuyu bilen arkadaşlar eksik veya hatalı gördüğü kısımları yazarsa eğer düzeltmeye çalışırım.
Son düzenleme: