Açık Kaynak İşletim Sistemi

advertisement
Açık Kaynak İşletim Sistemi
Öğr. Gör. Aslı Ergün
DERS 1
Ders Hakkında
• Bu derste Açık Kaynak İşletim sistemleri
hakkında genel bilgiler, Ubuntu Linux işletim
sisteminin kurulması ve çalıştırılması,
kullanılan uygulamalar ve linux kabuk (shell)
programlama gibi konular anlatılacaktır.
• Ders (vize + final) formunda notlandırılacaktır.
• Gerekli ders notları:
http://kisi.deu.edu.tr/asli.ergun web sitesinde
bulunabilir.
Açık Kaynak İşletim Sistemi Nedir?
• Açık kaynak yazılım veya açık kaynaklı yazılım
kaynak kodu isteyen herkese açık olan
yazılımlardır. Bu tarzda hazırlanmış işletim
sistemlerine Açık Kaynak İşletim Sistemi denir.
• Bu tür yazılımların kullanıcıya yazılımı değiştirme
özgürlüğü sağlar. Açık kaynak kodlu yazılımlar,
uyarlanabilir, sağlam, hızlı ve güvenlidir. Dünyanın
her tarafından bilişim uzmanlarınca ortaklaşa
endüstri standartlarında geliştirilen açık kaynak
kod yazılımları, insanlığın ortak malıdır.
Açık Kaynak Yazılımları Hazırlamak
• Programcılar yazılımları geliştirirken kullandıkları
programlama dilleriyle kaynak dosyaları oluştururlar.
• Daha sonra derlemeli dillerde (C, C++, Java, Pascal) bu
dosyayı derleyerek çalıştırılabilir hale çevirirler. Ve
kullanıcıların ulaşabilecekler sunuculara yüklerler.
• Açık kaynaklı yazılım savunucuları, her üretilen ve
dağıtılan programla birlikte kaynak kodunun da
dağıtılmasını savunurlar. Bu sayede geliştirme
esnasında ve ilerde yeni sürümlerin ortaya çıkması
esnasında düzeltilip daha kaliteli bir yazılım çıktığını
düşünürler.
Açık Kaynak Yazılım Örnekleri
• Açık kaynak kodlu yazılımları; uygulama ve
işletim sistemi yazılımları diye ayırabiliriz
• Uygulama yazılımlarına örnekler ; Open Office,
GNU uygulama yazılımları(derleyiciler,
editörler...)
• İşletim Sistemlerine örnekler; Linux,
Debian,Android... İşletim sistemleri..
Lisanslar, Özgür Yazılım
• Lisans, kullanıcıların yazılım üzerindeki hakları olarak
özetlenebilir. Kullanıcılar belirli bir yazılımı kullanma,
dağıtma, üzerinde değişiklik yapma ve değiştirdiği
şeklini dağıtma haklarına sahip olabilirler.
Kullanıcıların yazılımlar üzerinde değişiklik
yapabilmeleri için yazılımın kaynak kodunun açık
olması gerekmektedir.
• GNU GPL (GNU Public Licence): En yaygın
kullanılan özgür yazılım lisansıdır. En çok kullanılan
platformlardan birisi Linux işletim sistemidir.
GPL(Global Purpose Licence)
• GPL, FSF (Free Software Foundation) tarafından
geliştirilen ve kamunun kullanımına sunulan bir
bilgisayar lisansıdır. GPL pek çok özgür yazılım
tarafından kullanılmaktadır. GPL'in en fazla
kullanıldığı platformlardan birisi Linux işletim
sistemidir.
• GPL altında yayınlanan bir yazılımla her istediğinizi
yapamazsınız. Örneğin o yazılımı, beraberinde
kaynak kodları olmaksızın dağıtamazsınız. Başka
birisinin dağıtım haklarını kısıtlayamazsınız.
GPL Özgürlükleri
• Programı sınırsız kullanma özgürlüğü.
• Programın nasıl çalıştığını inceleme ve
amaçlara uygun değiştirme özgürlüğü.
• Programın kopyalarını sınırsız dağıtma
özgürlüğü.
• Programın değiştirilmiş halini dağıtma
özgürlüğü.
Linux
• Linux (telaffuz: Lin-uks): GNU Projesi çerçevesinde yaratılan Unix benzeri ,
Unix’e fikirsel ve teknik anlamda alternatif olarak geliştirilmiş; birçok
platformda çalışan, çok kullanıcılı, çok işlevli , açık kaynak kodlu, özgür ve
ücretsiz bir işletim sistemi çekirdeğidir. Çekirdeğin kaynak kodları GNU
Genel Kamu Lisansı çerçevesinde özgürce dağıtılabilir, değiştirilebilir ve
kullanılabilir.
• Linux dağıtımlarının bazıları şunlardır: Ubuntu, Debian, Opensuse, Pardus,
Fedora, vb ...
• Kullanım Alanları:
Açık kaynak kodlu olması çekirdek yapı üzerinde uygulamayı
kolaylaştırmıştır.Bundan dolayı linux farklı amaçlar dahilinde kullanılır.
• 1.Linux,cep telefonlarında,cep bilgisayarlarında,diz üstü
bilgisayarlarda,masaüstü bilgisayarlarda ve sunucularda kullanımı
yaygındır.
• 2.Her amaç için farklı bir linux dağıtımı bulmak mümkündür.Ev kullanıcıları
için Ubuntu, OpenSUSE, Pardus gibi dağıtımlar yaygınken; sunucularda
Debian, Fedora daha yaygın olup ayrıca eğitim için de Edubuntu gibi
dağıtımlar bulmak mümkündür.
GNU(Gnu is Not Unix )
• Serbest yazılım modeline verilen isimdir.
• Yazılımın açık kaynak kodlu olmasını
öngörmektedir.
• GNU nun sağladığı açık kaynak kodu
sayesinde isteyen herkes daha gelişmiş,özgün,
üretken çalışmalarda bulunabilir.
• GPL - GNU General Public License - GNU Genel Kamu Lisansı
• Linux çekirdeğini kullanan kullanıcılar sistemlerine Linux
demektedir ancak GNU project GNU/Linux denmesini önerir.
• Bir çok GNU programları diğer işletim sistemlerinde de
kullanılmıştır. (Windows, BSD, Solaris ve Mac OS gibi)
Linux Tarihçesi
• Üniversitelerde bilgisayar bilimi öğrencilerine işletim sistemlerini
öğretmek için kullanılan Unix işletim sistemi, donanım üreticileri
tarafından lisansı alınıp, satılmaya başlandıktan ve çeşitlilik arttıktan
sonra yeni bir işletim sistemine gereksinim duyulmaya başladı. Bu
amaçla Andrew Tannenbaum tarafından MINIX işletim sistemi
geliştirildi.
• 1983'de Richard M. Stallman GNU(GNU: GNU's Not Unix) projesini
başlatıyor. Özgür bir işletim sistemi geliştirmeyi amaçlıyor,
kanıtlanmış bir tasarım modeli için Unix seçiliyor.
• 1990 yılında Finli bir bilgisayar bilimi öğrencisi olan Linus Torvalds
Intel mimarisindeki bilgisayarlarda hafıza yönetimi yapan bir yazılım
üzerinde çalışmaya başladı ve bir süre sonra bu projenin büyüyerek
UNIX çekirdeği gibi çalışabileceğini farketti 1991 yılında Linus,
comp.os.minix haber grubuna Linux adını verdiği işletim sistemi
projesini duyurdu. GNU projesindeki eksik olan parçayı , yani
çekirdeği tamamlayan linux zamanla internet üzerindeki bir çok
programcı tarafından geliştirildi.
Linüx’ün Mimarisi
Kullanıcı Uygulamaları
(GNU)
İşletim Sistemi Servisleri
(Apache, Sendmail, vs.)
KERNEL (ÇEKİRDEK) – LINUX
Donanım Kontrolörleri
Donanım – CPU, HDD, Keyboard, Mouse, Monitor, RAM
Kernel (Çekirdek)
•
•
•
•
Tüm işlemlerden sorumlu yönetim kademesidir.
Sistemin düzgün çalışmasını sağlar,
Bilgisayar kaynaklarının düzenlenler,
Kullanıcıların görevlerinin sırayla yapılmasını
sağlar,
• Bellek denetimi yapar,
• Yan birimlerin (CD-ROM,disket sürücü
vb. çalışmasından sorumludur.
Shell (Kabuk)
• Bilgisayar ile kullanıcı
arasındaki bağlantıyı
sağlar.
• Girilen komutları
bilgisayara , sonuçları
kullanıcıya iletir.
User= Kullanıcı
Utilities= Yardımcı Programlar
Hardware= Donanım
Kernel= Çekirdek
Shell= Kabuk
Shell (Kabuk) Terminal
Linux’ün Kullanım Amaçları
•
•
•
•
Kişisel Kullanım
Yazılım Geliştirme
İnternet Haberleşmesi
İnternet Sunucusu
Linux’ün Kullanım Amaçları
• Kişisel Kullanım
– Linux’ta bir işletim sisteminden beklenebilecek
tüm yazılımlar bulunur...
– Örneğin applixware ve open office yazılımları red
hot dağıtımıyla birlikte verilmektedir...
• Yazılım Geliştirme
– C,C++,Java,Ada,Fortran,Pascal,Lisp başta olmak
üzere hemen hemen her programın derleyici ve
yorumlayıcısı Linux’te mevcuttur...
Linux’ün Kullanım Amaçları
• İnternet Haberleşmesi
– Bir modemin sunduğu olanakların hepsini Linux
ile de kullanabiliriz...
– k-mail ile mail okuyabilir, haber öbeklerinde
tartışma gruplarına katılabilriz...
• İnternet Sunucusu
– Üzerine sunucu sistemi kurulup dosya
paylaşımları ve diğer yazılım ve donanım
paylaşımları yapılır.
Linux’ün Avantajları
•
•
•
•
•
•
•
•
•
Ücretsizdir.
Kaynak kodu serbesttir.
Hızla gelişiyor.
Daha güvenlidir.
Yüksek performans sağlar.
İsteğe bağlı geliştirilebilir.
Birden çok kullanıcıyı destekler.
Uygulama programları sistemden bağımsız çalışır.
Ek yazılım ve sürücü kurulmasına ihtiyaç duymaz
Linux’ün Dezavantajları
• Yeterince tanıtımı yapılmıyor.
• Dinamik ve sürekli değişen bir yapıya sahiptir.
• Teknik destek, dağıtım ve dökümantasyon alanında
zayıftır.
• Linux’un kullanım ve yönetimi daha zordur.
• Tüm ihtiyaçlara cevap veremiyor.
• Bazı ticari yazılımlar Linux üzerinde fazla gelişemiyor.
• Oyunlar ve eğlenceli uygulamalar azdır.
• Basit kullanıcıya bazen korkutucu, karışık gelebilir.
Dağıtımlar
• Linux, GNU projesinin çekirdeğe verilen isimdir. Dağıtımlar, bu
çekirdeğe GNU yazılımlarının da ekleyerek sunan alternatif işletim
sistemleridir. Yazılımlar GNU tarafından sağlandığı için Linux tabanlı
işletim sistemleri GNU/Linux olarak adlandırılır.
• En çok bilinen kullanılan dağıtımlar: RedHat, Fedora, Suse, Debian,
Mandrake, Ubuntu, Pardus ve Slackware’dir. Bunların yanısıra
doğrudan CD’den çalışan Knoppix, Kanotix gibi dağıtımlar vardır.
• Dağıtımlar arasındaki farklar nelerdir?
- Kurulum yöntemleri farklı
- İçerdikleri paketler farklı
- Kullanıcı arayüzleri farklı
- Sistem yönetiminde farklar var
LINUX Dağıtımları
(PARDUS, DEBİAN,UBUNTU, OPENSUSE,FEDORA)
Windows-Linux Karşılaştırması
• Yazılım:
Windows’un her versiyonu sınırlı sayıda uygulama
içeriyor. Linux’ta ise ana işletim sistemi ile beraber
verilecek yazılımların sayısına dağıtıcı karar
veriyor.Linux’un bu noktadaki avantajı, yazılımların
kurulmasını sağlayan uygulamaların tek bir yönetim
sistemi tarafından idare edilmesi.Bu sayede kullanıcı
her bir yazılımı tek tek kurmak yerine, tek bir kurulum
ile işlemi gerçekleştirir.
Windows-Linux Karşılaştırması
• Kurulum:
Kurulum açısından iki işletim sistemi de birbirine
çok yakın. Hem Windows hem de Linux’un kurulum
aşamaları oldukça kolay ve kurulum sırasında amatör
kullanıcıya yardımcı olan menüler var.
Bilinen güvenlik açıkları, sistemdeki ve
uygulamadaki hatalar Windows’ta olduğu gibi Linux’ta
da güncelleme yoluyla ortadan kaldırılabiliyor.
Windows-Linux Karşılaştırması
• Gereksinimler:
Windows 7 şu anda , kısıtlamalara bağlı olarak 1 Ghz’in
üstünde, 32-Bit işlemciye ve 512MB belleğe sahip olan her
bilgisayarda kullanılabiliyor. Linux için de yaklaşık
300Mhz’lik bir işlemci ve 128MB’lik bellek minimum sistem
gereksinimleri.
• Kullanıcı Hakları:
Linux’ta sıradan kullanıcılar sadece kendilerine izin
verildiği ölçüde değişiklikler yapabilirken, bilgisayar
yöneticisi(root) istediği her şeyi yapma hakkına sahip
oluyor. Windows’ta ise kurulum aşamasından sonra
otomatik olarak kullanıcıya yönetici haklarını veriyor.
Windows-Linux Karşılaştırması
• Yeni Donanım Ekleme:
Kurulum aşamasından sonra bilgisayara takılan
donanımları Windows genellikle tanıyor. En kötü
ihtimalle bilgisayar baştan başlatıldığında, donanım
kullanıma hazır hale geliyor.
Linux’ta yeni takılan donanımı otomatik olarak
algılama ve kullanıma hazır hale getirme özelliğine
sahip.Ancak bu özellik Linux işletim sisteminde takılan
donanımın sürücüleri mevcutsa devreye giriyor. Birkaç
firma hariç, çoğu firma Linux için donanım sürücüsü
çıkarmıyor.
Windows-Linux Karşılaştırması
• Ofis Programları:
Windows altında Microsoft Office,en gelişmiş büro
paketi iken, Linux’ta bu rolü Open Office oynuyor.
Open Office çok basit bir program olduğundan
kullanıcılar çok çaba harcamadan programı kavrayıp
kullanabiliyorlar. Open Office1.1.1 versiyonundan
itibaren herhangi bir dokümanın Microsoft formatına
geçirilmesi veya başka bir ofis dokümanıyla bilgi
alışverişi yapması sorun oluşturmuyor.
Windows-Linux Karşılaştırması
• Virüsler:
Günümüzde Linux için de virüsler bulunmasına
rağmen, bunlar az sayıda olduklarından ve dosyaların içine
gizlenerek bilgisayardan bilgisayara kopyalanamadığından
dolayı tehlike oluşturmaz. Linux’ta e-posta ile gelen
dosyalar kullanıcıya ulaşır ulaşmaz otomatik çalışmadığı için
virüs taşıyan bir e-posta sorun olmaktan çıkıyor. Kullanıcı
dosyayı gördükten ve güvenli olduğuna inandıktan sonra
çalışma iznini veriyor.
Ayrıca Linux’ta browser ve işletim sistemi ayrılmış
olduğundan kullanıcı onayı olmadan açılan postalar ve web
sayfaları virüs bulaştıramıyor.
Windows-Linux Karşılaştırması
• Oyunlar:
Her iki işletim sisteminde de standart olarak basit
oyunlar bulunuyor. Ancak Linux’la birlikte gelen ufak oyun
sayısı Windows’tan fazla. Her ne kadar Linux gelişmiş
oyunları çalıştırabilse de piyasada Linux için oyun
bulunmuyor. Güncel oyunları rahat bir şekilde oynamak
sadece Windows’ta mümkün.
• Masaüstü:
Windows’ta sürükle&bırak özelliği ile herhangi bir
uygulamaya yazı veya resim kopyalamak mümkün. Linux’ta
ise Open Office programının içindeki uygulamalar arasında
sürükle&bırak özelliği kullanılabilirken, diğer Linux
uygulamaları ile Open Office arasında bu şekilde bilgi
alışverişi yapmak her zaman mümkün olmuyor.
Windows-Linux Karşılaştırması
• Güvenlik:
Linux’un tamamen güvenilir bir işletim sistemi olduğu
söylenemez. Ancak Linux güvenlik açısından Windows’tan
daha ileride. Örneğin Linux İnternet Explorer ve Outlook
Express gibi güvensiz programları kullanmıyor.
Ağ hizmetleri konusunda iki işletim sisteminde de
yanlış ayarlama yapıldığı takdirde büyük güvenlik açıkları
ortaya çıkabiliyor. Ancak Linux geliştirilmeye çok açık bir
sistem. Çok yüksek derecede güvenliğe ihtiyaç
duyulduğunda, Linux işletim sistemini Selinux (securityenhanced linux) ile bir güvenlik kalesine çevrilebiliyor.
Windows-Linux Karşılaştırması
• Multimedya:
Hem Windows hem de Linux altında çoğu ses ve video
dosyasını extra bir araca ihtiyaç duymadan çalıştırmak
mümkün. Basit görevler için Linux daha iyi donatılmış
olmasına rağmen, profesyonellere hitap etmekte biraz güçlük
çekiyor. Windows ‘ta XP ile gelen Windows Movie Maker basit
videoları çalıştırmak için yeterli bir program. Linux’ta ise Suse
buna karşılık “Main Actor5.2” programının demosunu
sunuyor. Tam versiyonu kullanmak için ise belli bir ücret
ödemek gerekiyor.
Ayrıca Linux’ta Adobe Photoshop gibi resim işleme
programlarının yerini tutabilecek bir yazılım henüz
geliştirilemedi.
Windows-Linux Karşılaştırması
• Dil Desteği:
Microsoft’un yazılımları Türkiye’de anlaşmalı olduğu bir
kurum tarafından çevrildiğinden, piyasadaki tüm Windows’larda
aynı dil kullanılmakta.Linux’ta ise dağıtımlarda bulunan
uygulamalar tek bir kurum tarafından çevrilmediğinden
tamamen Türkçeleşmiş Linux’tan bahsetmek zor.
• Ağ ve İnternet:
Daha önceden kurulmuş olan bir ağa bağlanmak hem
Windows’ta hem de Linux’ta çok kolay. Eğer çevirmeli bağlantı
ile internete bağlanılacaksa Windows’ta çok daha hızlı
gerçekleşiyor.
İnternet kullanıcıları açısından Linux’ta Windows’tan çok
daha iyi performans gösteren yazılımlar bulunuyor.
AÇIK KAYNAK MOBİL İŞLETİM SİSTEMİ:
ANDROID İŞLETİM SİSTEMİ
• Android işletim sistemi açık kaynak olarak
mobil cihazlar konusunda çığır açmış bir
mobile işletim sistemidir.
Android Tarihçesi-1
• 2003 yılında Andy Rubin, Rich Miner, Nick Sears ve Chris White tarafından
California’da Android Inc. adında bir şirket kuruldu. O zamanlar kimsenin
tahmin etmediği şekilde Linux çekirdekli açık kaynak kodlu bir işletim sistemini
cep telefonlarına uyarlamayı başardılar.
• Google, Android’i henüz 2 yıllık bir firmayken 2005 yılında satın aldı.
Android’in kurucuları da Google’da çalışmaya başlayarak projelerine sınırsız
mali kaynak bulmuş oldular. Android işletim sistemi gerçek anlamda 2005’ten
sonra geliştirilmeye başlanmış oldu.
• 2007 yılında Google, Android işletim sistemini geliştirdiğini açıkladıktan
kısa süre sonra dev bir birlik kuruldu. Adı Open Handset Alliance (OHA) olan
birliğin amacı piyasadaki standartları belirlemekti. Google önderliğindeki bu
birlikte HTC, Samsung, LG, Motorola, Sony Ericsson gibi telefon üreticilerinin
yanı sıra Intel ve Qualcomm gibi işlemci üreticileri de, Nvidia gibi grafik
yongası üreticileri de yer aldı.
Android Tarihçesi-2
• 2008 yılına gelindiğinde Google kaynak kodları sundu. Ve telefon üreticileri
ilk Android telefonu üretmek için yarışa girdiler. İlk Android telefon olan
HTC tarafından yapıldı. HTC Dream, Android 1.0 kullanıyordu. İnternet
tarayıcısı, Medya Oynatıcısı, Gmail senkronizasyonu ile o dönem için iyi
özelliklere sahipti. Ayrıca Android Market uygulaması da mevcuttu.
• Adroid dağıtımları farklı kod adlarıyla dağıtılır ve bilinir oldu. En son
Android 4.4 Kitkat dağıtımı mevcuttur.
Android Dağıtımları
•
•
•
•
•
•
•
•
•
1.0 sürümü Alpha
1.5 sürümünün kod adı Cupcake
1.6 Donut
2.2 Eclair
2.3. Gingerbread
3.0 Honeycomb
4.0 Ice Cream Sandwitch
4.1 Jelly Bean
4.4 Kitkat
Gelecek Ders
• Bu dersin amacı açık kaynak kodlu bir işletim
sistemi üzerinde deneyim kazanabilmektir. Bu
derste Linux Ubuntu dağıtımı üzerinde
çalışmalar yapacağız. Önümüzdeki ders
Ubuntu kurumu üzerinde duracağız.
Download