Linux İşletim Sistemleri Eren BAŞTÜRK [email protected] www.erenbasturk.com Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Linux İşletim Sistemleri Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Linux Nedir? Linux İşletim Sistemleri Linux ; açık kaynak kodlu , özgür ve ücretsiz bir işletim sistemi çekirdeğidir. 1991 yılında geliştirilmeye başlanmıştır. -Hemen hemen her bilgisayar platformunda çalışır. -Geniş Donanım desteği -Masaüstü Sistemler -Otomotiv , savunma sanayi , Mobil cihazlar , netbooklar , Dizüstü bilgisayarlar, sunucu bilgisayarlar, set üstü kutular , endüstri , sağlık , iletişim ... Linus Torvalds Linux İşletim Sistemleri -Linus Torvalds , Linux'u oluşturmaya başlayan kişidir. -Linux'un oluşumu merak sayesinde Başladı. -Linus , Linux çekirdeğini 1991 yılında kodlamaya başladı. -Şimdiye kadarki tüm linux dağıtımlarında Linus'un kodlamış olduğu çekirdek Kullanıldı. Linux'un Avantajları Linux İşletim Sistemleri -Linux işletim sistemleri ücretsizdir. -Açık kaynak kodludur. -Diğer sistemlere göre daha güvenlidir -Binlerce ücretsiz yazılım. -Anti-virüs programı gerekmez. -Windows işletim sisteminde zamanla yavaşlarken linux'ta zamanla bir yavaşlama olmaz. Ubuntu'nun Avantajları Linux İşletim Sistemleri -Virüs sorunu yok -Donanım tanıma konusundaki en iyi linux sürümü -Çalışma uygulamaları(Openoffice.org) -Kısıtlı uygulama paketi -Ses video uygulamaları -Kolay yazılım kurulumu Linux Üstünde Yazılım Geliştirme Linux İşletim Sistemleri -Linux altında birçok programlama dili ile yazılım geliştirebilir.(c, c++, c#, java , python, pascal,delphi ,visual basic ,php,html...) -Yazılım geliştirmek için ihtiyaç duyulan araç ve kütüphanelerin kolay kurulumu Yazılım Geliştirme Ortamları Linux İşletim Sistemleri C , C++ “sudo apt-get install build-essential” (Terminal) C# “mono” (Yazılım Merkezi) Python Kurulu olarak geliyor. Java “sun-java6-jdk” (Yazılım Merkezi) Php ve Html “sudo apt-get install lamp-server^” (Terminal) Linux İşletim Sistemleri Linux İşletim Sistemleri -Birçok linux sürümü bulunmaktadır( ubuntu, redhat, opensuse ,pardus, angstrom , debian ...) -Çok sayıda linux sürümünün bulunmasının nedenleri farklı donanım , farklı ihtiyaç , farklı kullanıcı,.... -Linux dağıtımlarına detaylı olarak bakmak isterseniz adresine bakabilirsiniz. Linux Terimlerinin Açıklanması Linux Terimlerinin Açıklanması - Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Özgür Yazılım (Free Software) Linux Terimlerinin Açıklanması -Ö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. -Özgür yazılım kendi içerisinde 4 ayrı bölüme ( özgürlük 0, özgürlük 1, özgürlük 2, özgürlük 3) ayrılır ancak bu 4 özgürlük bir arada olursa yazılım özgür yazılım olabilir. Açık Kaynaklı Yazılım (open-source software) Linux Terimlerinin Açıklanması -Açık kaynak yazılım, kaynak kodu isteyen herkese açık olan yazılımlardır. -Açık kaynak olma gereklilikleri kaynak kod ücretsiz yeniden dağıtım, türetilmiş çalışma , yazarın kaynak kod bütünlüğü , kişi veya gruplara karşı ayrımcılık yapılmaması , çalışma alanlarına karşı ayrımcılık yapılmaması , lisansın dağıtımı , lisansın ürüne özel olmaması ... Çekirdek (Kernel) Linux Terimlerinin Açıklanması -Kernel, donanım ve yazılım arasında haberleşmeyi sağlar. -Kernel'in bir çok görevi vardır -Bellek yönetimi -İşlemci yönetimi -Donanım erişim yönetimi -Süreçlerin yönetimi -Input/Output işlemlerinin yönetimi Kerneli isteğinize göre derleyip size uygun olmayan donanımları kaldırıp, uygun olan donanımları ekleyebilirsiniz. Kabuk veya Komut Satırı (Shell or Commandline) Linux Terimlerinin Açıklanması -Linux'un türetildiği unix sistemlerinde komutları yorumlamak ve yönetmek için kullanılan programa kabuk denir. -Bütün linux dağıtımlarında kabuk (Linux shell) bulunur. -Ubuntu'da yazu ortamında ctrl+alt+f1'den ctrl+alt+f6'ya basarak ulaşabileceğimiz 6 adet kabuk bulunmaktadır. Bu kabuklardan çıkmak istersek ctrl+alt+f7'ye basmalıyız. X Pencere Sistemi yada X11 Linux Terimlerinin Açıklanması X Pencere Sistemi (X), daha çok gnu/linux ve unix benzeri işletim sistemlerinde kullanılan grafik arayüz altyapısıdır. -X üzerinde çalışan kontrol kütüphaneleri GTK+ Motif ve Lesstif Qt Masaüstü Ortamları Linux Terimlerinin Açıklanması Masaüstü ortamları, bir işletim sisteminde her gün işlem yapmanızı sağlayan ve işletim sisteminin üzerini bir kabuk gibi kaplayan grafiksel arayüzdür. -Windows' ta "explorer" tek masaüstü ortamıdır. Linux üzerinde ise bir çok masasütü ortamı seçeneğiniz verdır. Kde, gnome, lxde, xfce v.b. Kök veya Süper Kullanıcı Linux Terimlerinin Açıklanması -Kök veya Süper kullanıcı, Linux işletim sistemlerinde sistem yöneticisidir. -Standart kullanıcılar sadece “/home” dizinindeki dosyalar üzerinde yetki ve izinlere sahiptir. -Ubuntu'da “sudo -s” ve “sudo su” komutları ile süper kullanıcı olabiliriz. Bağımlılıklar (Dependencies) Linux Terimlerinin Açıklanması Linux altında, ihtiyaç duyulan yan yazılımlar ve uygulama kütüphaneleri bağımlılık olarak adlandırılır. Her türlü yazılımın çalışması için belirli başka yazılımların da sisteme kurulu olması gereklidir.Örneğin bir oyunu Windows İşletim Sisteminde çalıştırmak i çin bir DirectX sürümü sistemde yüklü olmalıdır. Bağımlılıklar (Dependencies) Linux Terimlerinin Açıklanması Bir Yazılım paketi, bir paket yönetim sistemi veya bir kurucu (installer) tarafından sisteme kurulabilen ve bir arşivleme metodu ile paketlenmiş yazılımları ifade eder. Bir yazılım paketi ile istenen uygulama kolayca sisteme kurulur/veya sistemden kaldırılır. Paketlerin temel işleme mantığı bu olmakla birlikte ikinici ve çok daha önemli bir işlevleri vardır ki o da bağımlılık sorununu çözmektir. Gömülü Linux İşletim Sistemleri Gömülü Linux İşletim Sistemleri - Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Neden İşletim Sistemi? Gömülü Linux İşletim Sistemleri -Tekerleği yeniden icat etmeye gerek yok. -Farklı entegre mimarileri arasında geçiş imkanı ARM, Omap, Blackfin , powerpc.... -Komplike sistemleri basite indirgeme Öte Yandan... Basit sistemler için gereksiz iş yükü!! Gömülü Linux Nedir? Gömülü Linux İşletim Sistemleri -Gömülü Linux basit olarak PC lerde kullanılan Linux sisteminin sadece çok temel fonksiyonlarını barındıracak şekilde yeniden Yapılandırılmasıdır. -Cep Telefonları , Network Ekipmanları Tıbbi Cihazlar ,Savunma Sanayi Gömülü Linux kullanılan sistemlere örnek olarak verilebilir Gömülü Linux Kullanılan Bazı Ürünler Gömülü Linux İşletim Sistemleri Oshkosh A3 HEMTT Axis 2120 network Kamera Hp t5735 Amazon Kindle Dx LG Eve GW620 Dash Navigasyon Dash Express Dodge Super8 Neuronics Katana Robotik Kol Gömülü Linux Avantajları Gömülü Linux İşletim Sistemleri -Kaynak Kodlarına sınırsız erişim -Lisans sorununun olmaması -Ücretsiz geliştirme araçları -Çok sayıda uP Mimarisine destek verme -Çok sayıda hazır program -Çok sayıda sürücü desteği Gömülü Linux Avantajları - II Gömülü Linux İşletim Sistemleri IP desteği Göreceli olarak düşük kaynaklarda bile çalışabilme > 2MB RAM, > 1MB Flash Multitasking desteği Linux API desteği Sistem kaynaklarına rahat erişim Farklı dosya sistemleri desteği (Jffs2, ramfs, cramfs) Linux İç Yapısı Gömülü Linux İşletim Sistemleri Bootloader,Başlangıç donanım ayarları işletim sistemi yüklemesi Kernel,İşletim Sistemi Kontrolü yazılım-donanım bağı dosya sistemleri, sürücüler ... Root Filesystem,Kullanıcı programları sistem bilgileri ,kütüphaneler Linux İç Yapısı - II Gömülü Linux İşletim Sistemleri Kullanıcı Alanı Resim ekle Linux Kernel Donanımın Temel Bileşenleri Gömülü Linux İşletim Sistemleri resim2 Sistemin Ayağa Kalkması Gömülü Linux İşletim Sistemleri Bootloader: uP ROM veya Flash'ın belli bir adresinden bootloader'ı çalıştırır Kernelin tutulduğu donanım kullanıma hazır hale getirilir Kernel, sistemdeki RAM 'e yüklenir. Kontrol, kernel'e devredilir. Kernel: Kernel, sıkıştırılmış halde bulunan komponentlerini açar. Sürücüler aktif hale getirilir. Root filesystem aktif hale getirilir. Kullanıcı alanındaki ilk program çalıştırılır. İlk Kullanıcı Programı: Sistem servislerini aktif hale getirir Diğer kullanıcı programları için gerekli ayarlamaları yapar. Sisteme Genel Bakış Gömülü Linux İşletim Sistemleri PC BOARD Linux Kernel Kütüphane Cross Complie Standart Programlar Kullanıcı Programları u-boot Cross Complie Gömülü Linux İşletim Sistemleri Kaynak Kodlar Native Toolchain x86 Binary Cross-compiling Toolchain Arm Binary Derleyen Makina Gömülü Sistem Ubuntu Kurulumu Ubuntu Kurulumu - Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Son Teşekkürler