kmars.JPG (3297 bytes)

AUTOMATION

BİLGİSAYAR YAZILIMI (SOFTWARE)

Doç. Dr. Kutlu MERİH

 

BİLGİSAYAR YAZILIMI (SOFTWARE)

YAZILIM KAVRAMI VE TÜRLERİ

Bilgisayara bir takım işler yaptırmak için hafızasında saklayarak işlem yapmakta kullandığı i komutlar vermek gerekir. Komutlar genel olarak klavyeden veya diğer giriş birimlerinden bilgisayara verilen emirlerdir.

Bilgisayara iş yaptırmak için verilen komutlar veya bu komutlar zincirinden oluşan bilgisayar programlarına yazılım (software) adı verilir. Diğer bir değişle, yazılım ile program kelimeleri birbiriyle eş anlamlıdır. Herhangi bir yazılım olmadan bilgisayara bir iş yaptırmak mümkün değildir. Bu nedenle yazılım dünyası donanımla beraber çalışan, fakat başlı başına önemli olan ayrı bir dünyadır. Gerçek anlamda ilk bilgisayarın üretilmesi ile yazılım kavramı gündeme gelmiş ve bilgisayarı çalıştırmak için birçok programlama dilleri geliştirilmiştir.

Programlama dilleri, işletim sistemi programları, derleyiciler, yorumlayıcılar, editörler, genel ve özel amaçlı bütün uygulama programları bilgisayarın yazılım dünyasını oluşturur. Fakat hangi grupta olursa olsun bütün yazılımlar bir programlama dilinde kodlanarak oluşturulmuş programlardır. Hatta, programlama dillerinin kendileri de diğer bir kodlama sisteminde yazılmış bilgisayar programlarıdır.

Yazılım dünyasında sık kullanılan terimlerden bazılarının açıklamaları şöyledir:

    1.Sistem yazılımları : Bilgisayar donanımını herhangi bir iş için kullanıma hazırlayan, bilgisayar belleğini ve çevre bilimlerini harekete geçiren, merkezi işlem birimi ile olan ilişkilerini kuran ve kontrol eden programlardır. Bu programlar, aynı zamanda bilgisayarın işletim sistemini oluştururlar. Bilgisayarda değişik işletim sistemleri kullanıla bilir. Bu nedenle her işletim sisteminin kendine özgü sistemi vardır.örnek olursa, DOS, UNIX, XENIX farklı işletim sistemleridir ve bunların sistem yazılımları da birbirinden farklıdır. Sistem programları, bilgisayarın açıklaması ile devreye girer ve kapanıncaya kadar bellekte kalırlar.

    2. Uygulama programları (Application programs) : Bilgisayarın belirli bir işleme yönelik olarak çalışmasını sağlayan programlardır. Bu programlar kişi veya firmalarca paket programlar halinde piyasaya sürülürler. Mesela, bilgisayarda veri yığınlarını işlemek için veri tabanı programlarına, yazı yazmak için kelime işlem programlarına, grafik çizimleri için grafik çizim programlarına, bir işyerinde depo kontrolü için stok kontrol programlarına ihtiyaç vardır. Bilgisayar kullanıcıları bu tür programları kendilerine yazamazlar veya bu tür programları yapmak, uzun zaman alacağından hazır yapılmış olanlarını uygulamaya koyarlar.

Uygulama programları, bilgisayar programlama dillerinden biri veya birkaçı ile yazılarak oluştururlar. Özel bir alanda işlem yapabilmesine karşın, değişik kesimlerde aynı amaçla kullanılabilmesi, bu tür programların genel özelliğidir. Başlıca uygulama programları şunlardır.

      1- Veri tabanı programları;
      2- Grafik çizim programları;
      3- Kelime işlemcileri;
      4- Hesaplama tabloları;
      5- Muhasebe programları;
      6- Stok kontrol programları;
      7- İstatistik programları vs.
       

    3- Kullanıcı programları (User programs) : Bilgisayar kullanıcıları tarafından herhangi bir programlama dilinde yapılan programlardır.

    4- Hizmet veya destek programları (Utility Programs) : Bilgisayarda program izleme, sıralama, listeleme, dosya silme vs. gibi bazı işlemler sık olarak yapılırlar. Örneğin, bir program yazılırken hataların daha kolay bulunması için izleme (tracing) programlarına,verileri sıralamak için sıralama (sorting) programlarına veya bilgileri yedeklemek için yedekleme (backup) programlarına ihtiyaç duyulur. Bu işlemleri yapabilecek programlar daha önceden yapılarak programcıların veya kullanıcıların hizmetlerine sunulurlar. Bu tür yazılımlara hizmet, destek veya yardımcı yazılımlar adı verilir.

    5- Kelime işlemciler (Editörler) : Bilgisayarda metinler yazmak ve yazıcıdan almak amacıyla oluşturulan uygulama yazımlarıdır.

 
MAKİNA DİLİ

Bilgisayarın verileri ikili sayı sisteminde algıladı bilinmektedir. Bilgisayara her komut veya çalıştırılan her program satırı merkezi işlem biriminde ikilik sayı sisteminde (1 ve 0'larla) yazılmasıdır. Bu yüzden Makine dilli bilgisayarın ana dilli gibidir. Programcı bilgisayara vermek istediği komutları ikilik sayı sisteminde kodlar. İlk programcılarını Makine diliyle yazmışlardır. Fakat, bu dilde program yazmak veya yazılmış programları anlamak çok zordur. Ayrıca, programcının donanım hakkında da çok şeyler bilmesini gerektirir. Bu nedenle, günümüzde bir çok simgesel programlama dilleri geliştirilmiştir.

PROGRAMLAMA DİLLERİ

Makine dilinde bilgisayar programı yazmanın güçlülüğü, bilgisayarı daha kolay şekilde programlama yollarının bulunmasını ortaya getirmiştir. Bu amaçla ikilik sayı sisteminde verilen her komuta karşılık gelen kelime-komutlar icat edilerek, simgesel programlama dilleri geliştirilmiştir. Böylece bilgisayarın geniş kitlelerce daha kolay şekilde programlanması ve kullanılması sağlanmıştır.

Programlama dilleri, genellikle İngilizce kelimelerden seçilmiş komutlardan oluşur. Her dilin kendine has birtakım özellikleri vardır. Programcı bilgisayarda yapılacak olan işin özelliğine göre uygun bir dil seçerek programını yazar. Örneğin, bir kütüphane programı için uygun olan dil, bazı matematik işlemlerinin yapılması için uygun olmayabilir. Fakat sonuç olarak bir programlama dilini öğrenmek ve bu dille program yazmak Makine diline oranla daha kolaydır.

Programlama dilleri kendi arasında alt düzey ve üst düzey programlama dilleri olarak iki kısma ayrılır. Alt düzey programlama dilleri makine diline oldukça yakın ve bilgisayarın teknik özelliklerini daha fazla kullanabilen dillerdir.Bu dile en iyi örnek assembly dilidir. Alt düzey dillerin en kötü yanı bilgisayar donanımına fazlaca bağımlı olmasıdır. Bu dilde program yazmak için bilgisayarın teknik özellikleri hakkında da bilgi sahibi olmak gerekir.

Üst düzey diller,programcının makineye olan bağımlılığını ortadan kaldırmak için geliştirilmiştir. Bu dillerde yapılan programlar değişik teknik özelliklere sahip her makineden çalıştırılabir. Bu diller,genellikle İngilizce cümlelerden oluşan bir yazı gibidir. Bu yüzden üst düzey dilleri öğrenmek ve program yazmak daha kolaydır. Basic,Cobol,Pascal, PL/1,Fortran,Ada, APL gibi diller üst düzey diller grubundadır.

DERLEYİCİ VE YORUMLAYICILAR

Bu programlama dilinde yazılan program,bilgisayarda hemen çalıştırılamaz. Çünkü,bilgisayarlar sadece makine dilinde yazılan programları anlayabilirler. Bu yüzden programlama dilleri ile yazılan programları makine diline çeviren yazılımlara Derleyici (Compiler) veya Yorumlayıcı (Interpreter) denir.
Bazı dillerin ise hem derleyici hem de yorumlayıcıları olabilir.

Derleyicisi olan programlama dillerinde,program yazıldıktan sonra derleyiciden geçilerek makine koduna dönüştürülür. Program yazılırken hatalar yapılmışsa,derleme esnasında bu hatalar listelenir. Programcı daha sonra bu hataları gidererek,programı yeniden derler. Bu tür programlar ancak derlendikten sonra bilgisayarda çalıştırılabilirler.

Cobol, Pascal, PL/1, C gibi diller derleyicisi olan dillerdir.

Basic, Dbase gibi programlama dilleri ise hem yorumlayıcısı hem de derleyicisi olan dillerdir.

Yorumlayıcılar da programları makine koduna dönüştüren yazılımlardır. Derleyici ile arasındaki fark şudur: Yorumlayıcılar programın her satırını anında makine diline çevirerek çalıştırırlar. Bu yüzden program yarım bile olsa, yazılmış kısımlarını hemen uygulamaya sokmak mümkündür. Ayrıca,yorumlayıcılar kaynak programın makine koduna çevrilmiş şeklini ayrı bir dosyada saklamazlar. Yorumlayıcı,program her çalıştırıldığında her satırı yeniden makine koduna dönüştürecek uygulamaya sokar. Bu yüzden yorumlayıcılar yavaş çalışırlar. Diğer bir fark da yorumlayıcıların,bilgisayarın teknik imkanlarını sonuna kadar kullanamamasıdır. Derleyiciler ise,programın makine kodunu bir kez oluşturarak ayrı bir dosyada saklarlar. Programın her çalıştırılmasında bu kod kullanılır.