BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ LİNUX’E GİRİŞ Linux Nedir? LINUX, internet üzerinde ilgili ve meraklı birçok kişi tarafından geliştirilmekte olan ve başta IBM-PC uyumlu kişisel bilgisayarlar olmak üzere birçok platformda çalışan ve herhangi bir maliyet gerektirmeyen bir işletim sistemidir. Linux’ün Özellikleri Genel Kamu Lisansına göre(GPL) açık kaynak kodlu olduğundan kullanıcı yazılımın içinde ne olduğunu bilir. Hataların keşfedilmesi ve düzeltilmesi oldukça kısa zaman alır. Kullanıcı beğenmediği kısımları değiştirmekte ve eklentiler yapmakta özgürdür. Linux’ün Gelişimi Ü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. 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 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. Yazılımda Lisans Nedir? Özgür yazılım ne demektir? 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. Özgür yazılım, kullanıcısına çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri tanıyan yazılım türüdür. Bazı Özgür Yazılımlar GNU nedir? GNU(Gnu is Not Unix ) 1984 yılında, Richard M. Stallman tarafından, tamamen özgür yazılımların meydana getirdiği bir işletim sistemi ve işletim sistemine ait araçların geliştirilmesi yönünde başlatılmış çalışma GNU projesi olarak adlandırılmıştır. Serbest yazılım modeline verilen isimdir. Yazılımın açık kaynak kodlu olmasını öngörmektedir. GNU(Gnu is Not Unix ) GPL - GNU General Public License - GNU Genel Kamu Lisansı’nı kullanır. Linux çekirdeğini kullanan kullanıcılar sistemlerine Linux demektedir ancak GNU projesi, 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) GPL (GNU Public Licence –GNU Kamu Lisansı) nedir? 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 kullanımının getirdiği tek kısıtlama, yazılım üzerinde değişiklik yapıp dağıtabilmek için yapılan değişikliklerle birlikte kaynak kodun verilmesi zorunluluğudur Linüx’ün Mimarisi Kernel (Çekirdek) Tüm işlemlerden sorumlu yönetim kademesidir. Sistemin düzgün çalışmasını sağlar, Bilgisayar kaynaklarını düzenler, 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) Linux sistemlerde kernel aracılığı ile kullanıcıların haberleşmesini sağlar. Bilgisayar ile kullanıcı arasındaki bağlantıyı sağlar. Girilen komutları bilgisayara , sonuçları kullanıcıya iletir. Terminal ise komut ile shell'e ulaşarak kontrolu sağlamamıza yarar. Linux’ün Kullanım Amaçları Kişisel Kullanım İnternet Sunucusu Ağ Elemanı Linux’ün Kullanım Amaçları Kişisel Kullanım Linux altında yer alan uygulamalar giderek sıradan bir kullanıcı için bile bu işletim sisteminin ilgi çekici hale gelmesini sağlamaktadır. Gelişimleri henüz tamamlanmamış olmasına rağmen, herhangi bir kişisel bilgisayardan beklenebilecek yazı editörleri, hesap cetvelleri, çizim yazılımları, veri tabanları birçok ihtiyaca cevap verecek düzeye gelmiştir. Linux’ün Kullanım Amaçları İnternet Sunucusu Şu anda Linux; WWW sunucu, DNS sunucu, NFS sunucu, NIS sunucu, BOOTP sunucu, SMTP sunucu, FTP sunucu,NEWS sunucu, NOVELL sunucu (Novell protokolü kullanarak disk ve yazıcı servisi), SAMBA sunucu (Windowslar için disk ve yazıcı servisi) ve APPLETALK sunucu (MacOS kullanan Apple makinalar için disk ve yazıcı servisi) hizmetleri verebilmektedir. Linux’ün Kullanım Amaçları Ağ Elemanı Linux yazılım desteği ile birçok ağ elemanının yerine geçebilecek bir alternatif olarak kullanılabilmektedir. Bir yönlendirici (router) olarak da kullanılabileceği gibi özellikle farklı protokoller arası bir geçiş elemanı olarak (gateway) yaygın şekilde Linux'tan yararlanılmaktadır. Ayırca yönlendirici olarak kullanıldığında kolaylıkla güvenlik amacıyla güvenlik duvarı (firewall) olarak yapılandırılabilmektedir. Buna ek olarak bir ağ üzerinde bulunan iki segmanın trafiğini birbirinden ayıran bir köprü (bridge) olarak da hizmet verebilmektedir. Birçok kurumda bir veya daha çok modemin bağlanması amacıyla bir terminal sunucu (terminal server) olarak Linux kullanılmaktadır. Linux’ün Avantajları Ücretsizdir. Kaynak kodu serbesttir. Hızla gelişiyor. 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 Linux Dağıtımları Linux, çok çeşitli gruplar tarafından sürekli geliştirilen bir işletim sistemidir. Belirli kişiler ve topluluklar Linux için geliştirilen temel işletim sistemini ve uygulama yazılımlarını bir araya getirerek dağıtımlar oluştururlar. Bir Linux dağıtımı temel olarak bir makineye Linux kurmak ve o bilgisayar üzerinde Linux'la çalışmak için gerekecek tüm yazılımları ve paketleri içerir, bu yazılımların yüklenmesi için bir yükleme yazılımı sağlar Linux 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. Linux Dağıtımları Linux Dağıtımları Dağıtımlar arasındaki farklar nelerdir? Kurulum yöntemleri farklı İçerdikleri paketler farklı Sistem yönetiminde farklar var Grafik yönetim araçları Standartlaşma yolunda ilerlemeler Windows-Linux Karşılaştırması Maliyet: Windows ücretlidir, Linux ise (istisnalar olmakla birlikte) ücretsizdir. Kaynak Kod: Windows kapalı kaynak kodludur, Linux açık kaynak kodludur. Linux içeriğini istediğiniz gibi değiştirebilir ve kendi ihtiyaçlarınız doğrultusunda modifiye edebilirsiniz. Windows-Linux Karşılaştırması Yazılım çeşitliliği: Linux’te çalışan binlerce program vardır fakat Windows tabanlı daha fazla program vardır. Çünkü çok büyük bir kullanıcı kitlesi Windows'u tercih ettiğinden yazılımcılar da bu platformu tercih ederler. Windows-Linux Karşılaştırması Oyunlar: Eğer oyuncuysanız Linux sizi pek tatmin etmeyebilir. Nitekim oyunların neredeyse tamamı Windows için tasarlanmaktadır Bunun yanısıra emülatörlerle Linux'te Windows oyunlarını da oynayabilirsiniz. Fakat bu bazen sorunlu ve sıkıcı olabilir. Windows-Linux Karşılaştırması Ek Yazılım kurulumu: 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ı Yeni Donanım Ekleme: Kurulum aşamasından sonra bilgisayara takılan donanımları Windows genellikle tanıyor. 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ı 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. Çok yüksek derecede güvenliğe ihtiyaç duyulduğunda, Linux işletim sistemini Selinux (security-enhanced 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. Ayrıca Linux’ta Adobe Photoshop gibi resim işleme programlarının yerini tutabilecek bir yazılım henüz geliştirilemedi. Kaynaklar Linux ders notları, Öğr. Gör. Mustafa SARIÖZ