Yazılım Mühendisliğine Giriş
2018 GÜZ
İkinci Kuşak Bilgisayarlar - 1956-1963 Transistör
Transistor vakum
tüplerden sonra radikal bir gelişmedir.
Transistör 1947 yılında keşfedilmiştir.
50 li yılların sonuna kadar
bilgisayarlarda yaygın kullanımı görülmez.
Vakum tüplere göre çok daha avantajlıdır.
Bilgisayarların küçülmesini ,
hızlanmasını, ucuzlamasını, enerji tasarrufunu ve çok daha fazla
güvenilirliği sağlamıştır.
Transistorun fazla miktarda ısı
yayması bilgisayarın zarar görmesine neden olabilmekteydi.
İkinci Düzey Programlama Dilleri : Düşük Düzeyli Assembly Dili
Bu diller makine kodundan geliştirilmiştir.
Bu diller makineye bağlı olmayı sürdürürler.
Her bir «assembly dil» komutu sadece bir makinenin komutlarını betimler.
Örnek bir assembly dilinde komutlar 3 dijitli kısaltmalarla yazılmıştır.
LDA 5000 ADA 6000 STA* 5000
Bu üç kod satırı iki tamsayıyı topluyor ve sonucu ilk
tamsayının olduğu bellek yerleşiminde (memory location) tutmaktaydı.
Düşük Düzeyli Dil: Assembly Dili
Assemly dilinde bir program yazmak oldukça karmaşık bir işlemdir ve taşınabilir (portable) bir dil özelliği taşımamaktadır. Bu dilin
olumsuz bir özelliğidir.
Assembly dilinin yine de avantajı vardır.
Örneğin load accumulator (toplayıcıya yükle) sözcüğünün kısaltılmışı olan LDA, ikili
dijitlerden oluşan bir dizgiyi hatırlamaktan çok daha kolaydır.
Assembly Kodu
MOV AX, 47104
//47104 sayısı AX konumuna kopyalanır
MOV DS, AX
//AX sayısı DS konumuna kopyalanır.
MOV [3998], 36
//36 sayısı 3998 bellek yerleşimine konulur.
INT 32
INT 32 ile işletim sistemine dönülerek programdan çıkılır
Bu programlama yapısında da kod satırlarının anlaşılması oldukça karmaşıktır.
Assembly Dili ve Makine Dili
Assembler, iki dil arasındaki dönüşümü gerçekleştirir.
Assembly Dilinin Kullanım Amaçları
Assembly dili, makine diline dönüşmeden önce makinenin işleyişini sağlar.
Her bilgisayarın bir mikro işlemcisi (microprocessor) vardır.
Bilgisayarların aritmetik , lojik ve kontrol işlemlerini kontrol eder.
Her işlemci ailesinin kendisine ait komutları vardır.
Örneğin klavyeden giriş alınır, ekranda
görüntülenir ve bazı işlemler gerçekleştirir.
Bu komutlar makine dili komutları olarak adlandırılır.
Assembly Dilinin Önemi
Bir işlemci sadece makine dili komutlarını anlar.
Makine dili ise oldukça karmaşıktır ve yazılım geliştirmede kullanımı zordur.
Bu nedenle düşük düzeyli assembly dili tasarlanır.
Pek çok komut sembolik olarak tasarlanır.
Daha kolay anlaşılabilir.
Assembly Dilinin Avantajları
Assembly dili aşağıdaki soruları cevaplar:
İşletim sistem (OS), işlemci ve BIOS ile arayüz nasıl programlanır?
Bellekte ve harici aygıtlarda data nasıl simgelenir?
İşlemci erişimleri ve komut çalıştırılması nasıl gerçekleşir?
Komutlar dataya nasıl erişir ve işlem gerçekleştirir?
Program harici aygıtlara nasıl erişir?
Assembly Dilinin Avantajları
Daha az bellek ve çalışma zamanı gerektirir.
Zamanın kritik olduğu işlere uygundur (It is suitable for time-critical jobs)
Aygıtların çalışmasının kesilmesi ile ilgili durumlarda düşük düzeyli kodlar daha uygundur.
Bellek kaydı (memory register) düşük düzeyli dil ile yazılır.
İkili Sayı Sistemi
1 + 2 + 4 + 8 +16 + 32 + 64 + 128 = 255
28-1
8-bit bir sayı sisteminde tüm bitler ON olduğunda aşağıdaki şekilde simgelenir.
Hexadecimal Sayı sistemi
İkinci Kuşak Bilgisayarlar 1956-1963 Transistörler
Giriş/çıkış işlemleri için delgi kartlarını kullanılıyordu.
Belirsiz (ambiguous) ikili makine dillerinden sembolik veya assembly dillerine geçiş
sağlanmıştır.
Böylece programcıların komutlarını sözcüklerle ifade etmeleri mümkün olmuştur.
Yüksek düzeyi programlama dillerinin geliştirilmesi de bu dönemdedir.
COBOL ve FORTRAN programlama dillerini ilk versiyonları
İkinci Kuşak Bilgisayarlar 1956-1963 Transistörler
Bu diller manyetik silindirlerden manyetik çekirdek (core) depolamaya geçen program komutlarını bellekte saklıyordu
Bu tür bilgisayarlar ilk olarak atom enerjisi endüstrisi için geliştirilmiştir.