Provided by:
manpages-tr_1.0.5.1-1.1_all 
İSİM
boot - genel olarak açılış işlemleri
AÇIKLAMA
Açılış işlemleri sistemden sisteme değişiklik gösterirse de genellikle
beş adımda incelenebilir: (i) donanımsal açılış, (ii) önyükleme, (iii)
çekirdeğin yüklenmesi, (iv) init ve inittab, (v) açılış betikleri.
Bunları aşağıda daha ayrıntılı olarak açıklayacağız.
Donanım açılışı
Makinayı açıldıktan veya yeniden başlatıldıktan sonra denetim salt
okunur bellekte bulunan (genellikle bu bir PROM'dur) bir yazılıma
devredilir. PC'lerde bu yazılım genellikle BIOS (bayos okunur) olarak
bilinir.
Bu yazılım makina üzerinde bir temel sınama yaptıktan sonra gerekli
parametreleri okumak için oynak olmayan (non-volatile) belleğe erişir.
Bu bellek PC'lerde pille beslenen bir CMOS bellektir ve CMOS (simos
okunur) adıyla bilinir. PC dünyası dışında ise genellikle nvram
(non-volatile ram) olarak bilinir.
nvram üzerinde saklanan parametreler sistemden sisteme değişiklik
gösterir, fakat en azından donanım açılış yazılımı, açılışın yapılacağı
aygıtı ya da algılanması gereken olası açılış aygıtlarını bilmek
zorundadır.
Donanım açılış adımı ile açılış aygıtına erişildikten sonra, işletim
sistemini yükleyecek olan önyükleyici yazılımı yüklenir. Bu yazılım
açılış aygıtının belli bir yerinde bulunur ve denetim bu yazılıma
aktarılır.
Bilgi: Burada ağdan açılış adımlarını açıklamayacağız. Bu konu ile
ilgileniyorsanız arama sözcükleriniz şunlar olabilir: DHCP,
TFTP, PXE, Etherboot.
Önyükleyici
PC'lerde önyükleyici açılış aygıtının ilk sektöründe bulunur. Bu sektör
Asıl Önyükleme Kaydı (MBR - Master Boot Record) olarak bilinir.
Çoğu sistemde bazı kısıtlamalardan dolayı bu önyükleyici çok
sınırlanır. PC dışındaki sistemlerde bile boyut ve önyükleyicinin
karmaşıklığıyla ilgili sınırlamalar vardır. Fakat PC'lerde MBR'ın
boyutu (512 bayttır ve disk bölümleme tablosu da buradadır)
önyükleyicinin bu alana deyim yerindeyse tıkıştırılmasını gerektirir.
Diğer yandan, çoğu işletim sistemi birincil önyükleyicinin disk
bölümünün belli bir yerinde bulunan bir ikincil önyükleyiciyi
çalıştırır.
Linux işletim sisteminin önyükleyicisi normalde lilo(8) ya da
grub(8)'dır. Her ikisi de ya ikincil yükleyiciyle (DOS çalıştırmak
gibi) ya da bir parçası MBR içinde diğer parçası kök disk bölümünde
bulunan iki parçalı bir önyükleyici olarak kurulur.
Önyükleyicinin asıl görevi disk üzerinde çekirdeğin yerini belirlemek,
onu yükleyip çalıştırmaktır. Çoğu önyükleyici başka çekirdeklerin
belirtilmesine (son derlediğiniz çekirdek çalışmazsa öncekinin
yüklenmesini sağlayabilirsiniz) ve bu çekirdeklere isteğe bağlı
parametrelerin aktarılmasına imkan veren etkileşimli bir arayüze
sahiptir.
Çekirdeğin başlatılması
Çekirdek yüklendiğinde aygıtları (sürücüleri üzerinden) ilklendirir,
takas alanını etkinleştirir (günümüz çekirdeklerinde kswapd olarak
bilinen bir çekirdek sürecidir) ve kök dosya sistemini (/) bağlar.
Çekirdeğe bu etkinliklerle ilgili olarak bazı parametreler
aktarılabilir (örneğin kök dosya sistemi olarak başka bir disk bölümünü
belirtebilirsiniz). Bu tür Linux parametreleri ile ilgili daha
ayrıntılı bilgi için bootparam(7) kılavuzuna bakınız.
Bundan sonra çekirdek sadece, numarası 1 olan ilk süreci (kullanıcı
tarafı) çalıştırır. Bu süreç kendisine verilmiş parametrelerden işine
yaramayanları aktararak /sbin/init yazılımını çalıştırır.
init ve inittab
init çalışmaya başladığında ilk olarak /etc/inittab dosyasında bulunan
yönergeleri okur. Bu dosya farklı çalışma seviyeleri ile bu çalışma
seviyelerinde çalıştırılacak komutlara ilişkin bilgiler içerir.
Bu, sistem yöneticisine belli servislerin ilişkilendirilebildiği farklı
çalışma seviyeleri ile (örn: S tek kullanıcılı kiptir, ağ servisleri
için 2 gibi) kolayca yönetilebilen bir şema sunar. Sistem yöneticisi
çalışma seviyesini init(8) ile değiştirebilir ve o anki çalışma
seviyesini runlevel(8) ile sorgulayabilir.
Servislerin başlatılması ve durdurulması bu dosyayı düzenleyerek
yapılmaz. Bu dosya içindeki veriler, belirli çalışma seviyelerinde
çalıştırılacak ya da durdurulacak servislerin betiklerinin bulunduğu
yere denetimi aktarmakta kullanılır.
Açılış betikleri
Bilgi: Aşağıdaki açıklamalar sadece SYSV-R4 temelli sistemlere
uygulanır. Bunlar ticari Unix'ler (Solaris, HPUX, Irix, Tru64)
ile bazı Linux dağıtımlarıdır (Red Hat, Fedora, Debian,
Mandrake, Suse, Caldera). Bazı sistemler (Slackware Linux,
FreeBSD, OpenBSD) açılış betiklerinin düzenlenmesinde biraz daha
farklı şemalar kullanırlar.
Yönetilen her servis (posta sunucusu, nfs sunucusu, cron, vs.) için
belirli bir dizinde (çoğu Linux sürümünde /etc/init.d dizinidir)
bulunan tek bir betik vardır. Bu betiklerin herbiri ya sadece 'start'
(servisin başlatılmasını sağlar) ya da genel olarak üzerinde "anlaşma
sağlanmış" sözcükleri argüman kabul ederler (örneğin, 'restart' servisi
durdurur ve tekrar başlatır, 'status' servisin durmu hakkında bilgi
döndürür). Betikler argümansız çalıştırıldığında kullanılabilecek
argümanların listesini gösterir.
Çalışma seviyelerine özel dizinler
Servislerin belirli çalışma seviyelerinde çalıştırılması, durdurulması
ve çalıştırılma sıralarının belirlenmesi için özel dizinler vardır.
Bunlar normalde /etc/rc[0-6S].d dizinleridir. Bu dizinlerin her birinde
/etc/init.d dizininde bulunan betiklere sembolik bağlar bulunur.
Bir birincil betik (genellikle /etc/rc) inittab(5)'dan çağrılır ve bu
betik çalışma seviyesi dizinlerindeki sembolik bağlar üzerinden servis
betiklerini çalıştırır. Betiklerin sembolik bağ isimlerinden 'S' ile
başlayanlar 'start' argümanı ile (servisi başlatmak için), 'K' ile
başlayanlar ise 'stop' argümanı ile (servisi durdurmak için)
çalıştırılır.
Aynı çalışma seviyesinde betiklerin hangi sırada çalıştırılacaklarını
belirlemek için sembolik bağ isimleri sıra numaraları içerir. Bu
numaradan sonra da çalıştırılacak servisin ismi gelir. Örneğin,
/etc/rc2.d/S80sendmail ile sendmail 2. çalışma seviyesinde başlatılır.
Ancak bu, /etc/rc2.d/S12syslog'dan sonra ve /etc/rc2.d/S90xfs'den önce
çalıştırılır.
Çalışma seviyelerini ve açılış sırasını bu bağlar sayesinde kolayca
yönetibiliriz. Bir çok Linux dağıtımı bu işlemi daha da kolaylaştıran
araçlarla gelir (örn, chkconfig(8).
Sistemin açılışta yapılandırılması
Artalanda başlatılan süreçler genellikle isteğe bağlı bazı parametreler
ve komut satırı seçenekleri kabul ederler. Sistem yöneticilerinin bu
parametreleri betiklere dokunmadan daha kolay düzenleyebilmeleri için
süreçlerin kendilerine ait yapılandırma dosyaları vardır. Bunların
yerleri dağıtımlara göre değişir. Örneğin Red Hat için bu dosyalar
/etc/sysconfig dizininde bulunur.
Eski Unix'lerde bunlar komut satırı seçenekleri iken günümüz Linux
sistemlerinde (ve HPUX'de) bu dosyalar kabuk değişkenlerini içerir.
/etc/init.d dizininde bulunan betikler bu değişkenlerin değerlerini
kullanır.
İLGİLİ DOSYALAR
/etc/init.d/, /etc/rc[S0-6].d/, /etc/sysconfig/
İLGİLİ BELGELER
inittab(5), bootparam(7), init(8), runlevel(8), shutdown(8).
ÇEVİREN
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Aralık 2003
boot(7)