Geliştirdiği birçok üründe yaratılmış varlıklardan ilham alan insanoğlu, kendisine bahşedilen akıl, zekâ ve muhakeme gibi özellikler sayesinde, ihtiyaçları doğrultusunda değişik alet ve araçlar üretmiştir. Çağımızın vazgeçilmez bir aracı olan bilgisayar da hiç şüphesiz bu icatlardan biridir. İlk bilgisayar olarak kabul edilen, elle toplama ve çıkarma işlemi yapan (M.Ö. 3000’li yıllarda ilk defa Babil’liler tarafından kullanılan) abaküs, hesap makinesinden, hız bakımından saniyede 1.750 trilyon hesap yapabilen günümüz süper bilgisayarlarına gelinmiştir.
İnsanlık tarihini etkileyen en önemli buluşlardan biri olan bilgisayar da çoğu icat gibi -yaratılmış varlıklardan biri olan- insan örnek alınarak geliştirilmiştir. Nasıl ki, insan, beden ve ona hayatiyet veren ruhtan oluşuyorsa bilgisayar da donanım ve yazılım olmak üzere iki ana bileşenden meydana gelmektedir.
Bilgisayarın güç düğmesine basıldığında elektrik geldiği sürece çalışması, hayatta kalması, elektrik kesildiğinde veya pili tükendiğinde çalışmaması misali ruh da, cisme (bedene) hayat ile beraber girer ve onun ayrılması ile de ayrılıp gider. Ruh - beden münasebeti bozulduğu anda hakiki hayatın çökmesi misali, donanım – yazılım uyumunun olmadığı bilgisayar da sık sık çökme (mavi ekrana düşme) tehlikesi ile baş başadır.
Donanım (Hardware)
Donanım (hardware), bilgisayarın fiziksel yapısını ifade eder. Fiziksel yapı, sadece bir metal yığınından ibaret olan gözle görebildiğimiz, elle dokunabildiğimiz parçalardan oluşur; aynen insanın fiziksel yapısının, bedeninin et ve kemikten oluşması gibi. Kişisel bir bilgisayarın en temel donanımı;
- Giriş birimleri (klavye, fare, tarayıcı, mikrofon gibi),
- Çıkış birimleri (ekran, yazıcı, hoparlör, çizici gibi),
- Merkezi işlem birimi (işlemci / CPU),
- Hafıza birimleri (RAM, ROM, ön bellek)
- Depolama birimleri (Hard disk, DVD - ROM gibi)
ve bu birimler arasındaki iletişim hatlarından oluşmaktadır. Tüm işlemlerin kontrol edildiği, yönetildiği birim olan merkezi işlem birimi (CPU) veya halk dilindeki ismi ile işlemci, bilgisayarın beyni veya kalbi olarak adlandırılır.
İşlemcinin çalıştırdığı programlar ve programa ait bilgiler hafıza birimleri üzerinde saklanır. İşlemci, ihtiyaç duyduğu veriyi ilk önce kapasitesi düşük fakat çok hızlı çalışan ön bellekte (cache memory) arar. Bizler de öyle yapmaz mıyız? Aradığımız bir içecek veya yiyeceği ilk önce evdeki buzdolabında arar, bulamazsak en yakın bakkala gideriz. İşte burada, evimizdeki kapasitesi düşük ama erişim hızı yüksek önbellek buzdolabımızdır. İşlemcinin ön belleğe erişmesi, ana belleğe (RAM) erişmesine oranla çok daha kısadır. Şayet aranan bilgi ön bellekte yoksa işlemci ana belleğe başvurur. Ana bellek geçici bir depolama alanıdır, üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu sebeple bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için depolama birimleri (hard disk, DVD-ROM gibi) kullanılır.
Richard Atkinson ve Richard Shiffrin, insan belleğinin bilgiyi işleme sürecini duyusal bellek (ön bellek), kısa süreli bellek/çalışan bellek (RAM) ve uzun süreli bellek (depolama birimleri) olmak üzere üç aşamada gerçekleştiğini belirterek insan bellek modelini benzer şekilde tanımlamışlardır. 2
Bizler de bilgisayarlar gibi kabaca giriş birimlerimizle, duyu organlarımızla aldığımız/algıladığımız bilgileri kalp ve beynimizde yani işlemcimizde işledikten/muhakeme ettikten sonra ya çıkış birimlerine (ağız,dil, göz gibi) göndeririz ya da depolama birimlerimizde saklarız.
Yazılım (Software)
Bilgisayarlarda kullanılan her türlü program ise yazılım (software) olarak adlandırılır. Başka bir ifade ile yazılım, donanımı kullanmak ve yönetmek için gerekli programlara verilen isimdir. Yazılımlar, donanıma veya bilgisayara hayat veren, canlılık kazandıran programlardır. Yazılımsız bir bilgisayarın hiçbir işe yaramayan ölü bir bedenden farkı yoktur. Nasıl ki ruhsuz (cansız) bir bedenin hiçbir işlevinden söz edilemez, üzerinde hiçbir yazılım/program yüklü olmayan bir donanım da, bir metal yığını olmanın ötesine geçemez.
Hakiki hayat, ruhani ve cismani hayatın omuz omuza ve atbaşı olduğu bir hayattır. Ruh ve beden birlikteliği ve uyumu ile hakiki hayatın devam etmesi ve ruh-beden münasebetinin bozulması ile hakiki hayatın çökmesi gibi bir bilgisayar da, donanım-yazılım uyumu ile birlikte iyi ve kaliteli, süper bir bilgisayar olur.
Yazılım ve donanım arasındaki ilişki
Yazılım ve donanım arasındaki ilişkiyi aşağıdaki şekilde ifade edebiliriz. Şekilden de anlaşılacağı üzere bilgisayarı kullanan kişi yazılım ile donanıma hükmeder.
Şekil 1: Yazılım ile donanım arasındaki ilişki
Herhangi bir görevi gerçekleştirmek üzere özel olarak geliştirilen ve kullanıcıların bu özel işlemleri gerçekleştirebilmek için kullandığı programlara/yazılımlara uygulama programları adı verilir. Esasında bilgisayar üzerinde çalışan tüm programlar (Word, Paint, oyun programları, Web tarayıcıları, v.s.) birer uygulama programıdır. Uygulama programlarını/yazılımlarını (programlama dilleri, ofis yazılımları, paket programlar gibi) kurup çalıştırabilmek için donanım üzerinde Linux, Mac OS, Windows XP/Windows 7 gibi yüklü bir işletim sisteminin (sistem yazılımının) bulunması gerekir. İşletim sistemleri/sistem yazılımları yüklü olmadan bir uygulama programını çalıştırmak mümkün değildir.
İşletim sistemi, insana yüklü bir akıl donanımı gibidir, işletim sisteminin zekâ seviyesine göre bilgisayarınızı kullanmak ve daha kolay işlem yapabilmek, bilgisayarınıza bağlı birimleri (faks modem, DVD-ROM, yazıcı vs.) yönlendirebilmek, bilgisayarınızdaki programları kontrol etmek ve işlemleri gerçekleştirebilmek mümkündür. İşletim sistemi, çalışmakta olan bütün programların, adilane, verimli ve birbirlerinin kaynaklarına müdahale etmeden, aynı donanımı kullanmasını sağlayarak, uygulama yazılımları ile donanım birimleri arasında uyumu sağlar.
Şekil 2: İşletim sistemi uygulama yazılımları ile donanım birimi arasındaki uyumu sağlar.
Trafik polisinin bir kavşakta durup sınırlı olan yolların, çok sayıda araç tarafından kullanılmasını sağlaması gibi, işletim sistemi de aynı anda çalışan pek çok programın, disk, bellek ve işlemci gibi donanım kaynaklarını kullanmasını sağlar.
İşletim sistemleri dâhil, bilgisayar üzerinde çalışan tüm programlar/yazılımlar bir programlama dili kullanılarak yazılmışlardır.
Programlama dilleri ve özellikleri
Bir programcı komutları farklı programlama dilleri kullanarak yazabilir. Şüphesiz, ancak bir programlama dili ile yazılımlar/programlar geliştirilebilir ve bilgisayara yapacağı işlemler söylenebilir. Belki de insanların konuşma dilleri kadar programlama dili geliştirilmiştir. Günümüzdeki birçok modern programlama dili, Konrad Zuse'nin ilk programlanabilir bilgisayarda kullandığı Plankalkül dili ve IBM tarafından geliştirilen Fortran'ın öncülüğünden sonra uygulama sahası bulmuştur. Programlama dillerinin tarihsel gelişimindeki FORTRAN, ALGOL, LISP, PASCAL, APL, SIMULA, CPL, ADA, SMALLTALK, BASIC, PROLOG, C gibi büyük atlama taşlarının birçoğu günümüzde şekil değiştirmek suretiyle de olsa güncelliğini korumaktadır. Bunların yanında daha yakın bir tarihte geliştirilmiş olan, bu dillerin torunları olarak gösterebileceğimiz Java, C++, C#, Python, Ruby, Perl, Delphi, Visual Basic, PHP gibi diller de sahnede kendilerini göstermiş ve programlama dili pastasında günümüzde önemli bir pay sahibi olmuşlardır.
Bütün bu programlama dillerini insanın algılamasına veya makineye yakın olmasına göre 2 gruba ayırabiliriz;
- Alt seviyeli diller (Assembly dili)
- Üst Seviyeli Diller (Visual Basic, Pascal, Delphi, Cobol, FoxPro, Java, C++ gibi...)
İnsanın/programcının algılamasına yakın diller üst seviyeli diller, makineye/bilgisayara yakın diller ise alt seviyeli diller olarak adlandırılmaktadır.
Şekil 3: Programcı ile bilgisayar (PC) arasındaki İlişki
İnsan ya da programcı (konuşma dili bilen) ile bilgisayar ( makine dili- “1,0” bilen) arasındaki iletişim, birbirinin konuşma dilini bilmeyen iki yabancı devlet adamının bir araya geldiğindeki konuşma veya anlaşma mantığı ile aynıdır. Tahmin edersiniz ki, bu yabancı iki devlet adamı arasındaki görüşme, ancak tercüman veya çevirmenler aracılığı ile gerçekleşebilecektir. Benzer şekilde bilgisayar üreticileri de, aynı sorunu insanın konuşma dilini bilgisayarın makine diline çevirecek, bir nevi tercümanlık yapacak “derleyici veya yorumlayıcı programlar” geliştirerek çözmüşlerdir.
Şunu unutmamalıyız ki, çağımızın vazgeçilmez bir aracı olan bilgisayarı donanımsal olarak tasarlayıp, üreten ve ona yazdığı programlar ile hükmeden insanın güzelliği, fani olan bedeni güzelliğinde değil, ebediyete meftun ve âşık olan ruhunda aranmalıdır. Evet, ruhumuz olmadan sadece birer makineyiz.
Kaynaklar:
1. Algoritma Geliştirme ve Veri Yapıları, ISBN:9756477878, Pusula Yayıncılık, 2007
2. “Working Memory and Academic Learning: Assessment and Intervention”, ISBN: 047014419X, Wiley Yayıncılık, 2008