egzersizler, koruyucu, tedavi edici ve muayene pozisyonları

advertisement
İÇİNDEKİLER
BİLGİ TEKNOLOJİLERİNE
GİRİŞ-III
•
•
•
•
•
Yazılım
Uygulama Yazılımları
Sistem Yazılımları
İşletim Sistemleri
Programlama Dilleri
• Kötü amaçlı yazılımlar
TEMEL BİLGİ
TEKNOLOJİLERİ
HEDEFLER
• Bu üniteyi çalıştıktan sonra;
• Uygulama ve sistem yazılımlarının
özelliklerini bilecek,
• Sistem yazılımlarını açıklayabilecek
• İşletim sistemlerinin çalışma
şeklini kavrayabilecek,
• Programlama dillerini ve
görevlerini açıklayabilecek
• Kötü amaçlı yazılımların verdikleri
zararları bilecek,
• Bilgisayarları kötü amaçlı
yazılımlardan koruyabileceksiniz.
BÖLÜM
3
Bilgi Teknolojilerine Giriş - 3
Giriş
Bilgisayar sisteminin iki temel bileşeninden biri yazılımdır. Yazılımlar çeşitli
amaçları yerine getirmek için oluşturulmuş komutlar topluluğudur. Bu komutlar
yardımı ile bilgisayarın donanım bileşenleri idare edilebildiği gibi herhangi bir
amaçla veriler organize edilebilir.
Genel olarak yazılımlar uygulama ve sistem yazılımları olarak ikiye
ayrılmaktadır. Belirli bir amacı gerçekleştirmek için geliştirilen yazılımlara
uygulama yazılımları denir. Bilgisayar sistemi üzerindeki kontrolleri
gerçekleştirmek için ise sistem yazılımlarına ihtiyaç duyulmaktadır.
Bu ünitede uygulama ve sistem yazılımlarının özellikleri ve örnekleri
üzerinde durulacaktır. Ayrıca bilgisayar sistemi üzerinde olumsuz etkileri olup
sistem içerisinde istenmeyen virüsler, truva atları, ağ solucanları ve casus
yazılımlar gibi zararlı yazılımların etkilerine de değinilecektir.
YAZILIM (SOFTWARE)
Yazılım, kullanıcıların
bilgisayarda işlem
yapmalarını sağlayan
tüm programlara
verilen genel addır.
Yazılım, kullanıcıların bilgisayarda işlerini icra etmelerine imkan veren tüm
programlara verilen genel addır. Yazılımlar; uygulama yazılımları ve sistem
yazılımları olmak üzere iki ana gruba ayrılır.
Uygulama yazılımları programlama dilleriyle yazılan kullanıcıya yönelik
yazılımlardır. Bunlar da genel amaçlı ve özel amaçlı olmak üzere ikiye ayrılır. Genel
amaçlı uygulama yazılımlarına kelime işlem, elektronik hesap tablosu, veri tabanı,
dosya yönetimi ve grafik programları örnek verilebilir. Muhasebe, bordro,
envanter yönetimi ve üretim planlama yazılımları ise özel amaçlı yazılımlardır.
Sistem yazılımları, uygulama yazılımlarının belli bir donanım grubu üzerinde
pürüzsüz olarak çalışmasını temin eden zemin programlarını içerir. İşletim
sistemleri, derleyiciler ve yorumlayıcılar sistem yazılımlarına örnek verilebilir.
UYGULAMA YAZILIMLARI
Uygulama yazılımları belirli işlemleri (Ör: resim yapma, dosya sıkıştırma)
yerine getirmek için geliştirilen yazılımlardır. Uygulama yazılımlarının geliştirilmesi
için programlama dilleri ve diğer bazı uygulama geliştirme araçları kullanılır.
Uygulama yazılımları belli bir işletim sistemi altında çalıştırılmak üzere
hazırlanırlar. Örneğin, Macintosh işletim sistemi altında çalışmak üzere hazırlanan
bir kelime işlem programı, WINDOWS işletim sistemini kullanan kişisel
bilgisayarlarda çalışmayacaktır. Bununla birlikte, genellikle ticari uygulamalar diğer
birçok işletim sistemi altında da çalışabilecek şekillerde hazırlanmaktadır.
Atatürk Üniversitesi Açıköğretim Fakültesi
2
Bilgi Teknolojilerine Giriş - 3
Genel Amaçlı Uygulama Yazılımları
Günümüzde bilgisayar sistemleri için çok sayıda genel amaçlı uygulama
yazılımı mevcuttur ve bunların sayısı her geçen gün hızla artmaktadır. Bu
yazılımlardan kişi ve kurumlarca en yaygın olarak kullanılanları kelime işlem
programları, elektronik hesap tablosu programları ve dosya/veri tabanı yönetim
sistemleridir.
Kelime işlem
programları bilgisayar
sistemi üzerinde çeşitli
metinlerin
oluşturulmasına ve
düzenlenmesine imkan
veren programlardır.
Kelime işlem programları: Kelime işlem programları bilgisayar sistemi
üzerinde çeşitli metinlerin oluşturulmasına ve düzenlenmesine imkan veren
programlardır. Bu programlar diğer genel amaçlı uygulama yazılımlarına oranla
çok daha yaygın bir şekilde kullanılmaktadır. Bazı kelime işlemciler, masaüstü
yayıncılık, elektronik takvim ve elektronik posta gibi özelliklere sahip olan entegre
ofis sistemlerinin temelidir.
Hesap tablosu programları: Hesap tablosu programları bilgisayar sistemini
son derece kabiliyetli bir elektronik hesap makinesine dönüştüren programlardır.
Bu programların çoğu, verileri alıp çeşitli türlerde grafiklere dönüştürme
kabiliyetine de sahiptir.
Dosya yöneticileri ve
veri tabanı yönetim
sistemleri büyük
miktarlardaki verileri
depolayıp bu verilere
hızlı bir erişim
sağlanmasına ve bu
verilerden raporlar
hazırlanmasına imkan
veren programlardır.
Sunum Programları: Sunum uygulamaları belli bir konuda yapılan
araştırmanın veya hazırlanan raporların sonuçlarını bilgisayar yardımıyla diğer
kişilere görüntü ve ses destekli anlatımlar yapmak için kullanılırlar. Sunum
genellikle bilgisayara bağlı bulunan bir projeksiyon cihazı yardımıyla yapılır. Bu
uygulamalar her türlü grafik, ses ve video görüntülerinin kullanılmasına imkan
verir.
Dosya yöneticileri ve veri tabanı yönetim sistemleri: Dosya yöneticileri ve
veri tabanı yönetim sistemleri büyük miktarlardaki verileri depolayıp bu verilere
hızlı bir erişim sağlanmasına ve bu verilerden raporlar hazırlanmasına imkan veren
programlardır.
Bu yazılımlar genellikle üretici firmalar tarafından birleştirilerek tek bir
paket halinde sunulabilirler. Bu tür paketlere entegre yazılım paketleri
denilmektedir. Ayrıca bu paketler içerisinde; e-posta gönderip almak için mail
istemci, resim dosyalarını düzenlemek ve paylaşmak için resim yönetici, bülten,
broşür, kartpostal ve el ilanı gibi yayınlar hazırlamak için yayın editörü programları
da entegre olarak bulunmaktadır. Entegre paketlerin avantajı kullanıcının ihtiyaç
duyduğu her şeyin elinin altında bulunması ve etkileşimli olarak çalışabilmesi;
ayrıca entegre yazılımın fiyatının, yazılımların ayrı ayrı satın alınmasına oranla
daha ucuz olmasıdır. Bununla birlikte, entegre yazılımın kullanıcının ihtiyaç
duyduğundan çok daha fazla fonksiyonelliğe sahip olması bir dezavantaj teşkil
edebilir. Microsoft Office, Open Office ve Libre Office entegre yazılımlara
verilebilecek örneklerdir.
Atatürk Üniversitesi Açıköğretim Fakültesi
3
Bilgi Teknolojilerine Giriş - 3
Özel Amaçlı Uygulama Yazılımları
Özel amaçlı uygulama yazılımları belirli işlemlerigerçekleştirmek için
geliştirilen yazılımlardır. Bir oyun yazılımından kurumdaki personel giriş çıkışını
takip eden yazılıma kadar sadece sınırlı amaçları olan tüm programlar bu grupta
değerlendirilebilir. Bu yazılımlar bir kurumun ihtiyacı için özel olarak
geliştirilebildiği gibi kişisel ihtiyaçlara yönelik paket program olarak da piyasaya
sunulabilir. Aşağıda özellikle kurumlarda kullanılan bazı özel amaçlı yazılım türleri
kısaca açıklanmıştır.
Karar destek sistemleri
problemlerin
çözümlerinde kullanılan
yazılımlardır.
Analiz ve karar verme: Bu tür yazılımlardan birisi karar destek sistemleridir.
Bir karar destek sistemi belli işlemleri yapmaktan çok problemlerin çözümünde
yöneticilere yardımcı olmak amacıyla geliştirilmiş olan bir sistemdir. Birçok karar
destek sistemi matematiksel modellerden faydalanmak üzere istatistik ve yönetim
bilimi yazılımlarını birleştirir. Karar vermede kullanılan bir diğer yazılım çeşidi ise
uzman sistem yazılımlarıdır. Uzman sistemler, uzmanların bir sonuç çıkarmak
üzere kullandıkları yöntemleri taklit ederek karar vericilere tavsiyelerde bulunması
amacıyla kullanılan yazılımlardır.
Planlama, programlama, koordinasyon ve organizasyon: Finansal planlama,
bütçe, masraf ve satış raporları hazırlama, toplantı gündemlerinin hazırlanması ve
randevuların ayarlanması gibi işler yine bu amaçlarla geliştirilen uygulama
yazılımları yardımıyla yapılır. Bu tür yazılımlara masaüstü düzenleyici yazılımlar
denir. Ayrıca yöneticilerin Gant şemaları, PERT, CPM ve diğer proje yönetim
araçlarını kullanmasını kolaylaştıran proje yönetimi yazılımları da bu grupta
değerlendirilebilir.
Raporlama: Bu uygulamalar verilerin sıralanması, sınıflandırılması,
özetlenmesi ve estetik görünümlü bir duruma getirilmesi amacıyla kullanılan
yazılımlardır. Genellikle ya uygulama yazılımı içerisinde ya da entegre bir şekilde
çalışır.
İletişim: İletişim programları bilgisayar ağları arasında iletişim kurulmasına
imkan veren programlardır. Günümüzde yaygın bir şekilde kullanılan internet
hizmetlerinden yararlanmak için geliştirilmiş olan her türlü program iletişim
programları içerisinde düşünülebilir. Kurumlar kendileri için özel bir iletişim ortamı
hazırlatabilecekleri gibi bu amaçla önceden hazırlanmış programları da
özelleştirebilirler.
Atatürk Üniversitesi Açıköğretim Fakültesi
4
Bilgi Teknolojilerine Giriş - 3
SİSTEM YAZILIMLARI
Sistem yazılımları
donanım parçalarının
kullanılmasına olanak
tanıyan yazılımlardır.
Sistem yazılımları, uygulama yazılımları ile bilgisayar donanımı arasında
aracılık eden yani bilgisayar sisteminin sorunsuz bir şekilde çalışmasını sağlayan
yazılımlardır. Bu kısımda işletim sistemi (Operating System) ve hizmet (Utility)
yazılımları kısaca incelenecektir.
İşletim Sistemi Yazılımları
Bir işletim sistemi, bilgisayar sisteminin yapacağı işleri yöneten programlar
bütünüdür. Bir işletim sisteminin temel fonksiyonu bilgisayar kaynaklarının
yönetimi ve kontrolüdür. Bilgisayar düğmesine basılınca onun açılmasını sağlayan,
kullanıcılara belge ve klasörleri görüntüleyen yazılım aslında işletim sistemidir.
İşletim sistemi olmazsa diğer yazılımlar çalışmaz. Bir işletim sisteminin
gerçekleştirdiği temel işlemler;
 Merkezi işlem birimini farklı işlere yönlendirmek,
 Ana belleği yönetmek,
 Harici kayıt cihazlarını yönetmek,
Yönetici program
işletim sisteminin
koordinasyonunu
sağlar.
 Giriş/çıkış birimlerini kontrol etmek,
 Bilgisayar sisteminin güvenliği ve kontrolünü sağlamaktır.
İşletim sistemleri genellikle bir yönetici (supervisor), iş-kontrol programları
(command-language translator), bir giriş/çıkış kontrol sistemi (input/output
control system) ve kütüphaneler (libraries) içerirler.
Bir işletim sisteminin kalbi yönetici programdır. İşletim sisteminin tüm
koordinasyon ve yönetimi bu program tarafından yapılır. Bilgisayar sistemi
açıldığında belleğe yüklenen bu program işletim sisteminin diğer kısımlarının
kullanımını organize eder.
İş kontrol programları, kullanıcının işletim ihtiyaçlarını karşılamak için
kullanacağı komutlardan ibarettir. İş kontrol programlarının fonksiyonu, dosyaların
listelenmesi, disklerin biçimlendirilmesi, programların kopyalanması ve dosyaların
silinmesi gibi işlemleri yerine getirmektir.
Giriş/çıkış kontrol sistemi, giriş ve çıkış cihazlarıyla etkileşimi sağlar. Örneğin,
yönetici program, bir dosyanın veya programın kullanıcı için diskten okutulması
gerektiğini tespit ederse bu işin yapılmasını giriş çıkış kontrol sistemine havale
eder.
Kütüphane programları, bilgisayar kaynaklarının paylaşıldığı çok kullanıcılı
sistemlerde verilerin, programların ve kullanıcıların kataloğunun hazırlanması ve
yönetilmesi işlemlerini yerine getirir. Örneğin, herhangi bir kullanıcı bir bilgisayar
Atatürk Üniversitesi Açıköğretim Fakültesi
5
Bilgi Teknolojilerine Giriş - 3
sistemine bir kimlik ve şifreyle bağlandığında erişimin yetkili mi yoksa yetkisiz mi
yapıldığının tespit edilmesi işlemi kütüphane programları tarafından yapılır.
Mikrobilgisayar işletim sistemleri
İşletim sistemi, kullanıcılar için uygulama yazılımlarına, verilere ve diğer
bilgisayar kaynaklarına bir geçit olarak düşünülebilir. Günümüzde
mikrobilgisayarlar için çok sayıda işletim sistemi mevcuttur. Aşağıda bu işletim
sistemlerinden bazıları temel özellikleri açıklanarak anlatılmıştır.
Ms-dos işletim sistemi
MS-DOS (Microsoft-Disk Operating System) 90’lı yıllarda
mikrobilgisayarlarda en yaygın kullanılan işletim sistemiydi. MS-DOS benzeri bir
işletim sistemi de PC-DOS (Personal Computer-Disk Operating Systems) işletim
sistemidir. MS-DOS ve PC-DOS temelde aynı işletim sistemleridir. Başlangıçta MSDOS, IBM uyumlu bilgisayarlar için kullanılırken, PC-DOS, MicroSoft tarafından IBM
kişisel bilgisayarlar için geliştirilmişti. Her iki işletim sistemi de ilk geliştirildiği
günden bu yana defalarca yenilenmiş ve yeni sürümleri üretilmiştir.
Macintosh işletim sistemi
Apple firması, 1984 yılında kendi bilgisayarları için ilk grafik arayüzü olan
işletim sistemini geliştirdi. Bir fareyle birlikte kullanılan bu işletim sistemi,
kullanıcıların ikon denen grafiksel semboller kullanarak dosya ve programları
yönetmelerini mümkün kıldı. Örneğin bir dosyayı silmek için kullanıcının yapması
gereken işlem silinecek dosyayı temsil eden ikonu sürükleyerek çöp kutusunun
içerisine bırakmaktır. Apple’ın bu grafik arayüzlü ve kullanımı kolay işletim sistemi
diğer firmaların da aynı türde işletim sistemleri geliştirmelerine öncülük etmiştir.
Windows işletim sistemi
Mikrobilgisayar işletim
sistemlerindeki en
önemli gelişme
Windows 3.0’ ın
üretilmesidir.
Mikrobilgisayar işletim sistemlerindeki en önemli gelişmelerden biri
Windows 3.0’ın üretilmesidir. Eşzamanlı olarak bir çok uygulamanın
çalıştırılabilmesine imkan veren ve grafik arabirimine sahip olan bu yeni işletim
sistemi aynı zamanda DOS uygulamalarını da çalıştırabiliyordu. Böylece kullanıcılar
alıştıkları özellikleri de içeren Windows’a daha kolay uyum sağlayabildiler.
1992 yılında MS-DOS 5.0 ile birlikte Windows’un 3.1 sürümü ve 1995’te
Windows 95 sürümü piyasaya çıktı. Her iki versiyon da piyasaya çıktığında satış
rekorları kırdı. Windows 95’i takiben Windows 98, Windows Millenium Edition
(ME), Windows 2000, Windows XP, Windows Vista ve son olarak da Windows 7
üretildi. Windows işletim sistemlerinin en son sürümü Windows 7’dir. Windows 7
yüksek performansı ve etkili görsel öğeleri ile 2009’un Ekim ayında kullanıcıları ile
buluştu.
Atatürk Üniversitesi Açıköğretim Fakültesi
6
Bilgi Teknolojilerine Giriş - 3
Linux işletim sistemi
Linux, ağa bağlı bilgisayarlar üzerinde uzun yıllardan beri kullanılan ve UNIX
tabanlı bir işletim sistemidir. Bir anlamda UNIX'in kişisel bilgisayarlar (PC)’a
uyarlanmış versiyonu olarak değerlendirilebilir.
Temel bazı işlemleri yapmak için bir öğrenci olan Linus Torvalds tarafından
geliştirilen bir Linux işletim sistemi ardından özellikle Internet üzerinde çok sayıda
programcının katkısıyla gelişmiş, ardından büyük bilgisayar şirketlerinin de
destekleriyle bugün yaygın kullanılan bir işletim sistemi haline gelmiştir.
Web sunucusu gibi
özellikleri yerleşik
olarak içeren Linux
işletim sistemleri
özellikle Internet
bağlantılarının
yönetilmesinde yaygın
olarak kabul görmüştür.
Web sunucusu gibi özellikleri yerleşik olarak içeren Linux işletim sistemleri
özellikle Internet bağlantılarının yönetilmesinde yaygın olarak kabul görmüştür.
Linux, ücretsiz, sağlam ve güçlü bir işletim sistemidir. Açık bir yapıda olduğu için,
Linux’un kaynak kodu herkes tarafından erişilebilir ve değiştirilebilir. Diğer bir
deyişle bütün programcılar Linux’a katkıda bulunabilirler. Açık kod kavramıyla
yaygınlaşan Linux’un temel özellikleri şunlardır:
 Linux bilgisayarların daha az sistem çökmelerine (crashed) maruz kalmakta
olduğu bilinmektedir.
 Linux hızlı ve etkin bir işletim sistemidir
 Hemen hemen tüm Linux dağıtımları internet üzerinde ücretsiz
indirilebilmektedir.
 Linux işletim sistemi günümüzde eğitim kurumlarında ve kişisel
kullanımlarda yeterince yaygınlaşmamıştır.
Pardus işletim sistemi
Anabilgisayar
sistemleri,
minibilgisayarlar ve
diğer süper bilgisayar
sistemlerinin işletim
sistemlerine kıyasla
daha karmaşık ve
ayrıntılı bir yapıya
sahiptirler.
Pardus aslında Linux tabanlı bir işletim sistemidir. Pardus Projesi, Türkiye
Bilimsel ve Teknolojik Araştırma Kurumu (TÜBİTAK)'na bağlı Bilişim ve Bilgi
Güvenliği İleri Teknolojiler Araştırmalar Merkezi (BİLGEM) bünyesinde
geliştirilmektedir. Projenin ismi Anadolu parsının latince (bilimsel) isminden,
Panthera Pardus Tulliana'dan gelmektedir.
Açık kaynak kodlu yerli işletim sistemi Pardus 2011 ile daha rahat bir
kullanım ve daha çok donanım desteği gibi yeniliklerin yanı sıra, Türkçe yazım
denetimi desteği, kötü niyetli yazılımlara karşı güvenli yapısı ve entegre
programlar gibi beğenilen özelliklerini sunmaktadır.
Büyük bilgisayarların işletim sistemleri
Anabilgisayar sistemleri, minibilgisayarlar ve diğer süper bilgisayar
sistemlerinin işletim sistemlerine kıyasla daha karmaşık ve ayrıntılı bir yapıya
sahiptirler. Büyük sistemler çoğu kez çok kullanıcılı bilgisayarlardır. Kullanıcıların
terminalleri sınırlı işlem kabiliyetine sahip olabilir ve işlemler tamamen
Atatürk Üniversitesi Açıköğretim Fakültesi
7
Bilgi Teknolojilerine Giriş - 3
Çoklu programlama ile
CPU’nun sırayla
kullanılması aynı anda
bir grup programın
çalıştırılmasına imkan
verir.
terminallerin bağlı olduğu bilgisayarda yapılabilir. Bu yüzden bu tür sistemlerin
aynı anda çok sayıda kullanıcının merkezi işlemciyi paylaşmasına imkan veren
işletim sistemlerine sahip olması gerekir. Büyük sistemlerin işletim sistemleri aynı
anda sistemi kullanan kişilerin işlerini mümkün olan en yüksek etkinliği sağlayacak
şekilde düzenler. Dolayısıyla bu işletim sistemleri aynı anda birçok programın
çalışmasını, birden fazla işin yapılmasını sağlar ve zaman paylaşımını ve belleğin
kullanımını düzenler. İşletim sistemlerinin genel özellikleri şöyledir.
Çoklu Programlama (Multi-programming): Bilgisayar kaynaklarının
paylaşımında en önemli işletim sistemi yeteneği çoklu programlamadır. Çoklu
programlama, çok sayıda programın CPU’nun eşzamanlı kullanımıyla herhangi bir
anda bir bilgisayar sisteminin kaynaklarının paylaşımına imkan verilmesidir.
Eşzamanlı kullanım, gerçekte herhangi bir anda CPU’nun bir program tarafından
kullanılması, ancak diğer programların input/output ihtiyaçlarına da aynı anda
cevap verilmesidir. Bu durumda iki veya daha çok program aynı anda aktif
durumdadır fakat aynı bilgisayar kaynaklarını aynı anda kullanamazlar. Çoklu
programlama ile bir grup program CPU’yu sırayla kullanır. Aynı anda birden fazla
işlemin yapılması çoklu görev (Multitasking) olarak da tanımlanabilir.
Çoklu görev, bir işletim sisteminde birden fazla işlemin aynı anda işletime
alınabilmesi özelliğidir. Word programında bir belge hazırlandığı anda Winamp
programından müzik dinleyebilmek çoklu görev özelliğine örnek olarak verilebilir.
Bunun sağlanması için, görevler (uygulamalar) kısa zaman dilimleri içinde
işlemcide çalıştırılır. Bu zaman dilimlerinin oldukça küçük zaman dilimleri olması
nedeniyle yapay da olsa bir eş zamanlılık söz konusu olur (İşlemci aynı anda iki işi
yapamaz).
Sanal bellek bir
programı page denilen
sabit uzunluklu
kısımlara veya segment
denilen değişken
uzunluklu kısımlara
ayırmaktadır.
Sanal Bellek (Virtual Memory): Sanal bellek sistemleri, disk yüzeyini RAM’in
mantıksal bir uzantısı şeklinde düzenleyerek birincil belleği genişletir. Bir program
çalıştırılacağı zaman ilk birkaç sayfa ana belleğe taşınır. Daha sonra bilgisayar
programı çalıştırmaya başlar. Sanal bellek, her programın yalnızca bir ya da birkaç
sayfasını saklayarak çok sayıda programın bellekte kalmasına imkan verir.
Programların diğer kısımları çalıştırılıncaya kadar sabit kayıt biriminde durur.
Sanal bellek sayesinde programcılar veya kullanıcılar belleğin hacmi
konusunda sıkıntı yaşamamış olurlar.
Zaman Paylaşımı (Time Sharing): Zaman paylaşımı, merkezi işlem biriminin
birden çok kullanıcının faaliyetlerini aynı anda desteklemesine imkan veren çok
popüler bir tekniktir. Zaman paylaşımı kullanıcıların işleri yapılırken bu kullanıcılara
küçük ve sabit zaman aralıkları tahsis eder. Örneğin sisteme bağlı olarak çalışan
100 kullanıcı varsa, bilgisayar bunların her birine 100’er milisaniye zaman
ayırabilir. Bilgisayar, bir kullanıcının işinden diğerine o derece hızlı bir şekilde geçiş
yapar ki, her kullanıcı bilgisayarı sadece kendi kullanıyor gibi hisseder.
Atatürk Üniversitesi Açıköğretim Fakültesi
8
Bilgi Teknolojilerine Giriş - 3
Çoklu İşlem veya Paralel İşlem (Multi Processing): Çoklu işlem, birçok işi aynı
anda yapmak için birbirine bağlı olarak çalışan iki veya daha fazla merkezi işlem
biriminin (CPU) kullanımı anlamında kullanılır. Çoklu programlama ve çoklu işlem
arasındaki fark, çoklu programlamanın tek bir merkezi işlem biriminde aynı anda
birçok programın çalıştırılabilmesi, çoklu işlemde ise aynı programın değişik
kısımlarının birkaç merkezi işlem biriminde aynı anda çalıştırılabilmesidir.
Günümüzde artık ucuz ve güçlü işlemcilerin var olması nedeniyle, birçok imalatçı
firma yazılım ve donanım sistemlerini çoklu işleme imkan verecek şekilde
hazırlamaktadır. Çok sayıda işlemci ekip halinde ve paralel olarak
çalışabileceğinden, işler daha hızlı bir şekilde yapılacaktır.
PROGRAMLAMA DİLLERİ
Genel amaçlı ya da özel amaçlı tüm uygulama yazılımları programlama
dilleriyle yazılır. Bir programlama dili, insanların bilgisayara çeşitli işlemler
yaptırmasına imkan veren her türlü sembol, karakter ve kurallar bütünüdür.
Programlama dilleri insanlarla bilgisayarlar arasında tercümanlık görevi yapar.
Programlama dilleri, bilgisayara neyi ne zaman yapacağını belirten deyim ve
komutlar içerir. Programlama dilleri zaman içerisinde gelişerek günümüzde çok
kabiliyetli bir duruma gelmiştir. Bu kesimde programlama dillerinin gelişme süreci
kısaca incelenecektir. Programlama dillerinin tarihi gelişimi aşağıdaki Tablo 1’de
verilmiştir.
Kuşak
Programlama Dili
Periyod
1
Makine dili
1940’lı ve 1950’li yıllar arası
2
Assembly dili
1950’li yıllardan itibaren
3
Yüksek seviyeli diller
1960’lı yıllardan itibaren
4
Çok yüksek seviyeli diller
1970’li yıllardan itibaren
5
Yapay zekaya yönelik diller, nesneye
yönelik diller ve paralel işlem dilleri
1980’li yıllardan itibaren
Tablo 1. Programlama Dilleri
Programlama dilleri çeşitli özelliklere ve yeteneklere sahiptirler. Genel
olarak programlama dillerinin özellikleri ve genel yapıları aşağıdaki gibidir.
Makine Dili: Makine ve Assembly dilleri düşük seviyeli diller olarak
tanımlanır. Bilgisayarların ilk dönemlerindeki programlama dilleri, kullanımı çok
zor olan makine dili ve assembly dilleriydi. Makine dili, geliştirilen ilk programlama
dilidir ve ilk kuşağı temsil eder. Makine dilinde yazılan tüm komutlar 0 ve 1’lerden
Atatürk Üniversitesi Açıköğretim Fakültesi
9
Bilgi Teknolojilerine Giriş - 3
oluşur. Bütün talimatlar en detaylı bir şekilde tanımlanır ve iki tabanlı sayı sistemi
kullanılarak kodlama yapılır.
Bilgisayarların ilk
dönemlerindeki
programlama dilleri,
kullanımı çok zor olan
makine dili ve assembly
dilleridir.
Yüksek seviyeli
dillerden birinde yazılan
bir kaynak program
makine diline çevrilmek
zorundadır.
Yüksek düzey
programlama dilinde
yazılan programa
“kaynak kodu”
denmektedir.
Assembly dilleri: Assembly dili karmaşık programlar yazmak için kullanılan
düşük seviyeli bir programlama dilidir. Assembly kullanıcılar tarafından anlaşılması
zor olan makina dilinin sayısal ifadelerini, programlanması daha kolay olan
alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam
oluşturur. Assembly kullanmanın amacı, ilk bilgisayarlarda yazılan programların
daha az hata içermesi ve daha az zaman almasını sağlamaktır.
Assembly dilleri ikinci kuşak dillerdir ve geliştirilmesine 1950’li yılların
başlarında Grace Hopper tarafından öncülük edilmiştir. Bu dillerde makine dili
talimatları daha kolay bir şekilde anlaşılabilecek ve hatırlanabilecek olan
sembollerle ifade edilir. Düşük seviyeli diller grubundan sayılmasına rağmen,
makine diline göre bir adım daha ileride olan assembly dilleri günümüzde bile
özellikle BIOS programlama, ikili (binary) aritmetik, bellek tahsisi, “stack” işleme,
karakter seti kodlaması, kesme işlemi ve derleyici tasarımı gibi işler için
programcılar tarafından kullanılmaktadır. Çünkü bu dillerle yazılan programlar
genellikle çok hızlı çalışır ve daha az depolama yüzeyi gerektirirler. Ancak bu
dillerle programlama yapmak çok yorucu, sıkıcı ve zaman alıcı olduğundan
cazibesini kaybetmiştir.
Yüksek seviyeli diller: Üçüncü kuşak da denilen yüksek seviyeli programlama
dilleri öğrenilmesi daha kolay, program yazılması daha az zaman alan, komutları
konuşma diline yakın olan programlama dilleridir. Yüksek seviyeli dillerden birinde
yazılan komutlar makine diline çevrilmek zorundadır. Makine diline çevrilmeden
önceki haline “kaynak program” ya da “kaynak kodlar” denir. Programcılar makine
diline çevrilmiş çalıştırılabilir formatı satar ya da dağıtırlar. Dönüştürme işlemini
gerçekleştiren yazılımlara “derleyici” ya da “yorumlayıcı” denir.
Çok yüksek seviyeli diller: Dördüncü kuşak diller olarak da isimlendirilen çok
yüksek seviyeli diller programlama işini çok daha kolaylaştırmıştır. Bu dillerin
ardındaki temel felsefe kullanıcıların bilgisayara bir şeyin nasıl yapılacağını değil ne
yapılacağını ifade edebilmelerine imkan vermesidir. Örneğin, sayıların sıraya
dizdirilmesi işlemini yapabilmek için bir yüksek seviyeli dil ile karmaşık bir mantık
kullanarak 15-20 satırlık bir program yazmak gerekir. Bunun aksine bir dördüncü
kuşak dil ile bir kullanıcının yapacağı iş sıraya dizilecek alanı belirlemek, sıralama
işleminin büyükten küçüğe mi yoksa küçükten büyüğe mi yapılacağını belirlemek
ve ekrandaki bir ikona tıklayarak ya da bir menüden “sırala” komutunu seçerek
sıralama işlemini gerçekleştirmektir.
İlk geliştirilen dördüncü kuşak diller ile daha sonraları geliştirilen diller
arasında bile takip edilen prosedürler ve kullanılan metotlar bakımından büyük
farklılıklar vardır. Yeni geliştirilen diller çok daha karmaşık işleri çok daha kolay bir
Atatürk Üniversitesi Açıköğretim Fakültesi
10
Bilgi Teknolojilerine Giriş - 3
şekilde yapmaya imkan vermektedir. Tablo 2’debazı programlama dilleri ve
bunların seviyeleri açıklamaları ile birlikte sunulmuştur.
Dil
ALGOL
Türü
YS
APL
YS
BASIC
C++
YS
ÇYS
COBOL
YS
FORTH
DS/YS
FORTRAN
YS
LISP
YS
PL/1
YS
Prolog
YS
RPG
Smalltalk
ÇYS
ÇYS
Açıklama
FORTRAN’a benzer ama daha kapsamlı ve esnek bir dil
Fen bilimleri uygulamalarında yaygın kullanımı olan bir
dil
Çok kullanılan ve öğrenilmesi kolay olan bir dil
Nesneye yönelik popüler bir dil
Daha çok işletme uygulamalarında kullanımı olan bir
dil
Assembly dilleri ve yüksek seviyeli diller arasında bir
dil
Fen bilimleri uygulamalarında kullanılan en eski yüksek
seviyeli dil
Yapay zeka uygulamalarında çok kullanılan dillerden
biri
Hem işletme uygulamalarını hem de fen bilimleri
uygulamalarını destekleyen yüksek kabiliyetli bir dil
Yapay zeka uygulamalarında çok kullanılan dillerden
biri
Rapor oluşturma dili
İlk nesneye yönelik dil ve kullanımı hala yaygın
Tablo 2. Çok Kullanılan Bazı Diller ve Özellikleri
* DS=Düşük Seviyeli, YS=Yüksek Seviyeli, ÇYS=Çok Yüksek Seviyeli
Yeni Yazılım Araçları ve Yaklaşımları
Nesneye yönelik programlama
Nesneler, verileri ve
program kodlarını bir
araya getirmektedir.
Nesneye yönelik programlama, üzerinde işlem yaptığı verileri ve spesifik
prosedürleri bir nesneyle birleştiren bir programlama yaklaşımıdır. Nesneler
verileri ve program kodlarını bir araya getirir. Verileri prosedürler aktarma yerine,
programlar nesnenin içerisine yerleştirilmiş olan bir prosedürü icra etmek için bir
mesaj gönderir. Prosedürler, nesneye yönelik dillerde metotlar olarak tanımlanır.
Aynı mesaj birçok farklı nesneye gönderilebilir. Ancak her biri mesajı farklı biçimde
yürütür.
Nesneye yönelik programlama, programcıların kod yazmadığı görsel
programlama olarak bilinen yeni bir programlamaya öncülük etmiştir. Böylece
programcılar programlama nesnelerini seçip fare ile taşıyarak kullanırlar. Nesneler
bir kütüphaneden bir programdaki spesifik bir yere kopyalanırlar. İki veya daha
fazla nesneyi bağlayarak bir çizgi çizebilirler. Visual Basic, Java bu tür yazılımlara
örnek verilebilir.
Atatürk Üniversitesi Açıköğretim Fakültesi
11
Bilgi Teknolojilerine Giriş - 3
Enterprise sistemler ve özel yazılımlar
Bir diğer temel yazılım trendi ERP gibi iletişim ve kontrol için örgütsel
ihtiyaçları destekleyen entegre programların geliştirilmesidir. ERP hem kurumlara
özel yeni yazılımlara imkan tanıyan hem de üzerinde hazır çözümler bulunan
ortamlardır. En büyük avantajı ise bütünleşik bir ortam olmasıdır. Bu tür sistemler
bir bütün olarak organizasyonun verilerini yönetmek, verileri son kullanıcılara
hazırlamak, örgütsel karar verme için koordinasyon ve kontrolü sağlamak için
geliştirilmiş olan büyük sofistike programlardır. Bu büyük sistemler, alacak
hesapları, sipariş vb. gibi bir zamanlar ayrı olan sistemleri ve ayrı departmanlara
hizmet veren sistemleri birleştirirler.
Middleware, iki ayrı
uygulamayı, verileri
birbirine aktarmak
üzere bağlayan bir
yazılımdır.
Birçok firma, mevcut sistemlerini atıp sıfırdan başlayarak yeni sistemler
oluşturamazlar. Genellikle eski mainframe uygulamaları günlük işlemler için
vazgeçilemez niteliktedir ve değiştirilmeleri büyük risk taşır. Bu uygulamalar,
ancak diğer uygulamalarla birleştirildiğinde faydalı olabilirler. Değişik eski
uygulamaları entegre etmenin bir yolu Middleware denilen özel yazılımlar
kullanılmasıdır. Bu yazılımlar iki farklı sistem (farklı bilgisayar veya ortamlar)
arasında bir köprü veya arayüz oluşturmak için kullanılır. Böylece değişik dillerde
geliştirilmiş ve değişik veri çeşitlerini kullanan uygulamaların birbirleriyle
anlaşabilmesi sağlanır. Buna örnek olarak, son zamanlarda şirketlerin en çok
rağbet ettiği uygulama modernleştirmeleri gösterilebilir. Eski tip uygulamaları
tamamen yeniden geliştirmek yerine, var olanın tamamını ya da bir kısmını alt yapı
olarak tutup, orta katmanlar aracılığı ile yeni sisteme entegre etmek mümkündür.
Kötü Amaçlı Yazılımlar
Kötü amaçlı yazılımlar,
bilgisayara zarar
vermek, programları
bozmak, yok etmek ya
da silmek amacıyla
yazılmış programlardır.
Bilgisayara zarar vermek, programları bozmak, yok etmek ya da silmek
amacıyla yazılmış programlardır. Kullanıcının kendi bilgisayarına veya
programlarına isteyerek zarar vermeyeceği gerçeğinden hareketle bu yazılımların
başkaları tarafından yazıldığı ve makinelere ulaştırıldığı sonucu açıktır. Kötü amaçlı
yazılımlar farklı şekillerde bilgisayara bulaşır ve farklı şekilde çalışırlar. Bu
yazılımlar Truva Atları, Ağ Solucanları, Virüsler ve Casus Yazılımlar başlıkları altında
incelenir.
Truva atları (trojanlar)
Bilgisayarda faydalı bir iş icra eder gibi görünmekte iken, aslında sisteme
zarar vermek amacıyla yazılmışlardır. Truva programlarını yazanlar, programın
görünen kısmında, özellikle görsel anlamda bir şeyler yapar görünen ancak
bilgisayara zarar verebilecek kodlar da içeren programlar yazarlar. Bununla
birlikte, yararlı iş yapan bir programın içerisine kötü amaçlı kişiler tarafından Truva
yazılımları yerleştirilmesi de mümkündür.
Atatürk Üniversitesi Açıköğretim Fakültesi
12
Bilgi Teknolojilerine Giriş - 3
Truva yazılımları, bulundukları bilgisayardaki kişisel şifreleri, dosya
listelerini, açık bulunan erişim noktaları gibi, doğrudan erişilmesi mümkün
olmayan bilgileri, kötü amaçlı kişilere ulaştırabilmektedir. Truva programlar,
genellikle herkesin kolaylıkla ulaşabileceği yerlere konulurlar. Görünüşte güzel
şeyler yapan bir yazılım olduğundan kullanıcılar tarafından hızlı bir şekilde
paylaşılıp çoğaltılır. Çabuk dağılmasını sağlamak için küçük boyutlarda tutulurlar.
Bilgisayarda Truva yazılımlarının olup olmadığı Truva tarayıcısına sahip anti-virüs
yazılımları ile bulunabilir.
Virüsler
Doğrudan bilgisayara ve yazılımlara zarar vermek için yazılmışlardır. Truva
yazılımları gibi olmayıp görünen yüzde icra ettikleri hiçbir şey yoktur. Yapıları
gereği, görünüp fark edilmemeleri gerekir.
Sistem dosyalarına
zarar veren bir virüs,
genellikle sistemin
yeniden yüklenmesini
gerektirir.
Virüsler, kendi kendilerini kopyalayacak kodlara sahiptir. Kopyalandığı
makinede bulaşmak için uygun program ararlar. Bulduklarında, içerisinde
kopyasının olup olmadığını kontrol eder. Kopyası yoksa bir kopyasını program
içerisine kaydeder.
Virüslerin aktif hale gelme zamanı farklılık gösterir. Bazıları kopyalanır
kopyalanmaz aktif hale gelirken, bazıları aktif hale gelmek için bir takım şartların
sağlanmasını bekler. Bu şartlar belirli bir saat veya belirli bir tarih olabileceği gibi,
bir işlemin belirli sayıda yapılmasını bekleme de olabilir. Aktifleşme şartı yerine
geldiğinde, virüs kendine verilen görevi yerine getirir. 26 Nisan 1986 günü
meydana gelen Çernobil nükleer felaketinin yıl dönümlerinde aktifleşen CIH
virüsü, zaman ayarlı virüse güzel bir örnektir.
Önceleri çabuk el değiştiren oyun ve program CD’leri veya flash disklerle
bulaşırken günümüzde internet yoluyla bulaşma daha yaygındır. Özellikle
elektronik postalar aracılığıyla, kullanıcının elektronik posta adres defterini
kullanarak kendini, adreslere tanıdık bir kullanıcı gibi dağıtan birçok virüs
bulunmaktadır.
Ağ solucanları
Ağ solucanları, ağ
bağlantıları vasıtasıyla
sistemden sisteme
kendini kopyalayabilen
programlardır.
Ağ bağlantıları vasıtasıyla sistemden sisteme kendini kopyalayabilen
programlardır. Virüs gibi sisteme büyük zararlar verebilecekleri gibi Truva atı gibi
faydalı bir iş yapar görünebilirler. Virüsler bir sistemde çok fazla sayıda kopya
bulundurabilirken virüslerden farklı olarak ağ solucanı sistemde bir tane bulunur.
Kimi zaman bir sistem faaliyeti gibi görünerek kendini gizler ve başka sistemlere
bir kullanıcı gibi bağlanarak bilgi çalar, kimi zaman da bulaştığı sisteme dışarıdan
müdahalelere imkan veren arka kapılar (back door) açar.
Atatürk Üniversitesi Açıköğretim Fakültesi
13
Bilgi Teknolojilerine Giriş - 3
Casus yazılımlar
Casus yazılımlar (Spyware), internet bağlantısına sahip bilgisayarlarda,
kullanıcının bilgisi dışında başka sitelere bağlantı kurmaya, internet’ten istem dışı
reklamlar indirmeye ve belirli sitelere yönlendirme yapmaya yarayan yazılımlardır.
Bilgisayarda arka planda çalıştıkları için fark edilmezler ve bağlantı hızını
yavaşlatırlar. Bilgilerin yönlendirildiği sitelerdeki reklamları kullanıcı istemese de
ekrana taşırlar. İnternet tarayıcısının açılış sayfasını değiştirir ve başka sitelere
yönlendirirler.
Bilgisayara yerleşme şekli virüsler gibi kendini kopyalama şeklinde değildir.
Kullanıcı tarafından gezilen sitelerde ekranda görünen bir “.....programını indirmek
ister misiniz?” gibi bir uyarıya kullanıcının isteği ile “evet” demesi sonucu
bilgisayara kaydedilir veya bir başka program içerisinde uzantı olarak taşınırlar.
Internet bağlantısına sahip olmayan bilgisayarlarda iş göremezler.
Anti-virüs programları ile temizlenemezler çünkü virüs değillerdir. El
yordamıyla silinmeleri neredeyse imkansızdır. Bulundukları klasörler silinse bile
kalmaya devam edebilirler.
Casus yazılım temizleme program paketleri vardır. Bu programları
kullanmak en iyi çözümdür. Bu programların da sürekli güncellenmesi gerekir.
Hafızada eş zamanlı koruma sağlayanları daha kullanışlıdır.
Kötü amaçlı programlara karşı önlemler
Anti-virüs programları
bilgisayarda zararlı
programlar tarafından
kirletilmiş dosyaları
bularak, dosya içeriğine
mümkün oldukça zarar
vermeden dosyayı
temizleyen
programlardır.
Truva atları, ağ solucanları ve virüsler gibi zararlı programların bilgisayara
girmelerine engel olmak, kullanıcıların birinci önceliği olmalıdır. İkinci öncelik;
bulaşma olmuşsa aktif hale gelmeden temizlemektir. Temizleme işlemi için antivirüs programları kullanılmalıdır. Anti-virüs programları bilgisayarda zararlı
programlar tarafından kirletilmiş dosyaları bularak, dosya içeriğine mümkün
oldukça zarar vermeden dosyayı temizleyen programlardır. Ancak bu her zaman
mümkün olmamakta bulaşmış dosyanın temizlenemediği durumlar ortaya
çıktığında dosya tümüyle silinmektedir.
Anti-virüs programlar kullanılacak ise; etkinlik test sonuçları yüksek olan ve
gelişen ve değişen virüsleri yakalayabilecek şekilde güncellemeye imkan
verenlerinin tercih edilmesi gerekir. Güncel anti-virüs programları belleğe
yerleşerek gerçek zamanlı koruma (real-time protection) sağlarlar. Yani virüsü
sisteme bulaşmaya çalışırken fark ederek engellerler.
Atatürk Üniversitesi Açıköğretim Fakültesi
14
Özet
Bilgi Teknolojilerine Giriş - 3
•Yazılımlar bilgisayar donanımları etkin bir şekilde kullanmak için
geliştirilmiş araçlardır. Geliştirilme amaçlarına göre çeşitli isimler
altında kategorize edilen yazılımlar uygulamaya yönelik veya sistem
yönetimini gerçekleştiren yapıya sahiptirler. Kelime işlem, hesap
tablosu, dosya yöneticileri ve veri tabanı yönetim sistemleri genel
amaçlı uygulama yazılımları kapsamındadır. Ayrıca kullanıcıların çeşitli
ihtiyaçlarını giderecek özel amaçlı çeşitli yazılımlarda bulunmaktadır.
•Sistem yazılımları, donanımların kullanılması ve uygulama
yazılımlarının çalışmalarına platform oluşturmaya olanak sağlayan
yazılımlardır. İşletim sistemleri olarak isimlendirilen bu yazılımlar
birçok firma tarafından geliştirilmekte ve kullanıma sunulmaktadır.
Ayrıca açık kaynak kodlu olarak ifade edilen ve ücretsiz dağıtımları olan
işletim sistemleri de bulunmaktadır. Linux türevleri ve Pardus açık
kaynak kodlu ücretsiz işletim sistemlerine örnek olarak verilebilir.
•Yazılımlar programlama dilleri olarak tanımlanan uygulamalar
kullanılarak geliştirilmektedir. Bu uygulamalar zaman içerisinde daha
kolay kullanılabilir ve daha hızlı çalışabilir hale gelmiştir. Günümüzde
yazılımlar kullanıcı dostu olarak üretilmektedir ve kullanımları oldukça
kolaydır. Genel olarak kullanıcıların ihtiyaçlarını karşılayan yazılımların
yanında çeşitli kötü amaçlara hizmet eden yazılımlar da
geliştirilmektedir. Turuva atları, virüsler, ağ solucanları ve casus
yazılımlar gibi çeşitli isismlerde ve farklı amaçlara hizmet eden birçok
yazılım bulunmaktadır. Bu yazılımlar kullanıcıların kişisel bilgilerini
çalma, bilgisayarlara farklı ortamlardan erişimlere olanak sağlama,
donanım ve yazılıma zarar verme gibi olumsuz durumları meydana
getirmektedirler.
Atatürk Üniversitesi Açıköğretim Fakültesi
15
Bilgi Teknolojilerine Giriş - 3
DEĞERLENDİRME SORULARI
Değerlendirme
sorularını sistemde ilgili
ünite başlığı altında yer
alan “bölüm sonu testi”
bölümünde etkileşimli
olarak
cevaplayabilirsiniz.
1. “..............................., belli işlemleri yapmaktan çok problemlerin çözümünde
yöneticilere yardımcı olmak amacıyla geliştirilmiş olan yazılımlara denir.”
cümlesinde boş bırakılan yere getirilmesi gereken ifade aşağıdakilerden
hangisidir?
a) Uzman sistemler
b) Proje yönetimi yazılımları
c) Veri tabanı yönetim sistemleri
d) Karar destek sistemleri
e) Paket programlar
2. “Büyük miktarlardaki verileri depolayıp bu verilere hızlı bir erişim sağlanmasına
ve bu verilerden raporlar hazırlanmasına imkan veren yazılımlara
…………………………………… denir.” cümlesinde boş bırakılan yere getirilmesi
gereken ifade aşağıdakilerden hangisidir?
a) Hesap tablosu yazılımları
b) İşletim sistemi yazılımları
c) Veri tabanı yönetim sistemleri
d) Kelime işlem yazılımları
e) Sunum yazılımları
3. Aşağıdaki ifadelerden hangisi işletim sistemlerinin görevlerinden değildir?
a) Ana belleği yönetmek
b) Kaynak kodları makine diline çevirmek
c) Giriş/çıkış birimlerini kontrol etmek
d) Merkezi işlem birimini yönlendirmek
e) Bilgisayar sisteminin güvenliği ve kontrolünü sağlamak
4. Aşağıda verilen virüs ve Truva atları ilgili ifadelerden hangisi yanlıştır?
a) Her ikisi de sisteme zarar vermek için hazırlanan yazılımlardır
b) Her iki yazılım da kendini kopyalayarak çoğaltma eğilimindedir
c) Truva atı kendini yararlı bir program gibi göstererek zarar verme
amacındadır
d) Virüsler bulaştıkları sisteme zarar verirken kendilerini gizlerler
e) Virüsler aktifleşmek için bir şartın yerine getirilmesini bekler
Atatürk Üniversitesi Açıköğretim Fakültesi
16
Bilgi Teknolojilerine Giriş - 3
5. Aşağıdakilerden hangisi Linux işletim sisteminin temel özellikleri arasında yer
almaz?
a) Diğer işletim sistemlerinden biraz pahalıdır
b) Unix tabanlıdır
c) Hızlı çalışır
d) Sistem çökmesine karşı dayanıklıdır
e) Açık kaynak kodludur
Cevap Anahtarı
1.D, 2.C, 3.B, 4.B, 5.A
Atatürk Üniversitesi Açıköğretim Fakültesi
17
Download