• Sonuç bulunamadı

Yazılım Mühendisliğine Giriş 3. Hafta 2016 GÜZ

N/A
N/A
Protected

Academic year: 2022

Share "Yazılım Mühendisliğine Giriş 3. Hafta 2016 GÜZ"

Copied!
25
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

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

3. Hafta

2016 GÜZ

1

(2)

Bit ile Bayt arasındaki farklar?

Bir sadece '1' veya '0‘ değerini alabilen tek sayısal değer olarak dijital bilginin sayısal birimini belirler.

Bayt ise bitlerin herhangi bir dizilişidir ve 8 bitin karşılığıdır A byte is a sequence of bits; eight bits equal one byte.

Bitler birleşerek donanımın etkinliğini arttırmak üzere baytlar şeklinde gruplanır.

Böylece bellek, disk ve ağ donanımları da etkin olarak tanımlanmış olacaktır.

Örneğin İnternet protokolünde (IP) genel olarak 32 bit (ya da 4 bayt kullanılır)

Bitler ağ adresini belirler; böylece ağ üzerinde paylaşım mümkün olabilir.

Baytlar bitlerle gruplara ayrılır.

Örneğin IP adresi 192.168.0.1 aşağıdaki gibi bit ve gruplanmış bayt sıralanışları ile dizilir.

11000000 10101000 00000000 00000001 2

(3)

Programlama Dillerinin Tarihçesi

3

(4)

İlk Düzey Programlama Dilleri Makine Kodları

Her bilgisayar aslında sadece makine kodundaki bildirimleri anlar ve bunlar da ikili sayı sisteminde yazılırlar. Örneğin

11011101 1011011 01001100 1011100 11011100 1011011

Hesaplamanın ilk günlerinde bilgisayar komutları bit gösterimini betimleyen on –off şeklindeki bir dizi

elektrik devresi komutlarından oluşmakta idi.

Daha sonraları, bu bildirimler ondalık gösterim ile delinmiş kartlara yazılmaya başladı.

Bu delinmiş kartlar da ikili koda dönüştürülerek

bilgisayarın anlayabileceği bir yapıda ifade edilmekte idi.

4

(5)

İlk Düzey Programlama Dilleri Makine Kodları

Makine kodları oldukça karmaşık bir yapıya sahiptir.

Bu tür programları yazmak ve çalıştırmak için programcı eğitim için çok uzun zaman harcamak zorundadır.

Çünkü dilin komutları makinenin iç yapısına,

diğer bir ifade ile makinenin kullandığı işlemciye bağlıdır. bağlıdır.

Makine kodunda yazılan programların farklı bilgisayarlara taşınabilmesi mümkün değildir.

5

(6)

Bilgisayarı kim keşfetmiştir?

Bu sorunun cevabı hiç kolay değildir.

Aslında gerçek cevap bilgisayarların tarihçesine pek çok kişi katkıda bulunmuştur.

Bilgisayar makine sisteminin karmaşık bir parçasıdır.

Bilgisayarların her biri bağımsız bir buluş olan pek çok parçadan meydana geldiği söylenebilir.

6

(7)

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 .

7

msoffice10

(8)

Slayt 7

msoffice10 ; 22.9.2008

(9)

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.

8

(10)

Üç farklı kağıt şerit 9

(11)

ENIAC 1946 -1955

E

NIAC (Electronic Numerical Integrator And Computer) 2. Dünya savaşına kullanılıyordu.

Askeriyede topçuluk için 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

.

10

ENIAC makinesine ait vakum tüpler

(12)

ENIAC 1946 -1955

ENIAC‘ ın diğer uygulama alanları: hava tahminlerinin yapılması, atom-enerjisi ile ilgili hesaplamalar, kozmik ışın incelemeleri,

termik ateşleme tertibatları, rasgele sayı oluşturulması, rüzgar- tünellerinin tasarımı ve diğer pek çok bilimsel kullanımlar

Bugünün standartları ile karşılaştırıldığında ENIAC devasa bir canavardı.

11

19,000 vakum tübün eşzamanlı olarak çalışmak üzere tasarlanması

gerekiyordu.

19,000 vakum tüp ise sayıları ancak 2 saat

tutabilme gücüne sahipti .

(13)

Modern Hesaplamanın Doğuşu:

Elektronik Devrim

ENIAC modern hesaplamanın hemen hemen tüm temel donanım kavramlarına sahiptir.

Donanımın içindeki depolama komutlarını bulundurmaz..

Aynı bellek biriminde data olarak programı

depolayabilme özelliği Advanced Studies (IAS) Institute’de başlatılmıştır.

Bilgisayar ise bundan birkaç yıl sonra Princeton Üniversitesinde inşa edilmiştir.

Amerikan paten ofisi ENIAC’ı ilk bilgisayar olarak tanımaktadır.

12

(14)

ENIAC’dan önce Hesaplama yapılabiliyor muydu?

Bilgisayarlar sadece matematiksel tabloları oluşturan cihazlar özelliğine sahiplerdi.

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

Problemler analitik olarak çözümlenmekteydi.

Fonksiyonlarla işlemlerin yapılması ile çözümlere ulaşılıyordu.

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

13

(15)

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.

14

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

Bu makine Colossus işlemlerinin bir parçasını oluşturuyordu ve önceden tasarlanmış mekanik Lorenz makinesinin elektronik bir benzeri idi.

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ı.

(16)

Colossus Bilgisayar

15

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

(17)

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.

16

Alan Turing hatıra anıtı Londra Sackville Parkı

(18)

Enigma Makinesi

17

Enigma Makinesi elektro-mekanik makineler sınıflandıran aygıtlar

ailesindendir ve gizli mesajların şifrelenmesi ve şifre kırılmasında kullanılmaktaydı.

İlk Alman Arthur Scherbius tarafından 1.Dünya savaşının sonunda

geliştirilmiştir..

Bu makine 2. Dünya savaşında İngiliz kod kırıcılar tarafından Enigma

kullanılarak şifrelenen çok fazla sayıda mesajı kırabilecek düzeyde yeniden tasarlanmış ve ünlenmiştir.

(19)

John von Neumann

1945 yılında Electronic Discrete Variable Automatic Computer isimli dergide yayınlanan makalesinde

depolanmış program kavramından bahsetmiştir.

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ı geciktirme hatlarının kullanımı ile sağlanıyordu.

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 onlu sistemi değil de ikili sayı sistemini kullanması nedeni ile belleğin on/off devre yapısı aritmetik birimlerin oluşturulmasını kolaylaştırabilmekteydi.

18

(20)

John von Neumann

1945 yılında von Neumann’ın önerisi oldukça kökten 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.

Günümüzün modern bilgisayarları da aynı yapıda

geliştirilmekte; data ve program komutları için aynı bellek kullanmaktadır.

Kısaca:

Depolanmış bir program (stored-program ) bilgisayarda program komutlarını ve okuma/yazma datasını rasgele

erişimli belleğinde (Random Access memeory- RAM) tutar.

19

(21)

von Neumann Architecture

Bellek (memory) data ve program komutlarını

(instructions) içerir ve istenilen sırada okunmasını (read) ve yazılmasını (write) gerçekleştirir.

Hesaplama birimi (Calculating Unit) hem aritmetik hem de mantıksal (logical) işlemleri yapar.

Kontrol birimi (Control Unit) bellekten alınan bir komutu yorumlar ve önceki işlemlerin sonuçlarına göre alternatiflerden birini seçerek işlemlere devam edilmesini sağlar.

20

(22)

von Neumann Architecture

21

(23)

İkinci Kuşak - 1956-1963: Transistor

Transistor 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.

22

Transistor vakum

tüplerden sonra radikal bir gelişmedir.

(24)

İkinci Kuşak- 1956-1963: Transistor

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ı

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.

23

(25)

İkinci Düzey Programlama Dilleri : Düşük Düzeyli Diller

Bu diller makine kodundan geliştirilmiştir.

Makineye bağlı dillerdir.

Her bir assemly dili konutu tek bir makinenin komutlarını betimler.

Komutlar 3 dijitli kısaltmalarla yazılmıştır.

LDA 5000 ADA 6000 STA* 5000

24

Referanslar

Benzer Belgeler

Donanım: Çeşitli programlanabilir tümleşik devreler, hafıza birimleri, katalog, bağlantı aparatları, entegre soketleri, entegre sökücü aparatlar, SMD Entegre Sökme Cihazları

İş yerinin sosyal havası, yönetimin işgörene yaklaşım biçimi, işin bitmesi gereken sürenin zaman baskısı da iş koşullarını. etkileyeceğinden kısmi yük olarak

 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma

 İşletim sisteminin her an kullanıma hazır olabilmesi için sürekli olarak bilgisayarın ana belleğinin ROM (Read Only Memory), yani sadece okunabilir bellek kısmında

İkinci Düzey Programlama Dilleri : Düşük Düzeyli Assembly Dili.. Bu diller makine kodundan

(Hedefe ulaşmak neden önemli? Bu hedef mevut çabalar ve hedeflere uyuyor mu? Örneğin kurum misyonu ile uyumlu mu?) Time-bound (Zaman Sınırlı). (Tamamlanma tarihi nedir? Bu

Akışkanın gideceği yönü belirleyen, akışın yönünü değiştiren, akışkanın debisini ve basıncını belirleyen.. devre elemanlarına valf

Hidrolik devrelerde basınçlı sıvının (Yağ) depodan alınıp alıcılara ve çalışma hatlarına kadar iletmekte.. borular ve içi tel katmanlı bezli lastik hortumlar