A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
Linux Açılırken Neler Yapar?

Linux Açılırken Neler Yapar?

Bir Linux makine ilk açıldığında kernel hafızaya yüklenir. Sonra kernel çalışmaya baslar ve donanımı tanır. Kernel isini bitirdikten sonra "init" programını çalıştırır.

Init çalışan ilk programdır. Bu yüzden process number’ i 1 dir. Kernel init’ i belli yerlerde arar. Linux bir makinede init normalde /sbin/init dedir. Kernel init i çalıştıramaz ise /bin/sh’i arar. Eğer onu da çalıştıramazsa Linux açılmaz.

Init başladığında boot işlemini bitirir (dosya sistemini kontrol eder, temizler, bazı servisleri çalıştırır ve her terminal için "getty" programını ve kullanıcıların sisteme giriş yapacağı konsol’u çalıştırır.). Sistem düzgün bir şekilde açıldıktan sonra init getty’yi tekrar çalıştırır (böylece diğer bir kullanıcı sisteme giriş yapabilir).

Bir program başlayıp bir çocuk program başlatıyorsa ve çocuk program sonlanmadan ana program sonlanırsa, program init’in çocuk programı olur. Bu process tree grafiğini anlamakta bize yardımcı olur sanırım.




Init başladığında /etc/inittab dosyasını okur. Bu dosya 4 kolondan oluşur.

id:runlevels:action:process

id = dosyadaki satirini belirler.(getty programını çalıştıran satırlar için terminali belirler.-/dev/tty den sonra gelen sayi- )
runlevel = aşağıda açıklayacağım. runlevel tek bir sayıdan oluşur.
action = işlemin nasıl yapılacağını belirler.(önce - bir kere çalıştır; respawn- bir sonraki bolümde tekrar çalıştır.)
process = çalıştırılacak komut.

Getty’yi ilk sanal konsolda(terminalde) başlatmak için

1:2345:respawn:/sbin/getty 9600 tty1 satiri kullanılabilir.

1. kolon = /dev/tty1 ’i temsil eder. Yani program ilk sanal konsolda çalıştırılacak.
2. kolon = 2,3,4,5 runlevel larına etki edecek demektir.(runlevel açıklanacak)
3. kolon = komut tamamlandıktan sonra tekrar çalıştırılacak.
4. kolon = getty’ yi 1.sanal konsolda çalıştıracak komut.

Init bir programı çalıştırmak istediğinde program çalışmazsa init programı tekrar çalıştırmak ister. Bunun sonsuza kadar sürmesi çok fazla sistem kaynağını tüketeceği için init sıkça çalıştırılan programların bir listesini tutar. Çok fazla çalıştırılan programı 5 dakika için durdurur ve sonra tekrar çalıştırır.

Runlevel :

Runlevel’lar inittab dosyasında

12:2:wait:/etc/init.d/rc 2

şekillerinde tanımlanmışlardır. (Oturumun nasıl açılacağını tanımlar) init başladığında dosyadaki

id:2:initdefault:

satırına bakar. Buna göre oturumu nasıl açacağına karar verir. buna Göre

0: sistemi kapat
1: tek kullanıcılı modda aç
2–5: kullanıcı tarafından tanımlanan modlar
6: Reboot

Özel Init Fonksiyonları :

init bazı özel durumlarda reaksyon gösterecek şekilde ayarlanabilir. Bunu inittab dosyasındaki bazı özel kelimeler ile gerçekleştirir.

powerfail: Elektirik kesildiğinde makineyi kapatır (UPS olduğunda tabi ki)
ctrlaltdel: konsolda kullanıcıların ctrl+alt+del tuşları ile reboot etmelerine olanak tanır.
sysinit: Sistem başladığında sizin belirlediğiniz bir komutu çalıştırır.

Dar-ül Fünün Grup 6
JulesVerne
   
  Ad Soyad
  Yorum