Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "Yazılım Doç.Dr.Yalçın ÇEBİ."— 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İ
İç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) Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

3 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

4 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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 KULLANICILARI BİLGİSAYAR UZMANLARI UYGULAMA PAKETLERİ UZMANLARIN UYGULAMA PAKETLERİ SİSTEM YAZILIMLARI KOMUT YORUMLAYICILAR İŞLETİM SİSTEMİ DONANIM 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. 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. 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. 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. BASIC COBOL A=B+C ADD B TO C GIVING A 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. 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. 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 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

19 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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 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. 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. 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 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

24 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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”. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

26 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

27 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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 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. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

30 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
Üçü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. 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. 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) Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

33 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

36 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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) 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

38 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

39 Bazı Programlama Dillerinin Kullanım Alanları
Kuşak Makine Bağımlı Makine Bağımsız Sistem Programlama Uygulama Programları İş Akademik Diğer Machine 1 X Assembly 2 Genel FORTRAN 3 COBOL BASIC Eğitim PASCAL C 4 GL 4 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) 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) Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

42 Sistem Yazılımları Uygulama Yazılımları
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İ
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. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

45 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
Ç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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

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

47 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

48 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

49 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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. 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. 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. 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) Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

54 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

55 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

56 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

59 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

61 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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. 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 ... 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 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

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

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ı. 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

68 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
İş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. 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 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. 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. 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. 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 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 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 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

77 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. 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. 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. 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. 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 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

82 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

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

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

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

86 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

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

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

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

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

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

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

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

95 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
MS-Office Powerpoint 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. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

97 Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ
Kaynaklar BROOKSHEAR, J.G. (2000), Computer Science An Overview, Addison Wesley Longman Inc., ISBN 0‑201‑35747‑X. CAPRON, H.L., JOHNSON, J.A. (2002), Computers, Tools for an Information Age, Pearson Education Inc., ISBN 0‑13‑091955‑1. FRENCH, C.S., (1992), Computer Science, 4/e., DP Publications Ltd., ISBN 1‑873981‑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‑127774‑X. Yazılımların Sınıflandırılması; Doç.Dr.Yalçın ÇEBİ

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


"Yazılım Doç.Dr.Yalçın ÇEBİ." indir ppt

Benzer bir sunumlar


Google Reklamları