30
Yazılım Mühendisliğine Giriş 2019 GÜZ 1

Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Yazılım Mühendisliğine Giriş

2019 GÜZ

1

Page 2: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

İlk Bilgisayar Ne zaman Keşfedildi?

1936 yılında Alman Zuse tarafından keşfedildi.

Adı Z1 bilgisayarı idi.

Komutlar delinmiş ikili bilgiye sahip «punched typed» üzerinden okunarak mekanik gerçekleştiriliyordu.

Kısaca mekanik bir bilgisayardı

Dünyanın ilk programlanabilir bilgisayarı idi

Boolean mantığı ve ikili kayan nokta sayıları (floating-point numbers) kullanılıyordu

Sınırlı işlem yapabilmesi nedeni ile güvenilir değildi.

2

Page 3: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Z1 Makinesinin Modern Bilgisayarlara Etkisi Örneğin kayan noktalı sayı olarak (floating-point number)

+12.654 sayısını işlemek mümkün idi .

Burada tamsayı ve kesirli kısım olarak sayıları iki parçadan ifade etmek önemli bir gelişme idi .

Çünkü modern bilgisayarlarda kullanılan içsel sayı formatı (internal number format) ilk defa kullanılmakta idi .

Kayan noktalı sayıların bilgisayarda simgelenişi anlamlı dijitlerin kayıp vermeden simgelenişini gerektirir.

Her sayının simgelenişi 3 kısımdan oluşmakta idi .

Sayının işareti (sign of the number)

İkili tamamlama gösterimindeki sayının üssü (the exponent of the number in twos complement notation

sayının mantisi (onlu parçası)( mantissa of the number) 3

Page 4: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Elektromekanik- (Binary Switch) Z3 bilgisayarı -1941

Hollerith‘in makinesi çizelge yapma (cetvel düzenleme) ile sınırlı idi. Delgi kartları daha karmaşık hesaplamaları

gerçekleştiremiyordu.Konrad Zuse (Alman) karmaşık mühendislik problemlerini

çözebilmek için ilk programlanabilir bilgisayarları tasarladı.Z3 makinesi aynı zamanda ikili sistemde çalışmaktaydı ve

Alman Zuse , Babbage’in çalışmasından haberdar değildi. O zamana kadar geliştirilen makineler onlusayı sisteminde çalışmakta idi.

4

Page 5: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

İkili Simgeleme Sistemi (Binary Representation)

İkili sayı sistemi 0 ve 1’lerden oluşur.

Delgi kartında da delik var /yok şeklinde ikili bir sistem bulunmaktadır.

Kart okuyucu tarafından bir delik okunuyor ise 1 olarak simgelenir.

Kartın sütunlarından birinde hiç bir delik yoksa, geçerli sayı 0 olacaktır.

5

Page 6: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Z1 ve Z3 Makinesinin Mimarisi

1.Sayıları depolayabiliyordu (toplamda 64 sayısı) (memory for storing numbers )

2.Hesaplama için işlemcisi vardı (processor for computing)

3.Program komutları tekrar kullanılmak, yani depolamak üzere (for storing) bir «punched tape» üzerine yazılıyordu

4. Aygıtın giriş –çıkış konsolu vardı ( input-output console)

6

Page 7: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Z1 ve Z3 Makinesinin Mimarisi

7

Page 8: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Kayan Noktalı Sayıların Günümüz Bilgisayarlarında Simgelenişi Niçin Önemlidir?

8

Kayan noktalı sayıların simgelenişi tek değildir. 55.66 sayısı 5.566×10^1 olarak

0.5566×10^2 olarak 0.05566×10^3, olarak …………….simgelenebilir.

Kesirli kısmın ( fractional part) normalize edilmesi gerekir.Normalize edildiğinde noktadan önce tek bir sıfırdan farklı dijit bulunur.123.4567 ondalıklı sayı (decimal number) 1.234567×10^2şeklinde normalize edilir.

Page 9: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

9

Page 10: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Bilgisayarların Veriyi Simgeleyebilme Kapasitesi

Bilgisayarlar herhangi bir veriyi simgeleyebilmek üzere sabit miktarda bit kullanabilirler.

Bu veri bir sayı , bir karakter ya da başka herhangi bir bir şey olabilir.

N-bit depolama (n-bit storage location) yapabilen bir bilgisayar en fazla 2^n farklı şeyi (entity) simgeleyebilir.

Örneğin: 3-bit bellek yerleşimi 8 ikili örnekten birini tutabilir.

000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 10

Page 11: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

İkili Simgeleme Sistemi

İkili sayı sisteminde bir bit sadece 0 veya 1 ‘in olmasıdır.

6 bitten oluşan ikili bir sayı mümkün ise, 64 farklı sayı yazabilmek olasıdır.

İkili betimleme bilgisayarların gelişmesine önemli katkı sağlamıştır.

Kart okuyucular, elektrik devrelerinin on/off durumları gibi iki durumlu aygıtlar olarak düşünülebilir.

Vakum tüpler 11

Page 12: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

BİRİNCİ KUŞAK BİLGİSAYARLAR

1940-1956 Vakum Tüpler

12

Page 13: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Birinci Kuşak Bilgisayarlar 1940-1956 Vakum Tüpler

İlk bilgisayarlar oda büyüklüğünde olup vakum tüpler devre elemanları olarak kullanılıyordu.

Bellek olarak ta manyetik dönen silindirler bulunuyordu.

İşletilmeleri çok pahalı olup fazla miktarda elektrik harcanmaktaydı.

Çok fazla ısındıkları için de düzgün çalışmayabiliyorlardı.

İlk kuşak bilgisayarlar işlemlerini makine dilinde gerçekleştiriyorlardı. Bir zaman diliminde sadece tek bir problem çözebiliyorlardı.

Girişler delgi kartları ve kağıt şeritlerle, çıktılar ise basılı sonuçlar olarak görüntülenmekteydi.

Page 14: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Makineye Yönelik Düşük Düzeyli Programlama Dilleri

Bilgisayarların ilk kuşakları için makine ile iletişimin tek yolu belirli bir makine dilinin kullanılması idi.

Makine dilleri sadece bir bilgisayar için tasarlanıyordu

Makine dilleri farklı bir bilgisayarın merkezi işleme biriminde çalışacak şekil kolaylıkla dönüştürülemiyordu.

Bilgisayarın iç çalışma yapısının bilinmesi gerektiği için bu dilleri öğrenmek oldukça zordu.

Her bir makine dilinde komutlar 16, 32 ya da 64 bit uzunluğundaki sıfır ve birlerden oluşmaktadır.

O dönem için olağan olan makine dili problemler genişledikçe günümüzün yüksek düzeyli dillerini doğurmuştur.

Page 15: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Makine Dilinde Çarpma İşlemi

Page 16: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

İlk Elektronik Programlanabilen Bilgisayar :

ENIAC

Electronic Numerical Integrator and Computer

J. Presper Eckert ve John V. Mauchly

University of Pennsylvania

Page 17: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

ENIAC 1946 -1955ENIAC (Electronic Numerical Integrator And Computer)

2. Dünya savaşına kullanılıyordu.

Askeriyede topçuların ateşleme tablolarına gereksinimleri vardı.

Böylece belli koşullarda

belirlenmiş hedefi

ateşlemek üzere hangi

silahın kullanılacağına

kolaylıkla karar verilebiliyordu.

ENIAC makinesine ait vakum tüpler

Page 18: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

ENIAC 1946 -1955 ENIAC‘ ın diğer uygulama alanları: hava tahminlerinin

yapılması, atom-enerjisi ile ilgili hesaplamalar, kozmik ışın incelemeleri, rasgele sayı oluşturulması, rüzgar-tünellerinin tasarımı ve diğer pek çok bilimsel kullanımlar …

19,000 vakum tübün eşzamanlı olarak çalışmak üzere tasarlanması gerekiyordu. Bu sayıdaki vakum tüp sayıları ancak 2 saat tutabilme gücüne sahipti .

Page 19: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

ENIAC’dan önce Hesaplama yapılabiliyor muydu?

ENIAC makinesinden önce bilgisayarlar sadece matematiksel tabloları oluşturan cihazlar özelliğine sahiplerdi.

ENIAC ise gerçek hesaplamalar yapmak üzere programlanmış ilk bilgisayardı .

ENIAC ile problemler analitik olarak çözümlendi. İşlemler fonksiyonlar kullanarak

gerçekleşmekteydi.

Her bir değişkenin değeri ise, önceden hesaplanmış tablolardan alınmaktaydı.

Page 20: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

ENIAC Makinesinin Problemleri

ENIAC bilgisayarda programlama yapmak çok güçtü.

Bugünkü programların aksine, mevcut bir program üzerinde değişiklik yapmak için yüzlerce devrenin değişimi gerekiyordu

Programlama süreci günlerce devam ediyor; ama problemin çözümü birkaç dakikada gerçekleşiyordu.

«hacker» sözcüğünün ortaya çıkışının ENIAC bilgisayarların kullanımına dayandığı söylenir.

Page 21: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Colossus Bilgisayar Colossus makineleri tarafından 2. Dünya savaşı sırasında

Alman mesajlarını okumak üzere İngiliz kod kırıcılarının kullandıkları elektronik hesaplama aygıtlarıydı.

Kısaca yüksek düzeyli Alman haberleşmelerinin kripto işlemleri için kullanılıyordu.

Mesajlar Lorenz SZ 40/42 şifre makinesi ile çözümlenmekteydi.

Mesajın çözümü için metin beşli olarak gruplanmış bitlerden oluşan bir dizi ile birleştiriliyordu.

Lorenz makinesi Almanlar tarafından yüksek-düzeyli teleyazıcı haberleşmeleri şifrelemede kullanılmaktaydı.

Page 22: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Colossus Bilgisayar

Dünyanın ilk programlanabilir, dijital, elektronik hesaplama aygıtında hesaplamalar vakum tüpler yardımı ile yapılmaktaydı.

İngilizlerin Colossus kod kırma makinesi

Page 23: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Tele yazıcı kodu

Delgi kartı tele yazıcı kodunda COLOSSUS harflerini içeriyor.

Page 24: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)
Page 25: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Alan Turing Kullandığımız Hesaplama kavramını

1936 yılında makalesinde ifade eden İngiliz matematikçidir.

Turing, ENIAC projesinin bir üyesiydi ve İngiliz Colossus makinesinin geliştirilmesine katkıda bulunmuştur.

Başarılı olan Colossus projesi savaş sırasında oldukça katkı sağladı.

Colossus makinesi dünyanın ilk programlanabilen makinesiydi.

Günümüzde bilgisayarın tasarımı ile ilgili olarak Turing‘in tanımlamaları kullanılmaktadır.

Page 26: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Enigma Makinesi

Enigma Makinesi elektro-mekanik makinelerin sınıfında olan aygıtlar ailesindendir ve gizli mesajların şifrelenmesi ve şifre kırılmasında kullanılmaktaydı.

Bu makine 2. Dünya savaşında İngiliz kod kırıcılar tarafından şifrelenen çok fazla sayıda mesajı kırabilecek düzeyde yeniden tasarlanmış ve ünlenmiştir.

Page 27: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

Programlanmış ve Depolanmış Bilgisayarlar

1945 yılında «Electronic Discrete Variable Automatic Computer» EDVAC isimli depolanmış program kavramı ortaya atılmıştır.

EDVAC ilk Amerikan bilgisayarlarından biridir.

Colossus ve ENIAC gibi program kontrollü bilgisayarlardan sonra, 1940’ lı yıllardaki depolanmış- program içeren bilgisayar düşüncesi çok büyük bir gelişme idi.

Bellek (memory), cıvalı tüplerin kullanımı ile sağlanıyordu.

Page 28: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

EDVAC - 1947Electronic Discrete Variable Automatic Computer

Cıvalı tüpün kullanılmasının nedeni elektronik akımın 0 ve 1 ‘leri iki durumlu bir durum aygıtı olarak depolayarak ileri -geri geçişleri (akımları) gerçekleşebilecekti.

EDVAC ayrıca onlu sistemi değil de ikili sayı sistemini kullanması nedeni ile belleğin on/offdevre yapısı aritmetik birimlerin oluşturulmasını kolaylaştırabilmekteydi.

Böylece ilk mainframe bilgisayar kavramı ortaaatılmış oldu.

Page 29: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

John von Neumannvon Neumann’ın 1945 yılında yaptığı öneri

oldukça köklü bir fikirdi.von Neumann yapısındaki bilgisayarların temel

özelliği program ve datanın birlikte depolanmasıydı . Bunun için: Hard disk denilen daha yavaş erişebilecek

bir depolama ortamının oluşturulması gerekiyordu.

RAM adı verilen geçici bir depolama ortamında bilgi iletişimin daha hızlı olmasını sağlayacaktı

CPU (central processing unit ) merkezi işleme birimi tarafından programın çalıştırılması ve işlemler gerçekleştirilecekti.

Page 30: Yazılım Mühendisliğine Giriş · 2019-11-02 · O zamana kadar geliştirilen makineler onlu sayı sisteminde çalışmakta idi. 4. İkili Simgeleme Sistemi (Binary Representation)

von Neumann Mimarisi