Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Yazılım Doç.Dr.Yalçın ÇEBİ. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ2 İçindekiler  Yazılım Bilgisayarda Yazılımın Düzenlenmesi Programlama.

Benzer bir sunumlar


... konulu sunumlar: "Yazılım Doç.Dr.Yalçın ÇEBİ. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ2 İçindekiler  Yazılım Bilgisayarda Yazılımın Düzenlenmesi Programlama."— Sunum transkripti:

1 Yazılım Doç.Dr.Yalçın ÇEBİ

2 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ2 İçindekiler  Yazılım Bilgisayarda Yazılımın Düzenlenmesi Programlama Dilleri  Programlama Dil Kuşakları  Diğer Programlama Dilleri  Görsel ve Web Programlama Dilleri Yazılım Türleri  İşletim Sistemi  Çeviriciler  Sistem ve Hizmet Programları  Veri Tabanı Yönetim Sistemleri  Uygulama Yazılımları Bir Ürün Olarak Yazılım (Lisanslı Yazılım) İşletim Sistemi Uygulama Yazılımları

3 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ3 Yazılım  Yazılım (Software), bilgisayar sistemlerinin çalışmasını sağlayan deyimlerin oluşturduğu kümedir.  Bilgisayar sistemlerinin türleri ne olursa olsun, tümünün kullanılabilinmesini sağlayan şey yazılımdır.  Herhangi bir bilgisayar sisteminde yazılım bulunmadığı zaman o bilgisayar sisteminin çalışması mümkün değildir.

4 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ4 Program  Bilgisayara ne yapacağını anlatan, bilgisayar tarafından depolanabilen, takip edilebilen ve işlenen deyim kümesi “program” olarak adlandırılmaktadır.  Yazılım, genel olarak program ile eş anlamlı olarak kullanılsa da, daha üst bir tanımdır ve değişik programlardan oluşan bir grubu tanımlamak için kullanılmaktadır.  Kimi yerlerde yazılım, kimi yerlerde ise program tanımı kullanılmaktadır.

5 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ5 Kullanıcılara Göre Yazılım Grupları (1)  Son Kullanıcı: Bilgisayar sisteminin kullanıcıları. En üst seviyedeki kullanıcılardır.  Uygulama kullanıcıları: Kendi amaçlarına yönelik olarak geliştirilmiş yazılımları kullanmaktadırlar. Bilgisayar sisteminin nasıl çalıştığı konusunda ayrıntılı bilgilerinin olmasına gerek yoktur. Bu kullanıcılar yalnızca kendi amaçlarına yönelik yazılımları kullanabilecek bilgiyi edinmeleri amacıyla eğitilmişlerdir SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

6 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ6 Kullanıcılara Göre Yazılım Grupları (2)  Bilgisayar uzmanları: Bilgisayar sistemlerinin kurulumu, işletilmesi ve izlenmesi yanında bilgisayar sistemleri üretebilecek bilgi seviyesine sahiplerdir.  Bir kuruluşta değişik bilgisayar sistemlerinin kullanılabilmesini sağlayacak değişik seviyede bilgiye sahip bilgisayar uzmanları bulunabilir.  Bu uzmanlar “Bilgisayar Operatörü”, “Sistem Yöneticisi”, “Teknik Destek Elemanı” gibi ünvanlara sahiptirler.  En yaygın karşılaşılan ünvan ise “Programcı”dır.  Tüm bilgisayar uzmanları görevlerinin gerektirdiği şekilde ve birbirlerinden oldukça farklı olabilen bilgisayar sistemleri ve yazılımlarını kullanabilirler. SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

7 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ7 Kullanıcılara Göre Yazılım Grupları (3)  Uygulama paketleri: Değişik uygulamalar için geliştirilmiş yazılımlardır. Kelime işlem yazılımı, grafik çizim yazılımları, tablolama yazılımları gibi yazılımlar bu sınıfa girmektedir. Bu yazılımların kullanıcılarının ayrıntılı bilgisayar bilgisine ihtiyaçları yoktur.  Uzmanların uygulama paketleri: Belirli bir işe özgü olarak tasarlanmış ve kullanımları o konuda uzmanlık gerektiren yazılımları içermektedir. Muhasebe yazılımları ve mühendislik yazılımları gibi yazılımlar bu gruba girmektedir. SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

8 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ8 Kullanıcılara Göre Yazılım Grupları (4)  Sistem yazılımları: Çok geniş bir yazılım grubunu kapsamaktadır.  Bu grup içinde işletim sisteminden derleyicilere, sistem yönetim ve denetim yazılımlarından Veri Tabanı Yönetim Sistemleri’ne kadar geniş bir yazılım yelpazesi bulunmaktadır. SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

9 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ9 Kullanıcılara Göre Yazılım Grupları (5)  Komut yorumlayıcılar: Bilgisayarın belirli işlemleri yapmasını sağlayacak komutların çalıştırılmasını sağlayacak yazılımlardır.  Bir dosyanın bir yerden başka bir yere kopyalanması, bir dosyanın yazdırılması veya bir klasör (dizin) açılması gibi işlemler komut yorumlayıcı yazılımlar tarafından gerçekleştirilmektedir.  Kullanıcılar komut satırından gerçekleştirilmesini istedikleri komutları yazarak komut yorumlayıcının bu komutları çalıştırmasını sağlamaktadırlar. SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

10 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ10 Kullanıcılara Göre Yazılım Grupları (6)  İşletim sistemi: tüm yazılım katmanının en alt seviyesinde bulunmakta ve donanım katmanı ile yazılım katmanı arasında bir köprü görevini üstlenmektedir.  Bilgisayar tarafından işlenmesi istenilen tüm komutlar işletim sistemi aracılığı ile donanıma aktarılmakta, donanım tarafından işlenen komutların sonuçları ise yine işletim sistemi aracılığı ile diğer yazılımlara aktarılmaktadır.  İşletim sistemi olmaksızın bilgisayar sisteminin çalışması mümkün değildir. İşletim sistemi, diğer programların donanımı güvenli ve denetimli olarak kullanmalarını sağlar. SON KULLANICILAR UYGULAMA KULLANICILARIBİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİUZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARIKOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM

11 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ11 Doğal Dillerin Genel Yapısı  Tüm doğal dillerin (Türkçe, Almanca, İngilizce,... gibi) kendilerine özgü Kelimeleri, İşaretleri, Kelimelerin biraraya getirilip cümlelerin oluşturulmasını sağlayan dilbilgisi kuralları vardır.  Dilbilgisi açısından doğru bir cümle oluşturulduğunda bir anlam ifade etmekte ve herhangi bir kişi o cümleyi anlayabilmektedir.  Dilbilgisi kurallarında bir hata yapıldığında, oluşturulan cümle anlaşılamamaktadır.

12 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ12 Doğal Dil - Programlama Dili (1)  Bir programlama dili birçok yönden doğal dillere benzer.  Her programlama dilinin kendisine özgü kelimeleri (söz varlığı,sözlüğü), işaretleri (yazım işaretleri) ve yazım kuralları bulunmaktadır.  Programlama dillerinde, o dilin dilbilgisi kurallarına o dilin sözdizimi (syntax) adı verilmektedir.  Bir programcı, o anda kullandığı programlama dilinin sözdizim kurallarına göre kelime ve işaretleri biraraya getirerek, bilgisayara birşeyleri yapmasını anlatan, bilgisayar açısından bir anlama sahip olan bir deyim oluşturmaktadır.

13 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ13 Doğal Dil - Programlama Dili (2)  Doğal dillerde konuşma veya yazma sırasında hata yapılabilir.  Programlama dilllerinde hataya yer yoktur.  Herhangi bir hata yapılması durumunda o deyimin bilgisayar açısından hiçbir anlamı olmamakta, bilgisayar o deyimi anlamamaktadır.  Bir program yazmak için programcının o dilin tüm sözdizim kurallarını bilmesi gerekmektedir.  Programcının programlama dilinin kurallarına uymaması durumunda program hatalara sahip olacaktır.  Bilgisayar hatalı programı anlamayacak, dolayısıyla çalıştırmayacaktır.

14 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ14 Farklı Programlama Dillerinde Deyimler  Aynı işlemin yaptırılabilmesi için farklı programlama dilllerinde farklı sözdizimler kullanılmaktadır.  Her iki deyimde de B ve C’nin değeri toplanarak A’ya aktarılmaktadır.  Yeni bir programlama dili geliştirildiğinde, o dilin tasarlayıcısı sözdizim kurallarını ve her deyimin hangi anlama geldiğini tanımlamaktadır.  Yeni bir programlama dilini kullanabilmek için, programcı yeni dilin tüm sözdizim kurallarını ve her deyimin anlamını bilmek zorundadır. BASICCOBOL A=B+CADD B TO C GIVING A

15 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ15 Neden Farklı Programlama Dilleri? (1)  Programlama dillerinin zaman içinde gelişimidir.  Araştırmacıların programlama dillerinde daha iyi tasarımlar yapmaları sonucunda gelişme olmaktadır.  İlk programlama dilleri 1950’lerin başlarında geliştirilmiştir.  Bugünkü programlama dilleri ile karşılaştırıldıklarında oldukça zayıf bir dil tasarımına sahiplerdi.  Modern programlama dilleri ilk programlama dillerinden çok farklı özelliklere sahip olacak şekilde geliştirilmişlerdir.

16 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ16 Neden Farklı Programlama Dilleri? (1)  Değişik programlama gereksinimleri ortaya çıkmıştır.  Gereksinimlere göre, birbirlerinden çok farklı özelliklere sahip olan çok sayıda programlama dili geliştirilmiştir.  Bilgisayarlarda kullanılan programlar genel olarak “sistem programları” ve “uygulama programları” olmak üzere ikiye ayrılmaktadırlar.  Bazı programlama dilleri sistem programları, bazıları ise uygulama programları yazmak üzere tasarlanmışlardır.  Farklı uygulama türleri bulunduğundan, bu uygulamalara cevap verebilecek çeşitlilikte programlama dilleri de geliştirilmiştir.  Bir iş için uygun olan programlama dili, diğer iş için uygun olmayabilmektedir. Bilgisayarlar birbirinden farklı amaçlar için kullanıldığından, çok sayıda programlama dili geliştirilmiştir.

17 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ17 Programlama Dillerinin Gelişimi  1.Kuşak Programlama Dilleri Makina Dili  2.Kuşak Programlama Dilleri Assembly  3.Kuşak Programlama Dilleri FORTRAN, COBOL, BASIC, Pascal, Java, C,...  4.Kuşak Programlama Dilleri 4GL, SQL, Clarion, DBase,...  5.Kuşak Programlama Dilleri Yapay Zeka Kullanan Diller

18 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ18 Birinci Kuşak Dil: Makina Dili  İlk programlama dili, “makine dili (machine language)” olarak adlandırılan ve yalnızca “0” ve “1”lerden oluşan bir programlama dilidir.  Bu programlama dili bilgisayarın anlayabileceği tek dildir.  Her bilgisayar türünün kendisine özgü bir makine dili bulunmaktadır.  Deyimlerin bilgisayarın doğrudan işleyebileceği şekilde bulunmaktadır.  Herhangi bir çevrim işlemine gerek yoktur.

19 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ19 Makine Kodu  Makine dilindeki tüm deyimler “makine kodu (machine code)” olarak da adlandırılan ikili kodlama sistemi ile tanımlanmaktadır.  Bu deyimlere “makine deyimleri” adı verilmektedir.  Makina deyimleri veri ile aynı şekilde depolanmakta, her deyim doğrudan bir donanım parçasını kontrol edecek şekilde tasarlanmaktadır.  Burada İkili İşlem Kodu, makinenin işleyebileceği deyimi, ikili işlenen ise, o deyimin işleyeceği değeri veya değerleri göstermektedir İkili İşlem İkili İşlenen Kodu

20 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ20 Deyim Kümesi (Instruction Set)  Bir bilgisayarın işleyebileceği deyimlerin oluşturduğu makine deyimlerine o bilgisayarın “deyim kümesi (instruction set)” adı verilmektedir.  Bilgisayar donanımının yapılmasına izin vermediği, dolayısıyla deyim kümesinde bulunmayan işlemler, 1’den fazla deyimin kullanılması ile gerçekleştirilmektedir.  Bir bilgisayarın deyim kümesinin büyüklüğü, o makinenin maliyetini, hız ve verimliliğini ve kelime boyutu ile deyim şeklini etkilemektedir.

21 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ21 Deyim Kümesi Büyüklüğü  Deyim kümesinin büyüklüğü, her bir deyim için ayrı bir donanım parçası bulunması gerekliliği nedeniyle makine maliyetini artırmaktadır.  Eğer makinede fazla sayıda değişik deyimler var ise, herhangi bir işlem daha az deyim ile gerçekleştirilecek, böylece hız artacaktır.  Deyim kümesi büyük ise, deyimlerin tutulması için gereken fonksiyon daha fazla bit içerecektir.  Kelime boyutu büyük olan bir makine, herhangi bir deyimi bir kerede belleğe alabilecek ve işleyecek, kelime boyutu küçük olan bir makine ise, aynı deyimi birkaç kerede belleğe alabilecek, bu da zaman kaybına neden olacaktır.

22 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ22 Makine Dili:Avantaj-Dezavantajlar (1)  Makine dili, bilgisayar mimarisinde bulunan katmanlardan mikroprogramlama katmanı ve makine katmanında kullanılan bir programlama yöntemidir.  Tümüyle donanıma bağlıdır.  “makine bağımlı” olarak sınıflandırılmaktadır.  Bir bilgisayar için kullanılan makine dilinde yazılmış bir program, diğer bir bilgisayarda çalışmamaktadır.  Makina dili ile bilgisayarın tüm elektronik devreleri denetlenebilmekte, istenilen devreye istenildiği gibi müdahale edilebilmektedir. (1

23 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ23 Makine Dili:Avantaj-Dezavantajlar (2)  Programların bilgisayar tarafından işlenmesindeki hızı açısından da etkilidir.  Sistem programları yazarken önemli olan bu özellikler, makine dilinin en önemli avantajlarıdır.  Makine dilinde program yazmak oldukça zordur.  Programcı, makine dilindeki ikili kodları ve deyimleri hatırlamak zorundadır.

24 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ24 Yeni Dil Gereksinimi  Makine dili ile program yazma, takip etme ve denetleme zordur.  Programda herhangi bir değişiklik yapılmak istendiğinde programın neredeyse tümünün –kimi zaman- yeniden yazılması gerekmektedir.  Bilgisayarların değişik alanlarda kullanımı artmaktadır.  Kolay program yazım talepleri çoğalmıştır.  Yeni bir programlama dilinin geliştirilmelidir. gerekliliğini beraberinde getirmiştir.  İkinci Kuşak Programlama dili doğmaktadır.  “Assembly”.

25 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ25 İkinci Kuşak Programlama Dili  Makine dilindeki deyimler ikili kodlar yerine, kelime ve işaretlerle gösterilmektedir.  İkili işlem kodları sembolik kelimelerle değiştirilmiştir.  Örneğin: Toplama için “ ” kodunun yerine “ADD” kelimesi kullanılmaktadır.  O deyim tarafından işlenecek olan verinin, ikili gösterimle kullanımı yerine, örneğin “X” gibi bir sembolle ifade edilmesi öngörülmüştür.  Toplam işlemi: “ADD X”  Bu gösterim şeklini kullanan programlama dilleri “ikinci kuşak programlama dilleri” olarak adlandırılmışlardır.

26 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ26 Simgelerin Çevrimi  Simgesel gösterim kullanılarak yazılan programların makine diline çevrilmeleri zorunludur.  Her sembol, eşdeğeri olan makine koduna çevrilmektedir.  Çevrim işlemine “Bütünleştirme (Assembly)”,  Geliştirilen dillere “Bütünleştirme Dili (Assembly Language)” adı verilmiştir.  Bütünleştirme dilinin her işleminde, bu dildeki her bir deyim, makine dilindeki bir deyime dönüştürülmektedir.

27 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ27 KaynakKod - Nesne Kod  Kaynak Kod (Source Code/Program): Assembly dilinde yazılan kod  Nesne Kod (Object Code/Program): Makina diline çevrilmiş kod  Bütünleştirici (Assembler): Assembly dilindeki kodu makina diline çeviren kod

28 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ28 Bütünleştiricinin Ortaya Çıkışı  Orijinalinde, bütünleştirme işlemi elle yapılmaktadır.  Bir kişi, bütünleştirme dilinde yazılmış deyimleri tek tek makine diline çevirmekte ve bu kodları bilgisayara girmektedir.  Mekanik bir işlem.  Çevrim işlemi için makine dilinde yazılmış bir program geliştirildi.  “Bütünleştirme (Assembly)” dilinde yazılan program, “Bütünleştirici (Assembler)” ile makina diline çevrilmektedir.  Çevim işlemi hatasız ise program çalıştırılmaktadır.

29 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ29 Bilgisayar Sisteminin Kontrolü  Bütünleştirici dilinde de, makine dilinde olduğu gibi, programcı bilgisayarın temel elektronik devreleri üzerinde her tür kontrol imkânına sahip olmaktadır.  Makine dilinden daha kolay olan bütünleştirme dilinde yazılan tüm programlar, makine dilindeki kadar verimli olabilmektedirler.  Bütünleştirme dili sayesinde program yazmak daha kolaylaşmış, böylece bilgisayarlar farklı alanlarda da rahatlıkla kullanılmaya başlanmıştır.  Makine bağımlıdır.  1. ve 2. kuşak diller “Alt Seviyeli Diller” olarak adlandırılır.

30 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ30 Üçüncü Kuşak Diller  1950’lerin ortalarından itibaren değişik programlama dilleri geliştirildi.  Her bir deyim, makine dilinde 1’den daha fazla deyime karşılık gelmektedir.  Yüksek seviyeli diller olarak adlandırılırlar.  Bütünleştirme dilinde kullanılanlardan daha az deyim kullanılmakta, programların yazımı ve anlaşılması daha kolay olmaktadır.  İlk üçüncü kuşak diller basit matematiksel gösterimlere benzemektedirler.  Daha sonra geliştirilen diller daha çok ingilizce metinlere benzemektedirler.  Sonraki dillerde, yüksek matematikte kullanılan işaretlemelere benzer deyimler bulunmaktadır.

31 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ31 Üçüncü Kuşak Diller-Çevrim İşlemi  Üçüncü kuşak dillerin de bilgisayar tarafından işlenebilmeleri için makine diline çevrilmeleri gerekmektedir.  Çevirici yazılımlar “yorumlayıcı (interpreter)” “derleyici (compiler)”  Makine dilinde yazılmışlardır.  Her programlama dili için o programlama diline özgü çevirici yazılımlar bulunmaktadır.  Üçüncü kuşak programlama dillleri, “makine bağımsız (machine independent)” dır.  Üçüncü kuşak bir programlama dili ile program yazılmak istendiğinde, o programlama dilinin yorumlayıcı veya derleyicisine gerek duyulmaktadır.

32 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ32 Üçüncü Kuşak Dil Örnekleri  FORTRAN (FORmula TRANslator; 1950’lerin ortaları)  COBOL (COmmon Business Oriented Language)  BASIC (Beginners All-purpose Symbolic Instruction Code; 1960’ların ortaları)  PASCAL  C (beg. of 1970s)

33 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ33 Dördüncü Kuşak Diller  Dördüncü kuşak programlama dilleri (Fourth Generation Languages, 4GL), belirgin olarak tarif edilememektedir.  Dördüncü kuşak bir programlama dilinde, üçüncü kuşak bir programlama dilinde kullanılandan daha az deyim kullanarak aynı işi yaptırmak mümkün olabilmektedir.  Program daha çabuk geliştirilebilmektedir.  Birçok dördüncü kuşak dil, “yordamlı dil (procedural language)” olarak tanımlanmaktadır.  Yordamlı dillerde, programcı bilgisayarın programda izleyeceği adımları –yordamları- tanımlamaktadır.  Bazı dördüncü kuşak diller ise yordamsız programlama dilleri olarak görülmektedir.  Programcı, programın içinde yordam tanımlamak yerine ne istediğini tanımlamaktadır.

34 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ34 Yordamlı-Yordamsız Dil Farkı  Bir şirkete ait olan bir veri tabanından, ismi “Ahmet” olan bir çalışanın bilgisinin ekranda gösterilmesi istenmiş olsun  Yordamlı dillerde bu işlem için gereken ve aşağıda verilen adımlar için programcı birçok deyim yazmak zorunda kalmaktadır. Personel dosyasından kaydı al. Eğer bu kayıt Ahmet’in kaydıysa adresini listele. Eğer bu kayıt Ahmet’in değilse bu aşamaları yinele.  Yordamsız bir programlama dilinde ise bu işlem yalnızca aşağıda verilen deyimin işlenmesi ile gerçekleşmektedir. Ahmet’in adresini personel dosyasından al.

35 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ35 Yapısal Sorgulama Dili  Birçok dördüncü kuşak dil, verileri çok basit deyimlerle dosyalardan ve veritabanlarından almakta ve kullanıcıya verebilmektedir.  Bu dillerin içinde, kendilerine özgü bir “sorgulama dili (query language)” bulunmaktadır.  Veritabanlarından sorgulamalar kolaylıkla yapılabilmekte, sonuçlar da kolaylıkla alınabilmektedir. SELECT adres FROM personel WHERE ad=”Ahmet”  Veritabanlarından sorgulama yapan dil standarttır.  “Yapısal Sorgulama Dili (YSD; SQL: Structured Query Language)”  Tüm veritabanları bu dilin komutlarını tanımakta ve uygulamaktadır.

36 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ36 Diğer Araçlar  Kullanıcı elinde bulunan verilerden istediği gibi raporlar düzenleyebilmekte, bu raporların yazdırılması veya görüntülenmesi sırasında istediği gibi sayfa tasarımlarını yapabilmektedir. “Rapor yaratıcı (report generator)”  Veri girilmesini ve bu verilerin düzgün gösterimini sağlayacak ekran tasarımları yapmaya imkan verebilecek araçları içermektedirler. Ekran boyayıcı / tasarlayıcı (screen painter / designer)  Herhangi bir işi yapacak tüm programın yazılması sağlanmaktadır.  Programcı, veritabanı tasarımını yapmakta, sorgulamaları, raporları ve ekranları tasarlamakta, bilgisayarın çalıştıracağı programı ise uygulama yaratıcı oluşturmaktadır. Uygulama yaratıcılar (application generators)

37 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ37 Dördüncü Kuşak Dillerin Genel Özelliği  Makineden bağımsız olarak kabul edilmektedirler.  Yapısal özellikleri gereği, bilimsel programlar veya sistem programlarının yazımı yerine, genellikle veritabanı uygulamaları ve raporlama içeren iş uygulama programlarının yazımında kullanılmaktadırlar.  Bazı dördüncü kuşak diller çok kolay öğrenilebilecek şekilde tasarlanmıştır.  Kullanıcılar, herhangi bir programcının yardımına gerek kalmadan kendi gereksinimlerini karşılayabilecek uygulamaları kolaylıkla oluşturabilmektedirler.

38 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ38 Beşinci Kuşak Diller  Beşinci kuşak programlama dilleri için kesin bir tarif yapılamamaktadır.  Bu kuşaktaki dillerin doğal diller gibi olması, yapay zeka uygulamalarında kullanılması, insan-bilgisayar arası iletişimlerde kullanılması öngörülmektedir.  Akıllı evlerde sesli komut sistemleri  Kendisine verilen veriyi yorumlayıp kendi kendisine öğrenebilen sistemler

39 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ39 Bazı Programlama Dillerinin Kullanım Alanları DilKuşakMakine Bağımlı Makine Bağımsız Sistem Programlama Uygulama Programları İşAkademikDiğer Machine1 XX Assembly2 XX Genel FORTRAN3 XX COBOL3 XX BASIC3 XXX Eğitim PASCAL3 XX Eğitim C3 XX Genel 4 GL4 XX

40 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ40 Diğer Programlama Dilleri  PL/1: Programming Language 1 (1960’ların başı)  ADA: Kontes Ada Byron’a atfedilmiştir. (Lord Byron’ın kızı) (1980)  APL: A Programming Language (1960)  LISP: LISt Processing (1950’lerin sonu)  PROLOG: PROgramming LOGic (1970)  Smalltalk (1970’lerin ortası – Nesne Yönelimli)

41 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ41 Görsel and Web Programlama Dilleri  Görsel dillerde GUI (Graphical User Interface) vardır BASIC  VisualBASIC Pascal  DELPHI FORTRAN  VisualFORTRAN C  VisualC  Web dilleri Java JavaScript VisualBasicScript (VBScript) ASP (Active Server Pages) JSP (Java Server Pages) HTML (HyperText Markup Language) XML (Extensible Markup Language)

42 Yazılım Türleri Sistem Yazılımları Uygulama Yazılımları

43 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ43 Yazılım Türleri  Yazılım genellikle iki sınıfta değerlendirilebilir: Sistem Yazılımları  İşletim Sistemi,  Çeviriciler  Hizmet ve destek programları  Veri Tabanı Yönetim Sistemleri Uygulama Yazılımları  Kullanıcı Uygulama Yazılımları: kullanıcıların kendi ihtiyaçları için, kendileri tarafından veya programcılar tarafından geliştirilen, yalnızca belirli bir işe yönelik olan programlardır.  Uygulama Paketleri: Değişik alanlardaki problemlerin çözümü için, o alanlara özgü olarak üretilen, kullanımları için ilgili belgelere de sahip olan programlardır.  Uygulamaya özgü: Mühendislik yazılımları, CAD, CAM, CAE software.  Genel:Kelime işlemciler, tablolama programları, vb.

44 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ44 İşletim Sistemi (OS: Operating System)  Bir işletim sistemi, bilgisayar sisteminin sınırlarına kadar kullanılmasını ve bir bilgisayar sistemi üzerinde değişik sayıda programların çalışmasını bir operatör tarafından müdahale edilmeksizin sağlayan program paketidir.  İşletim sistemi, diğer yazılımların donanımı güvenli ve denetimli bir şekilde kullanmalarını sağlamaktadır.  Üst seviye uygulamalar ve donanım arasında bulunan bir aracıdır.  Kaynakların verimli kullanımını sağlar (CPU, depolama, G/Ç aygıtları).  Yönetici (executive), Çekirdek (kernel), denetçi (supervisor).  Kabuk programları: MS-DOS, PC-DOS ve grafik arayüzler.

45 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ45 Çeviriciler  Çeviriciler (translator) bir programlama dilindeki deyimleri diğer bir programlama diline çeviren yazılımlardır.  Bütünleştirme dilinden makine diline, veya üst seviyeli dillerden makine diline çevrim işlemlerini çevirici yazılımlar gerçekleştirir.  Herhangi bir dilde yazılan program “kaynak (source)” program, bu programın makine diline çevrilmiş hali ise “nesne (object)”program olarak adlandırılmaktadır.

46 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ46 Çevirici Türleri  Üç tür çevirici vardır: Bütünleştirici (Assembler) Derleyici (Compiler) Yorumlayıcı (Interpreter)

47 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ47 Bütünleştirici  Bütünleştirici:Bütünleştirme (assembly) dilinde yazılmış bir programı makine diline (makine koduna) çevirme işlemini gerçekleştirmektedirler.  Bütünleştiricide kaynak programın her bir deyimi için bir makine deyimi üretilmektedir.  Program, ancak tüm bütünleştirme işlemi tamamlandıktan sonra çalıştırılabilmektedir.

48 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ48 Derleyici  Derleyiciler üst seviyeli bir programlama dilinde yazılmış olan programları makine uyumlu bir dile, genellikle de makine diline çevirme işlemini gerçekleştirmektedirler.  Kaynak programın her bir deyimi için, makine dilinde birçok deyim üretilmektedir.  Program, derleme işlemi tamamen bittikten sonra çalıştırılabilmektedir.

49 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ49 Yorumlayıcı  Yorumlayıcılar, bir program içinde bulunan deyimleri sırası geldikçe makine diline çevirmekte ve sonra çalıştırmaktadırlar.  Deyimin çalışması bittikten sonra program akışı bir sonraki deyime geçmekte, bu deyim makine diline çevrilmekte ve çalıştırılmaktadır.  Bu işlem tüm program bitene kadar devam etmektedir.

50 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ50 Bütünleştiricinin İşlevleri  Bir bütünleştirici, genel olarak aşağıdaki işlemleri gerçekleştirmektedir: Hatırlatıcı işlem kodlarını makine dilindeki deyimlere, sembolik adresleri makine adreslerine çevirmek. İçsel altyordamlar için gerekli bağlantıları tanımlamak ve makrolar için uygun makine kodlarını eklemek. Bellek alanlarını tanımlamak ve ayırmak. Kaynak koddaki geçersiz deyimleri belirlemek. Nesne programı istenilen yerde oluşturmak. Kaynak ve nesne programın ayrıntılı bir listesini oluşturmak. Bu listeler, programda hatalar var ise bu hataları da göstermektedir.

51 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ51 Derleyicinin İşlevleri  Bütünleştiricilere benzer: Kaynak programı makine diline çevirmek. İçsel altyordamlar için gerekli bağlantıları tanımlamak. Ana bellek alanlarını tanımlamak ve ayırmak. Kaynak koddaki geçersiz deyimleri belirlemek. Nesne programı istenilen yerde oluşturmak. Kaynak ve nesne programın ayrıntılı bir listesini oluşturmak. Derleme sırasında oluşan hataları göstermek.

52 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ52 Bütünleştirici-Derleyici Farkı  Derleyiciler, bütünleştiriciler ile aynı işi yapıyor gibi görünürler  Kaynak deyimlerin çevriminde ve altyordamların bağlantılarını tanımlamada farklılıklar ve ayrıntılar içermektedir.  Nesne programın şekli de bütünleştiriciden farklıdır.  Derleyici, nesne koda çevrim işlemini bellek alanındaki kısıtlamalar nedeniyle kimi zaman tümüyle tamamlayamamaktadır.  Nesne program ilgili bağlantıların listesini içeren bir makro tablosu şeklinde depolanmakta, ve program, çalıştırılmak üzere belleğe yüklendiğinde tüm birimler biraraya getirilmektedir.  Program bu işleri genellikle bağlantılayıcı-yükleyici (linker- loader) olarak adlandırılan bir program sayesinde gerçekleştirmektedir.

53 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ53 Derleme İşleminin Aşamaları  Üç aşama bulunmaktadır: Sözlük Analizi (Lexical Analysis) Sözdizimsel Analiz (Syntactical Analysis) Kod Yaratma (Code generation)

54 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ54 Sözlük Analizi  Geçerli kelimelerin kontrolü yapılmaktadır. Örneğin geçerli veri isimleri, işlem işaretleri ve yanyana iki nokta “..” gibi işaretler kontrol edilmektedir.  Disk ve teyp gibi farklı şekillere sahip olan tüm girdiler aynı şekle konulmaktadır.  Her programlama dilinde, derleyici için özel bir anlamı olan ve program içinde veriler için kullanılamayan, “ayrılmış kelime (reserved word)” olarak adlandırılan kelimeler bulunmaktadır. Bu aşamada, ayrılmış kelimelerin kodlanması yapılmaktadır. Örneğin bir yazdırma deyiminde bulunan “WRITE” deyiminin yerine sayısal bir kod konulmaktadır.  Biçimler standartlaştırılmakta ve gereksiz boşluklar silinmekte, böylece bir sonraki aşamaya standartlaştırılmış bir biçim sunulmaktadır.

55 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ55 Sözdizimsel Analiz  Deyimler, sözdizimsel yapı yönünden kontrol edilirler. Örneğin her “if” deyiminin bir “endif” deyimi ile sonlanıp sonlanmadığı kontrol edilir.  Karmaşık formlar, daha basit eşdeğerlerine veya daha yönetilebilir formlara dönüştürülürler.  Derleyicilerin sözlüksel ve sözdizimsel analizini yapan bölümüne “ayrıştırıcı (parser)” adı verilmektedir.

56 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ56 Kod Üretme  Kod üretme aşamasında ise genellikle aşağıdaki işlemler gerçekleştirilmektedir: Her deyim eşdeğeri bir forma çevrilir. Tabloların kullanımı, sistem kütüphanelerinden gerekli altyordamların alınması gibi işlemler bulunmaktadır. Mümkünse eniyileme (optimizasyon) işlemleri gerçekleştirilir.  Kod üretme süreci genel olarak üç ana aşamaya ayrılabilmektedir. Ara Kod Üretme: Bu kod ayrıştırıcıdan doğrudan alınmaktadır. Eniyileme için basit bir şekle sahiptir. Eniyileme: Ara kod, daha hızlı çalışacak ve daha az bellek gereksinimi olacak şekilde eniyileme işlemine tabi tutulmaktadır. Kod Üretme: Eniyilenmiş kod nihai olarak nesne kodu üretmekte kullanılmaktadır. Nesne kodu genellikle makine dilinde olmasına karşın, kimi zaman bütünleştirme dili gibi daha üst seviye dillerde de olabilmektedir. Üst seviye dillerde oluşturulan nesne kod, daha sonra yorumlanmaktadır.

57 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ57 Derleyicinin Genel Çalışma Şekli  Tüm programı bir kerede denetler.  Sözlüksel ve sözdizimsel hataları bulur.  Hata yok ise, programı nesne koda çevirir.  Nesne kod daha sonra çlışabilir koda çevrilir.

58 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ58 Yorumlayıcının Genel Çalışma Şekli  Tüm programı deyim deyim denetler.  Bir döngü içindeki tüm deyimler her keresinde çevrilir.  Yavaştır.

59 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ59 Diğer Çeviriciler  Derleyici derleyiciler (compiler compilers): Herhangi bir programlama dili için geliştirilmiş olan ve o dil için derleyici yaratan programlardır.  Çapraz bütünleştirici (cross assemblers): Bir bütünleştirici dilinden diğer bir bütünleştirici diline çevrim işlemini gerçekleştiren programlardır.  Çapraz derleyiciler (cross compilers): Herhangi bir programlama dilinde yazılmış olan bir program diğer bir programlama diline çevrilebilmektedir.

60 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ60 Hizmet ve Destek Programları  Bilgisayar sistemini kullanılır durumda tutmak ve kullanıcılara kolaylık sağlamak amacıyla yazılmış programlar.  Kullanıcı isim ve şifresini denetleme.  Veri sıkıştırma  Disk ve dosya bakım  Yedekleme programları,  Dosya yöneticileri,  Bilgisayarın donanımlarının yönetilmesini sağlayan programlar,  Aygıt sürücüler  Sistemdeki programların işleyişini izlemeye yarayan programlar

61 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ61 Veritabanı  Bir bilgisayar sisteminde değişik kullanıcılar tarafından, değişik tür ve özellikte veriler depolanabilmektedir.  Depolanan veriler, yine değişik kullanıcılar tarafından kullanılmak istenebilmektedir.  Verilerin herkesin kullanabileceği bir şekilde düzenlenmesi gerekmektedir.  Verilerin düzgün şekilde tutulduğu bir yer ise “Veritabanı (Database)” olarak adlandırılmaktadır.

62 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ62 Veritabanının Genel Özelliği  Yapısal verilerin, tutarlı ve kontrollü bir veri havuzu oluşturmak amacıyla en az tekrarla düzenlenmesinden oluşmaktadır.  Bir sınıftaki öğrencilerin numara, ad ve soyadlarının düzensiz olarak bulunduğu değişik kağıtlar bir veritabanı sayılmamaktadır.  Bu veriler numara, ad, soyad gibi düzgün bir formda bulunduğunda bu bilgi bütünü bir veritabanı olarak kabul edilebilmektedir.

63 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ63 Veritabanı Yönetim Sistemleri  Bir veritabanını oluşturan, geliştiren ve düzenleyen karmaşık yazılım sistemleridir.  Bu sistemler, kullanıcı ile veriler arasında, kullanıcının veritabanını yönetmesini sağlayan bir arayüz de içermektedir.  Veritabanında olan dosyalar üzerinde de işlemlerin yapılabilmektedir.  VTYS’nin işlevleri: Veritabanındaki kayıtların güvenliğini sağlamak Veritabanında bulunan verilere izinsiz erişimin engellenmesi, Verilerin bozulmaya karşı korunması, Donanım veya yazılım hatasından sonra sözkonusu olabilecek geri kazanım ve yeniden başlatma...

64 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ64 Lisanslı Yazılım Sahibi Olmak  Yazılım sahibinin elde ettiği imkanlar: Lisans: Yazılımın belirli bir yerde kullanımı Kurulum Direktifleri Yazılımın Kurulumu Bakım ve Güncelleme Destek Anlaşması Kullanıcı El Kitapları Uygulama El Kitabı Eğitim Kullanıcı Grup Üyeliği

65 İŞLETİM SİSTEMLERİ İŞLETİM SİSTEMİNİN GENEL ÖZELLİKLERİ

66 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ66 İşletim Sisteminin Gerekçesi  Bilgisayarların artan işlem hızı ve büyük problem çözebilme yetenekleri, çalıştırılmaları için karmaşık işlemleri de gerektirmektedir.  İlk bilgisayar kuşaklarında karşılaşılan problemlerin bazıları: Kurulum Zamanı: Her iş bilgisayara ayrıca verilmekte, o iş bitene kadar bilgisayarda başka herhangi bir iş yapılamamakta ve bilgisayar tümüyle atıl durumda bulunmaktaydı. Elle Araya Girme: Hata durumlarını denetlemek ve düzeltme işlemlerini gerçekleştirmek için el ile müdahale etmek gerekmekteydi. Bilgisayar hataları kendi içinde düzeltememekteydi. Bu işlemler sırasında da bilgisayar yine atıl durumda bulunmaktaydı. İşlemci ve Çevre Birimleri Arasında Dengesizlik: Çevre birimlerinin, örneğin yazıcıların çalışması sırasında işlemci yazıcının yazma işlemini bitirmesini beklemekte, bu süre boyunca yine atıl durumda kalmaktaydı.

67 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ67 İşletim Sisteminin Ortaya Çıkışı  İşletim sistemi olmadan, bilgisayar sistemlerinin herhangi bir zamanda yalnızca küçük bir bölümü çalışmakta, geri kalan bölümü ise atıl durumda beklemektedir.  Bir “süper denetleyicinin” gereklidir.  Denetleyicinin mutlaka bilgisayarın içinde olmalıdır.  “İşletim Sistemi (OS:Operating System)” adı verilen yazılım paketleri ortaya çıkmıştır.

68 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ68 İşletim Sistemi Nedir?  İşletim Sistemi, işletmenler tarafından gerçekleştirilen işlemlerin çoğunu gerçekleştiren program paketidir.  Modern bilgisayarlar, insanların müdahalesiyle denetlenemeyecek kadar karmaşık ve hızlıdır.  İşletim sisteminin esas rolü kaynakların etkin kullanımını sağlamaktır.  Bilgisayar sisteminde bulunan işlemciler, depolama birimleri, giriş/çıkış birimleri, veri ve programları yönetmektedir.

69 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ69 İşletim Sisteminin Denetlediği Kaynaklar  İşlemciler  Depolama Birimleri  Girdi/Çıktı Aygıtları  Veri  Programlar

70 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ70 İşletim Sisteminin İşlevleri  İşlemlerin devamlı olarak ardalanmalarını veya olaylara uygun karşılıkların verilmesini sağlamak amacıyla, programların ve altprogramların planlanmalarını ve yüklenmelerini sağlamak.  Donanım kaynakları üzerinde denetimi sağlamak  Donanım, yazılım veya verileri uygun olmayan kullanımdan korumak.  Program ve altprogramları gerekli olduğu zaman belleğe çağırmak  Ana bellekte bir’den daha fazla program bulunduğunda, denetimin bir işten diğerine, belirli bir öncelik sistemine göre geçmesini sağlamak  Hata denetim yazılımlarının uygulanmasını sağlamak  İşlemler sırasında olanların tüm kayıtlarını tutmak.  Bilgisayar işletmeni ile bağlantı kurmak.

71 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ71 İşletim Sistemlerinin Sınıflandırılması (1)  Çoklu işlem yapma (Multiprocessing): Bir bilgisayar sisteminde 1’den daha fazla işlemci varsa ve bu işlemciler aynı bellek birimlerini paylaşıyorlarsa, bu durumda çoklu işlemden söz edilebilir. Bazı durumlarda aynı anda 1’den fazla program çalıştırılabilmektedir.  Çoklu programlama (Multiprogramming): Bir işletim sisteminde, değişik programlar aynı zamanda çalıştırılabiliniyorsa, o işletim sistemine çoklu program çalıştırabilen işletim sistemi adı verilmektedir. Burada işlemler, çok kısa zaman dilimlerinde değişik programların çalıştırılması ile gerçekleştirilmektedir.  Toplu işlem yapma (Batch processing): Program ve veriler bir iş olarak kabul edilmekte ve ancak tümüyle bilgisayara yüklendikten sonra çalıştırılmaları sağlanmaktadır. Bu tür sistemlerde bir işlem kuyruğu bulunmakta, bilgisayarda çalıştırılmak istenilen program ve verileri bu kuyrukta tutulmakta, sırası gelen iş, işlemci ve belleğe aktarılmaktadır. İş yüküne bağlı olarak herhangi bir işin kuyrukta bekleme süresi değişkenlik gösterebilmektedir.

72 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ72 İşletim Sistemlerinin Sınıflandırılması (2)  Etkileşimli hesaplama (Interactive computing): Bilgisayar ve kullanıcının karşılıklı iletişim ve etkileşim içinde bulundukları sistemlerdir.  Çoklu erişim (Multi-access): Eğer aynı anda 1’den daha fazla kullanıcının etkileşimli olarak bilgisayarı kullanımı mümkün olabiliyor ise, bu sistemlere çoklu erişim sağlayan sistemler adı verilmektedir.  Zaman paylaşımı (Time-sharing): İşlemci zamanı, kullanıcıların çoklu erişimlerine imkan sağlayabilmek için çok küçük zaman dilimlerine bölünmekte, her zaman diliminde bir tek kullanıcıya hizmet verilmektedir.  Gerçek zamanlı sistem (Real Time System): Bu sistemler, elde edilen sonuçların işlemleri hemen etkileyebilmelerini sağlayacak şekilde tasarlanmış bilgisayar sistemleridir. Kimyasal madde kullanılan tesisler gibi yerlerde anlık müdahalelere gereksinim vardır. Bu tesislerde gerçek zamanlı sistemler kullanılmaktadır.

73 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ73 İşletim Sistemi Seçimindeki Faktörler  Bilgisayarın donanımsal yapısı  Bilgisayarda kullanılması öngörülen yazılımlar  Bilgisayarla sağlanması öngörülen iletişim şekli  Bilgisayarın çalıştırılma şekli

74 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ74 İşletim Sistemi Türleri  Tek program sistemleri: CP/M, DOS  Basit kuyruk (batch) sistemleri  Çok bağlantılı, zaman paylaşımlı sistemler  Gerçek zamanlı sistemler

75 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ75 İşletim Sisteminin Genel İşlevleri  G/Ç denetimi: Değişik aygıtlardan gelen ve giden bilgileri denetler.  Kesme Denetimi (Interrupt) Enerji Sorunları Aritmetik ve Mantıksal Hatalar Donanım Hataları Saat G/Ç kesme istekleri Dış kesme istekleri  Hata Denetim Yordamlarının İşletimi  Aygıtların Tahsisi  Dosya Güvenliği ve Yönetimi  Tüm işlemlerin dosyalanması  Operatörle iletişimin sağlanması  Programların ve altprogramların yüklenmesi

76 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ76 Depolama Birimi Yönetimi  İşletim sistemi, ana belleği uygun büyüklükte bloklara böler.  Bu bloklara “bölüm (partition)” adı verilir.  Depolama alanı, bölümler ile tahsis edilir.  Programlar “yeniden yerleşebilir (relocatable)” olmalıdır.  Programın mutlak (donanım) adresi, çekirdek tarafından bölüm adresinin her deyimin adresinin temel (base) adrese eklenmesi ile oluşur.  Dinamik Tahsis (Dynamic Allocation): Çekirdek, işlemlerin tekrarlanmaları sırasında, programların tahsislerini sürekli değiştirebilir.

77 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ77 Görevlendirme, Çoklu Görevlendirme, Bölümleme Tasking, Multi-tasking, Segmenting  Çoklu Görevlendirme (Multi-tasking): Kullanıcı programlarının çoklu programlanması  DOS ortamında, çoklu programlama ilkeldir.  Çok sınırlı sayıda program birlikte çalışabilir.  Çoklu görevlendirmeli bir sistemde, aynı anda birçok etkileşimli kullanıcı programı bulunabilir.  Bu programlar, işletim sistemi ve bazı arka plan görevlerle birlikte çoklu-programlanmaktadırlar.

78 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ78 Görevlendirme, Çoklu Görevlendirme, Tasking -Multi-Tasking  Gerçek çoklu görevlendirme boşluklara sahiptir.  Eğer bir işlem kesildi ise, kesme istemi karşılandıktan sonra o işe devam edilmesi zorunlu ve gerekli değildir.  Diğer işlemlerin daha yüksek önceliği olabilir.  Bir iş “görev (task)” adı verilen aşamalara bölünebilir.  Görevleri ayrı programlar şeklinde işleyebilmek de mümkündür.  Bu işleme “Görevlendirme (Tasking)” adı verilmektedir.

79 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ79 Bölümlendirme Segmenting  Bir iş, “bölüm (segment)” adı verilen uygun depolama birimlerine bölünebilir.  Ana depolama biriminde yalnızca işlem gerektiren bölümler tutulmaktadır.  Geri kalan bölümler doğrudan erişimli depolama biriminde saklanmaktadır.  Bu işleme “bölümlendirme (segmenting)” adı verilmektedir.  Belleğe her yeni bölüm getirildiğinde, o bölüm yerini aldığı bölümün üzerine gelmektedir (overlay).  Farklı prgramların bölümleri çoklu olarak programlandıklarında, bu işleme “interleaving” adı verilmektedir.

80 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ80 Uygulama Yazılımları (1) Kullanıcılar için gerçek iş yapan prgramlardır..  Uygulama Paketleri:  Uygulamaya Özgü: AutoCAD, Matlab, vb.

81 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ81 Uygulama Yazılımları (2)  Uygulama Paketleri: İleri Matematiksel İşlemler: MathCAD İstatistik paketleri: SPSS, Minitab

82 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ82 Kelime işlemciler  Farklı türleri kullanılmaktadır  Grafik ve/veya metin tabanlı  Grafik kelime işlemciler Ne Görürsen Elde Ettiğin O’dur prensibine göre çalışırlar (WYSWYG: What You See is What You Get)  LaTex, UNIX işletim sistemlerinde en yaygın kullanılan kelime işlemcidir.

83 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ83 LaTex Kodu ve Çıktısı  Latex Kodu  Latex Çıktısı

84 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ84 Open Office Writer  OpenOffice: Ücretsiz bir yazılımdır. SUN Microsystems tarafından geliştirilmiş ve desteklenmektedir.

85 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ85 Microsoft Word  MS Word en yaygın kullanılan kelime işlemcidir.

86 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ86 Corel Word Perfect  Word Perfect en iyi bilinen ve kullanılan kelime işlemci idi.  Şu anda Corel firması tarafından geliştirilmekte ve desteklenmektedir.

87 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ87 Other Word Processors  Birçok başka lkelime işlemci bulunmaktadır.  IBM Lotus  Kendi kelime işlemcinizi yaratabilirsiniz.

88 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ88 Tablolama (Spreadsheet) Programları  Satır ve sütunlarda bulunan verilerüzerindeişlem yapmak için kullanılırlar.  Birçok firma kendi yazılımını geliştirmektedir. Corel  IBM Lotus Symphony  Microsoft Excel  OpenOffice Calc

89 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ89 MS-Excel

90 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ90 OpenOffice-Calc

91 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ91 Lotus Symphony-Spreadsheet

92 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ92 Sunum Yazılımı  OpenOffice-Impress  MS-PowerPoint  IBM Lotus Symphony

93 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ93 Lotus Symphony-Presentation

94 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ94 OpenOffice-Impress

95 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ95 MS-Office Powerpoint

96 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ96 Kullanıcı Uygulama Programları  Kullanıcı tarafından özel amaçlar için geliştirilen yazılımlar.

97 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ97 Kaynaklar  BROOKSHEAR, J.G. (2000), Computer Science An Overview, Addison Wesley Longman Inc., ISBN 0 ‑ 201 ‑ ‑ X.  CAPRON, H.L., JOHNSON, J.A. (2002), Computers, Tools for an Information Age, Pearson Education Inc., ISBN 0 ‑ 13 ‑ ‑ 1.  FRENCH, C.S., (1992), Computer Science, 4/e., DP Publications Ltd., ISBN 1 ‑ ‑ 19 ‑ 8.  PARSONS, J.J., OJA, D. (2003), New Perspectives on Computer Concepts 6/e, Course Technology, Thomson Learning, ISBN 0 ‑ ‑ 2.  REED, D. (2005), A Balanced Introduction to Computer Science, Prentice Hall, ISBN 0 ‑ 13 ‑ ‑ X.    

98 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ98 Questions?


"Yazılım Doç.Dr.Yalçın ÇEBİ. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ2 İçindekiler  Yazılım Bilgisayarda Yazılımın Düzenlenmesi Programlama." indir ppt

Benzer bir sunumlar


Google Reklamları