Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

27 Haziran '07

 
Kategori
Bilgisayar
 

Bilgisayar Kursu: Yazılım-4.Bölüm

Bilgisayar Kursu: Yazılım-4.Bölüm
 

BİLGİSAYARI PROGRAMLAMAK veya BİLGİSAYAR PROGRAMI YAZMAK NE DEMEKTİR?

Herhangi bir elektronik donanım gibi bilgisayarlarda belirli bir amaç için üretilirler ve bu amaça yönelik yüzlerce farklı fonksiyona sahip olurlar. Bu fonksiyonları belirli bir süreç dahilinde kullanacak olan da bilgisayar programlarıdır. Bir bilgisayar sisteminde bu anlamda programları yürütecek donanımın adı Merkezi İşlem Birimi yani CPU (Central Processing Unit)' dir. Veya daha genel ifadeyle bilgisayarın beyni:)

CPU' lar donanım olarak tasarlandıkları zaman belirli bir mimariye sahip olurlar. Bu mimari CPU' nun programlanmasında da kullanılan dilin de özelliklerini belirler. Bu bağlamda şu an mevcut durumda herkesin kullanmakta olduğu Intel ve AMD CPU' ların temelinde 80x86 mimarisi yatar. Intel' in ortaya koyduğu 8086 mikroişlemci ailesi ile ilk olarak ortaya çıkan bu mimari sürekli geliştirilerek günümüze kadar ulaşmıştır.

80x86 mimarisi temel alarak ilerleyecek olursak böyle bir mimariye sahip bir CPU' ya sahip bir bilgisayar sistemini programlamanın ilk yolu bu işlemciye doğrudan makina dilinde (Assembly Language) komutlar yazmaktır. Bu dil herhangi bir mikroişlemci için kullanılan en temel dildir ve hangi yoldan giderseniz gidin sonuçta kullandığınız tüm araçlar ilgili komutları bu dile dönüştürür. Çünkü CPU' nun anladığı tek dil kendisi için geliştirilen makina dilidir. Ancak makina dili öğrenilmesi ve program geliştirilmesi oldukça zor bir dildir. Bunu basit bir örnekleme açıklamak mümkündür.

2054:0100 Push Ds
2054:0101 Mov Ax,B800
2054:0104 Mov Ds,Ax
2054:0106 Mov Si,0000
2054:0109 Mov Word [Si],7941
2054:010C Pop Ds
2054:010D Int 20

Yukarıdaki basit örnek 80x86 makina dilinde yazılmıştır. Sol kısımda görülen rakamlar programın bellekte bulunduğu adresi, sağ taraf ise yürütülen komutları göstermektedir. Oldukça yalın bir biçime sahip olan makina dili, o bilgisayar sisteminde çalışan en hızlı programları yazmak için idealdir. Aynı zamanda oldukça az miktarda bellekte yer işgal eder. Herhangi bir makina dilinin bu avantajlarına rağmen oldukça büyük bir dezavantajı da vardır. O da örnekten çok rahat görüldüğü gibi bu ortamda yazılım geliştirmek çok zordur ve ekrana sadece bir "A" harfi yazdırmak için bile yukarıdaki komutlara benzer komutlardan onlarcasını çalıştırmak gerekebilir. Böyle olunca da bu ortamın ideal bir yazılım geliştirme aracı olduğu söylenemez. Çünkü makina dili her mikroişlemci ailesi için farklılıklar gösterir ve bu dilde program yazma CPU' nun donanım alt yapısını çok iyi bilmeyi gerektirir. Bu da herkesin çalışarak kolayca öğrenebileceği birşey değildir. Ayrıca bunu becermiş olsanız bile sürekli gelişen mikroişlemciler onlarca özelliği de beraberinde getirmektedir.

Durum böyle olunca makina dilinde çok büyük programlar örnek olarak bir işletim sistemi yazmak neredeyse imkansızdır. Buna karşın bir program içinde çok hızlı çalışması istenen küçük bir program blogu bu dille yazılabilir. Bu dille geliştirilen programların çok az yer kaplamaları ve oldukça düşük seviyeden sisteme müdahele etme şansı verdiği içn genelde virüs yazan yazılımcıların ilk tercihlerini oluşturur. Bildiğiniz gibi virüslerde çok büyük programlar değildir.

Hoşcakalın..!

Devam Edecek.



 
Toplam blog
: 410
: 3283
Kayıt tarihi
: 13.04.06
 
 

Bilgisayar, elektronik, internet alanındaki son gelişmeler. Tüketici elektroniğindeki trendler. Otom..