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 dır. 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 programini calistiran satirlar icin terminali belirler.-/dev/tty den sonra gelen sayi- )
runlevel = assagida aciklayacagim. runlevel tek bir sayidan olusur.
action = islemin nasil yapilacagini belirler.(once - bir kerecalistir ; respawn- bir sonraki bolumde tekrar calistir.)
process = calistirilacak komut.

Getty’yi ilk sanal konsolda(terminalde) baslatmak icin

1:2345:respawn:/sbin/getty 9600 tty1 satiri kullanilabilir.

1. kolon = /dev/tty1 ‘i temsil eder. Yani program ilk sanal konsaolda calistirilacak.
2. kolon = 2,3,4,5 runlevel larina etki edecek demektir.(runlevel aciklanacak -walla bak-.)
3. kolon = komut tamamlandiktan sonra tekrar calistirilacak.
4. kolon = getty’yi 1.sanal konsolda calistiracak komut.

Init bir programi calistirmak istediginde program calismazsa init programi tekrar calistirmak ister. Bunun sonsuza kadar surmesi cok fazla sistem kaynagini tuketecegi icin init sikca calistirilan programlarin bir listesini tutar. Cok sik calistirilan programi 5 dakika icin durdurur ve sonra tekrar calistirir.

Runlevel :

Runlevel’lar inittab dosyasinda

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

sekillerinde tanimlanmislardir. (Oturumun nasil acilacagini tanimlar) init basladiginda dosyadaki

id:2:initdefault:

satirina bakar.Buna gore oturumu nasil cacagina karar verir. buna gore

0 : sistemi kapat
1 : tek kullanicili modda ac
2-5 : kullanici tarafindan tanimlanan modlar
6: Reboot

Özel Init Fonksyonlari :

init bazi ozel durumlarda reaksyon gosterecek sekilde ayarlanabilir. Bunu inittab dosyasindaki bazi ozel kelimeler ile gerceklestirir.

powerfail : Elektirik kesildiginde makinayi kapatir (UPS oldugunda tabiki:)
ctrlaltdel : konsolda kullanicilarin ctrl+alt+del tuslari ile reboot etmelerine olanak tanir.
sysinit : Sistem basladiginda sizin belirlediginiz bir komutu calistirir.