27 Temmuz 2017 Perşembe

PROGRAMLAR BİLGİSAYARDA NASIL ÇALIŞIR?

Evde, işte, yol tarifini bulmada, eğlencede, iletişimde ve daha sayamadığımız pek çok alanda, hayatımızın her alanında bilgisayarları kullanmaktayız. Bilgisayara bağımlı bir çağda yaşıyoruz, o olmadan pek çok işimizi yapamaz durumdayız. Bilgisayarı işlevsel ve değerli kılan ise üzerinde çalıştırılan programlardır. Telekomünikasyon, finans, iş dünyası, eğlence sektöründe sayısız uygulamalar kullanılmaktadır. Çağdaş toplumların sinir sistemi olarak ifade edilen bilgisayarları, gelişmiş programlar olmadan hayal etmek zordur.

Bilgisayarların nasıl çalıştığını bilmenin, son kullanıcı için pek bir önemi yoktur. Ancak programcılar için bu önemlidir. Bilgisayarların çalışma prensibi kompleks bir konu ve biz konuya bilgisayar-program ilişkisi yönüyle (bilgisayarlarda programların-yazılımların- nasıl çalıştığı yönüyle) bakacağız bu yazıda.

Bilgisayarlar bilgiyi nasıl işler?


Programlamanın ne demek olduğunu anlamak için, bir bilgisayar ve üzerinde çalışan işletim sistemi ile büyük bir fabrikayı karşılaştıralım. Kabaca bir fabrikanın iş atölyelerinden, depolardan ve taşıma birimlerinden oluştuğunu varsayalım. Ve bir de üretim süreçlerini ve işlemleri izleyen bir yönetim kademesinin fabrikayı yönettiğini kabul edelim. Böyle bir karşılaştırma bilgisayarlar-program ilişkisi karmaşıklığını anlamada bize kolaylık sağlayacağını umut ediyorum.

Fabrikaların iş atölyelerinde ve üretim hatlarındaki iş ve işlemler, bilgisayarlarda da çalışan birçok süreç ve işlemi;

Fabrikalarda depoların işlevlerini, bilgisayarlarda  sabit sürücü ve belleği(RAM);

Fabrikalardaki taşıma sistemini ise bilgisayarlarda bilginin giriş-çıkışını sağlayan protokoller temsil etsin.

Fabrikalarda üretilen birbirinden farklı ürünler farklı atölyelerden geliyor. Atölyeler, depolardan gelen ham maddeleri kullanıyorlar ve tamamlanmış ürünleri depolarda saklamak için tekrar geri gönderiyorlar. Ham maddeler tedarikçiler tarafından depolara ulaştırılıyor ve tamamlanmış ürünlerde depolardan gidecekleri noktalarına taşınıyorlar. Bu taşıma işleri için farklı taşıma yöntemleri kullanılıyor. Kısaca ham madde fabrikaya giriyor, farklı düzeylerde işleme aşamalarından geçiyor ve bir ürüne dönüştürülmüş halde fabrikadan gönderiliyorlar. Kabaca her fabrika son kullanıcılara hazır halde sunmak için ham maddeleri ürüne dönüştürme işlemlerini yaparlar.

Bilgisayara gelince; bilgisayarlar bilgiyi işleyen makinelerdir. Fabrikalardaki “ham madde” ve “ürün” ikilisinin yerini burada “bilgi” alıyor. Yani bilgisayarlarda girdi ve çıktı olarak bilgi yer almaktadır.. Bilgi pek çok işlemden (süreçten) geçmekte, değişime uğramakta ve  işlenmiş halde çıkmaktadır. Web tabanlı uygulamaları temel örnektir. Bu uygulamalar, HTTP protokolünü kullanarak bilgi transfer etmektedirler. Fabrikaların atölyelerinde yapılan işlemlere benzer şekilde burada ise bilgi işleme genellikle bir veritabanından bir içeriğin - bilginin- çıkarılması ve HTML formu içinde görsel olarak hazırlanması ile ilgili olmaktadır.

Programlar bilgisayarı nasıl yönetiyor?



Fabrika örneğine geri dönersek tüm üretim süreçleri için birçok yönetim kademesi yer almaktadır. Fabrikadaki her bir makinenin ayrı bir kullanıcısı-operatörü- bulunmakta, depoların ve atölyelerin yöneticileri bulunmakta ve fabrika bir bütün halinde genel yöneticiler-müdürler- tarafından yönetilmektedir. Her biri ayrı bir yönetim kademesi tarafından kontrol edilmektedir. Makine operatörleri yönetim kademesi anlamında düşük seviyededir. Bir sonraki yönetim kademesi atölye yöneticileri ve depo yöneticileri için ayrılmıştır. Ve en üst seviyede genel müdürler, fabrikanın üretim süreçlerinin çeşitli yönlerini yönetmektedirler.

Bilgisayar ve program ilişkisinde de aynı şey söz konusudur. Burada da birçok kontrol ve yönetim işlemi söz konusu olmaktadır. Bir programla bilgisayara birşeyler yaptırılmak istendiğinde işlemlerin kontrol ve yönetimi gerekmektedir. En düşük seviye işlemler işlemci (processor) tarafından yerine getirilmektedir. Makine programları kullanılarak en düşük seviye bu işlemler gerçekleştirilir. Tıpkı atölyelerdeki makinelerin kontrolünde olduğu gibi. Bilgisayarda dosya sistemi, çevresel aygıtlar, kullanıcılar, iletişim protokolleri ise bir adım üstte işletim sistemi (Operating System) tarafından yüksek seviyede kontrol edilmektedir. Fabrikalarda atölye ve diğer departmanların yönetiminde olduğu gibi. Ve en yüksek seviyede uygulama yazılımları -programlar- yer alır. Çok fazla sayıda işlemci işlemini gerektiren işlemlerin bir birleşimi olarak çalışır. Bu seviye ise fabrikalarda kaynakların kullanımını maksizmize etmek ve kaliteli sonuçlar elde etmek için tüm fabrikayı yöneten genel müdürlerin seviyesidir.