Linux İşletim Sistemi

advertisement
2
Linux‟un Tarihsel gelişimi

Unix, 1969 yılında, Ken Thompson ve Dennis Ritchie
tarafından Bell Laboratuvarları'nda geliştirilmiş, çok
kullanıcılı, çok görevli yapıyı destekleyen bir bilgisayar işletim
sistemidir.

Özellikle kararlı yapısı ve çok kullanıcılı, çok görevli yapısıyla
çok işlemcili sunucularda adeta standart haline gelmiştir.

Birinci sürümü assembler ile yazılmış olan Unix, Dennis
Ritche‟in yaptığı çalışmalar ile C diline aktarılmıştır. Çeşitli
donanımlara bu sayede uyum sağlayabilir hale getirilmiştir.
BTEP205 - İşletim Sistemleri
1
3
Linux‟un Tarihsel gelişimi

Linux, Unix‟e fikirsel ve teknik anlamda atıfta bulunarak
geliştirilmiş, açık kaynak kodlu, özgür ve ücretsiz bir işletim
sistemi çekirdeğidir.

Çekirdeğin kaynak kodları Genel Kamu Lisansı (GPL)
çerçevesinde özgürce dağıtılabilir, değiştirilebilir ve
kullanılabilir.
BTEP205 - İşletim Sistemleri
4
Linux‟un Tarihsel gelişimi

Minix işletim sistemi, kullanıcıların kendi kişisel
bilgisayarlarında Unix‟in çalışma sistemini öğrenmelerini
amaçlamaktadır.

62.000 satır C koduyla yazılmıştır ve bu kaynaktan yola
çıkılarak, eski bilgisayarları verimli olarak kullanmak için
bu işletim sistemi üzerine geliştirmeler yapılarak kararlı
sürümler oluşturulmuştur.

Torvalds, Linux çekirdeğini Minix üzerinde geliştirmeye
başlamıştır. Minix için yazılmış uygulamalar Linux için de
kullanılabilmektedir.
BTEP205 - İşletim Sistemleri
2
5
Linux‟un Tarihsel gelişimi


Linux‟un kalbi olan kernel (çekirdek) Unix‟in bir türevidir ve
başta Linus Torvalds olmak üzere dünyanın dört bir yanındaki
yüzlerce programcı tarafından ortak geliştirilmiştir.
Linux ismi ilk olarak Linus Torvalds tarafından yazılan ve 5
Ekim 1991 Linux 0.02 etiketiyle duyurusu yapılan, Linux
çekirdeğinden gelmektedir. Linus Torvalds, halen çekirdek
geliştirme ekibindedir.
Linus Torvalds
BTEP205 - İşletim Sistemleri
6
Linux‟un Tarihsel gelişimi

Çok geniş bir donanım desteğine sahip olan Linux çekirdeği,
netbook, dizüstü bilgisayar, sunucu bilgisayarlar, iş istasyonu,
akıllı telefon, masaüstü bilgisayarlar, gömülü cihazlar gibi
hemen her platformda tam bir uyum içerisinde
çalışabilmektedir.

Linux sunucu işletim sistemlerinde kullanım oranı bakımından
ilk sırada tercih edilmekte ve dünyanın 10 hızlı süper
bilgisayarında da kullanılmaktadır.
BTEP205 - İşletim Sistemleri
3
7
Linux Temel Kavramlar

Kernel (çekirdek), tüm işlemlerden
sorumlu yönetim kademesidir ve
sistemin düzgün çalışmasını sağlar.

Bilgisayar kaynaklarını düzenler,
bellek denetimi yapar, kullanıcıların
görevlerinin sırayla yapılmasını sağlar
ve yan birimlerin (CD-ROM, disket
sürücü vb.) çalışmasından sorumludur.
BTEP205 - İşletim Sistemleri
8
Linux Temel Kavramlar

Shell (kabuk), Unix ve benzeri
sistemlerde sistem yönetimini
sağlayan komutlar ve bu
komutları işlemeye yarayan
kontrol mekanizmalarının
bulunduğu programlama şeklidir.

Kernel ile kullanıcının iletişim
kurmasını sağlar. Girilen
komutları bilgisayara, sonuçları
kullanıcıya iletir.
BTEP205 - İşletim Sistemleri
4
9
Linux Temel Kavramlar




Linux, Genel Kamu Lisansına göre (GPL) açık
kaynak kodlu olduğundan kullanıcılar yazılımın
içinde ne olduğunu bilir.
Açık kaynaklı olması çekirdek yapı üzerine uygulama
geliştirmeyi kolaylaştırmaktadır.
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.
Bu lisansa göre, Linux üzerinden yazılım geliştirmek
isteyen şirketler ürünlerini açık kaynak kodlu yapmak
zorunda değildir.
BTEP205 - İşletim Sistemleri
10
Genel Kullanım Alanları



Kişisel bilgisayarlarda, internet sunucularında, tablet
bilgisayarlarda, iş istasyonları ve ağ elemanı bilgisayarlarda
Linux sıklıkla kullanılmaktadır.
Linux çekirdeği günümüzde bilgisayarların ötesinde hayatın
birçok alanında daha kullanılmaktadır.
Kullanım alanlarına mobil telefonlar, televizyonlar, oyun
konsolları, eğitim simülatörleri, otomobiller ve hatta uçaklar
örnek olarak gösterilebilir.
BTEP205 - İşletim Sistemleri
5
11
Linux İşletim Sistemi

Linux işletim sisteminin açık kaynak kodlu, güvenilir,
ücretsiz, yüksek performanslı olması ve birden çok
kullanıcıyı desteklemesi avantajları olarak sayılabilir.

Henüz tam olarak tüm ihtiyaçlara cevap verememesi
(özellikle oyunlar), bazı ticari yazılımların Linux üzerinde
fazla gelişme yapmaması ve yeterince tanıtımının
yapılmaması Linux işletim sisteminin dezavantajlarıdır.
BTEP205 - İşletim Sistemleri
12
Linux İşletim Sistemi

Linux, Internet‟e bağlanabilmesi için TCP/IP desteği ile
gelmektedir.

Bunun yanında NetBEUI (Netbios Extended user interface),
Samba (Windows makinelerinin birbiriyle konuşmak için
kullandıkları protokol) ve Appletalk (Macintosh makinelerinin
birbiriyle konuşmak için kullandıkları protokol) gibi
protokoller de desteklenmektedir.
BTEP205 - İşletim Sistemleri
6
13
Linux İşletim Sistemi

Linux, tasarım aşamasından bu yana, birden çok kullanıcıyı
desteklemek amacıyla yazılmış ve buna göre programlanmıştır.

Dünya üzerinde aynı anda binlerce kullanıcının bağlandığı,
Internet erişiminde bulunduğu, web sayfalarını taradığı, grafik
ekranında çalıştığı ve program derlediği makineler vardır.

Birden çok kullanıcı tarafından aynı kaynaklar paylaşıldığı için
zamandan ve paradan tasarruf edilir.
BTEP205 - İşletim Sistemleri
14
Linux İşletim Sistemi

Linux birden çok görevin aynı anda yapılmasına olanak veren
çok işlemli bir sistemdir.

Klavyede basılan tuş ile ilgili işlemler ve makineye uzaktan
bağlanan başka bir kullanıcının işlemleri birbirinden bağımsız
olarak çalıştırılır.

Örneğin, aynı anda arka planda bir web sayfasını sunan
program çalışırken, bu durum grafik ara birimi altında bir
kelime işlem programını çalıştırmayı veya gelen mesajları
okumayı engellemeyecektir.
BTEP205 - İşletim Sistemleri
7
15
Linux İşletim Sistemi

Sürüm numarası 2.0 ile başlayan Linux çekirdekleri
birden çok işlemciyi destekleyebilmektedir.

Çekirdek, açılışta sistemde kaç tane işlemci olduğunu
bulur ve kendisini buna göre ayarlar.

Linux ile 16 işlemciye kadar sistemler doğrudan
desteklenebilir.

Günümüzde pek çok sistemde iki ve dört işlemciye sahip
makinelerde Linux üstün performansla çalışmaktadır.
BTEP205 - İşletim Sistemleri
16
Linux İşletim Sistemi

Linux işletim sistemi, diğer işletim sistemleri için yazılan
programları çalıştırabilmek için bazı özel programlar
kullanmaktadır.



Dosemu yardımıyla DOS penceresi açıp bu pencere içinde
DOS tabanlı programları çalıştırılabilir.
Wabi, Windows emülasyonu yapabilen ancak halen bazı
eksiklikleri bulunan bir programdır.
WINE (Wine Is Not an Emulator), kişisel bilgisayarların
Windows programlarını çalıştırmasını sağlayan bir uygulama
katmanıdır.
BTEP205 - İşletim Sistemleri
8
17
Linux İşletim Sistemi




Linux işletim sisteminde programların sorunsuz çalışabilmesi
için güvenlik mekanizmaları bulunur.
Çalışan programlar arasında bir koruma vardır. Bu koruma
yardımıyla bir program özel şartlar olmadıkça diğer
programların çalışmasını engelleyemez.
Benzer şekilde herhangi bir kullanıcı istediği gibi bir program
yazıp sistemin kapanmasını veya çalışamaz hale gelmesini
sağlayamaz.
Kullanıcıların dosya ve dizinleri, basit bir koruma mekanizması
kullanılarak diğer kullanıcıların görmesini engelleyecek şekilde
saklanabilir. Böylece önemli ve gizlenmesi gereken verilerin
korunması sağlanır.
BTEP205 - İşletim Sistemleri
18
Linux Dağıtımları


Linux çekirdeği açık kaynak kodlu olduğu için, birçok farklı
grup tarafından alınıp geliştirilmektedir.
Bu yüzden Linux işletim sisteminin birçok dağıtımı
bulunmaktadır. Bunlardan en bilinenleri:
Ubuntu
Fedora
Pardus
OpenSUSE
Redhat
Mandriva
Slackware
BTEP205 - İşletim Sistemleri
9
19
Linux Dosya Sistemleri

Disk üzerindeki dosyaların düzenlenmesini ve bir işletim
sisteminde dosyaların izlerinin bulunmasını sağlayan yapıya
dosya sistemi (File System) denir.

Linux dosya sisteminde en çok kullanılan dosya sistemleri:
 Ext2
 Ext3
 Ext4
 Swap
BTEP205 - İşletim Sistemleri
20
Linux Dizin Yapısı


Linux işletim sistemi temel dizin yapısı aşağıda görünmektedir.
Tüm dizinler kök dizinin altında bulunur.
BTEP205 - İşletim Sistemleri
10
21
Kök Dizin (/)

Microsoft işletim sistemlerindeki dizin yapısında birbirinden
bağımsız kök dizinler (root) bulunur.

Örneğin C dizini hard diskin ilk bölümünü gösterirken D dizini
2. bölümü gösterir. Ayrıca disket, CD-ROM ve USB için de ayrı
ayrı kök dizini bulunur.

Ancak Linux işletim sisteminde hiyerarşik bir klasör yapısı
vardır. Bu hiyerarşik yapıda en üst dizin kök dizini (root) olarak
bilinir ve „/‟ ile gösterilir.
BTEP205 - İşletim Sistemleri
22
Kök Dizin (/)

İşletim sisteminin çalışabilmesi için gerekli olan temel dosyalar
kök dizinin altında bulunur.

Tüm dosya sistemleri, programlar hatta sonradan eklenen disk
bölümleri (partition) bile kök dizininin alt dizinlerinde yer alır.

Her ne kadar programlar kök dizinine koyulabilse de genellikle
alt dizinler tercih edilir.

Kök dizini önyükleme sırasında hafızaya yüklenen ilk bölümdür.
BTEP205 - İşletim Sistemleri
11
23
/boot Dizini

Açılış sırasında ilk olarak yüklenmesi gereken dosya ve
dizinlerin bulunduğu dizindir.

Linux çekirdeği (kernel) bu dizinin altında bulunur.
BTEP205 - İşletim Sistemleri
24
/bin Dizini

İşletim sisteminin çalışması için gerekli olan programların
bulunduğu yerdir.

Kabuk programları (ör: sh), dosya düzenleme programları
(ör: cat, echo, ls, cp) ve işlem programları (ör: kill) bu
dizinin altında bulunur.
BTEP205 - İşletim Sistemleri
12
25
/sbin Dizini

Linux‟ta normal kullanıcının kullanacağı komutlarla,
sistem yöneticisinin kullanabileceği komutlar ayrılmıştır.

Sistem yöneticilerinin kullanabileceği komutların
tutulduğu dizin /sbin dizinidir.
BTEP205 - İşletim Sistemleri
26
/lib Dizini

Programlar tarafından paylaşılan kütüphane dosyalarının
(library files) ve sistem başlatılırken kullanılan kernel
modüllerinin saklandığı yerdir.

Linux‟ta kütüphane dosyalarının uzantısı .so‟dur. Bu
dosyalar Windows‟ta ise .dll uzantısına sahiptir.
BTEP205 - İşletim Sistemleri
13
27
/usr Dizini



Bütün komutların, kütüphanelerin, kullanma kılavuzlarının,
oyunların ve sistemin normal işleyişi için gerekli olan dosyaların
bulunduğu dizindir.
Linux sisteminde bir uygulama yüklenecekse, genelde, ön tanımlı
olarak buraya yüklenir.
Alt dizinlerini incelemek gerekirse:





bin: Neredeyse tüm komut dosyalarının tutulduğu yerdir.
sbin: Linux çekirdeğinin kaynak kodunun tutulduğu yerdir.
lib: C/C++ dili için gerekli kütüphanelerin bulunduğu dizindir.
share: Birçok uygulamanın yapılandırma ve grafik dosyaları burada bulunur.
local: Yerel olarak yüklenen programlar ve dosyalar burada bulunur.
BTEP205 - İşletim Sistemleri
28
/etc Dizini

Bu dizinde çalıştırılabilir dosyalar yerine, birçok programın ve
sistemin yapılandırma dosyaları ve dizinleri saklanır.

Sisteme dair konfigürasyon dosyaları da burada bulunur.

Örneğin DNS problemlerini çözmek için /etc/resolv.conf
dosyası açılıp içerisine yeni DNS adresleri eklenebilir.
BTEP205 - İşletim Sistemleri
14
29
/tmp Dizini

Geçici dosyaların saklanması için kullanılan dizindir.
Sistem başlatıldıktan sonra bu görevi “/var/tmp” dosyası
üstlenir.

Bir program yüklenirken, sadece yükleme süresince
kullanılan ve daha sonra lazım olmayacak dosyalar burada
saklanır.

Bu dizinin içerisindeki dosyalar genellikle işletim sistemi
açılışında silinir.
BTEP205 - İşletim Sistemleri
30
/var Dizini

Programların değişken sistem dosyalarını tutan bölümdür.

Yazıcıya gönderilen sayfalar (/var/spool), sistem
hatalarının ve mesajlarının saklandığı kayıt sayfaları
(/var/log) ve çalışan işlemlerle ilgili bilgilerin (/var/run)
bulunduğu dosyalar örnek olarak verilebilir.
BTEP205 - İşletim Sistemleri
15
31
/home (Kişisel) Dizini

Belirli bir kullanıcının kişisel dosyalarının (masaüstü ayarları,
program şifreleri, İnternet tarayıcısında sık kullanılan sayfalar)
saklandığı yerdir. „~‟ işareti ile ifade edilir.

Ev dizininin içeriği sadece dizin sahibinin ulaşımına açıktır.
Diğer kullanıcılar yönetici olmadıkları sürece buraya
erişemezler.

Sistem verileri ile kişisel bilgilerin ayrılması sonucu, herhangi
bir çökme olması durumunda dosyaların kurtarılması ve
yedeklenmesi açısından bu dizinin önemi büyüktür.
BTEP205 - İşletim Sistemleri
32
/home (Kişisel) Dizini

Kişisel dosyalara virüs veya trojan bulaşması durumunda,
dosyaların göreceği zarar bu kullanıcının hesabındaki
dosyalarla sınırlı olacaktır.

Her kullanıcının kişisel dizini kendi kullanıcı adını taşır.
Örneğin, /home/murat veya /home/mehmet.

Linux‟deki /home dizini Windows‟taki Documents (My
Documents)‟e benzemektedir.
BTEP205 - İşletim Sistemleri
16
33
/dev Dizini



Girdi/çıktı dosyaları (I/O files) ve bilgisayarın donanım
aygıtlarıyla iletişim kurulabilmesi için gereken tüm dosyalar bu
dizinde tutulur.
Linux‟te donanım aygıtları dahil her şey bir dosyadır. USB
girişleri, seri ve paralel portlar, diskler, CD-ROM aygıtları
dosyalar ile ifade edilir. Tüm aygıtlar /dev klasörü altında
tutulan dosyalardan ibarettir.
Linux'taki aygıtlar ikiye ayrılır: karakter aygıtı ve blok aygıtı.
Başlıca karakter aygıtları fare, klavye; blok aygıtları ise disket,
CD-ROM ve sabit disktir.
BTEP205 - İşletim Sistemleri
34
/mnt Dizini

Bu dizin, geçici olarak herhangi bir dosya sistemine ulaşmak
için oluşturabilecek bağlama noktalarını içeren dizindir.

Üzerinde bir dosya sistemi olan bir disk birimi veya parçası
okuma veya yazma amacıyla bilgisayara takıldığında, bu birim
için /mount dizini altında dosyalar oluşturulacaktır.

Örneğin flash diskler, CD-ROM ve disketler ön tanımlı olarak
/mount dizini altına bağlanmaktadır.
BTEP205 - İşletim Sistemleri
17
35
BTEP205 - İşletim Sistemleri
18
Download