Bu yazımızda düğmesine bastıktan sonra bilgisayarın içinde ne olur ve masaüstü karşımıza gelene kadar hangi işlemler gerçekleşir sorularına yanıt aramaya çalışacağız.
Düğmeye basınca
Bilgisayarın açma veya reset düğmesine bastığınızda bilgisayarınıza güç gelmeye başlar. Başlangıçta voltaj dengesizlikleri yüzünden bilgisayarınıza zarar vermemek için güç kaynağınız, önce voltajın düzelmesini bekler. Bu işlem 0.1-0.5 saniye sürer. Bu esnada işlemcinize sürekli olarak "reset" sinyali yollanır. Böylece sisteminizin çalışıp zarar görmesi önlenir. Güç ayarlaması bittikten sonra işlemciye giden reset sinyali kesilir ve işlemci çalışmaya başlar.
İşlemciniz, bilgisayarın belleğindeki makina kodunu çalıştırabilir. Ancak bilgisayar açıldığı anda RAM boştur. O halde işletim sistemini sabit disk, CD-Rom, disket sürücü, USB bellek, ağ kartı gibi cihazlardan alıp belleğe yükleyecek bir yardımcıya ihtiyaç vardır. Günümüz bilgisayarlarının çoğunda bu işi BIOS yapar.
BIOS
BIOS (Basic Input/Output System - Temel Girdi/Çıktı Sistemi) denilen yazılım, anakart üzerinde bir çipte bulunur. Temel olarak şu işlevlere sahiptir:
Bilgisayarın ana donanımlarını çalıştırır ve gerekli kontrolleri yapar.
Önyükleme yapılacak cihazı bulur ve işletim sisteminin belleğe yüklenmesini sağlar.
İşletim sistemine yardımcı olacak girdi/çıktı ile ilgili bazı temel fonksiyonlar barındırır.
BIOS'u kısaca tanıttığımıza göre bilgisayarımızın açılış sürecine geri dönebiliriz. İşlemci çalışmaya başladığında ilk iş olarak belleğin sabit bir adresinde bulunan BIOS kodunu çalıştırmaya başlar. BIOS ilk olarak POST (Power On Self Test - Açılış Kontrolü) denen işlemi yapar. Bu işlem esnasında işlemci, önbellek, bellek, ekran kartı, sistem saati gibi temel donanımlarla ve diğer kartlar ve depolama aygıtları çalıştırılır. Hatalara karşı bu cihazlar kontol edilir. Bir sorun çıkması halinde bip sesleriyle veya ekrana basılan uyarılarla kullanıcı bilgilendirilir. Herhangi bir sorun olmaması halinde bir sonraki aşamaya geçilir.
Donanım ayarlarının ardından BIOS, önyükleme (boot) yapılabilecek cihazları inceler. Bunlar arasında sabit disk, disket sürücü, USB bellek, CD-ROM gibi depolama aygıtları ve ağ kartı bulunur. Bu aygıtların öncelik sırası, BIOS kurulumunda değiştirilebilir ve diğer temel ayarlarla birlikte bir CMOS çipinde saklanır. (BIOS kurulum ekranına bilgisarınız açılırken özel bir tuşa basarak erişebilirsiniz. Bu tuş, bilgisayarınızın modeline göre F1, F2, Del, Tab vs. olabilir) BIOS, öncelik sırasına göre bu cihazları kontrol eder ve önyükleme kaydı (boot record) bulunan ilk aygıttan önyüklemenin yapılmasını sağlar. Şimdi, çoğu bilgisayarda olduğu gibi, önyükleme yapacağımız aygıtın bir sabit disk olduğunu varsayıp açılış sürecini anlatmaya devam edelim..
MBR
Sabit diskinizin ilk 512 baytında MBR (Master Boot Record - Ana Önyükleme Kaydı) adı verilen veri bulunur. Bu veri aşağıdaki kısımlardan oluşur:
BIOS, diskten okuduğu 512 baytlık verinin MBR olup olmadığını doğrulamak için son iki bayttaki imzaya bakar. Bu iki baytta 0xAA55 verisi yer alıyorsa MBR imzası doğrulanmış olur ve aygıtın önyüklenebilir (bootable) bir aygıt olduğu anlaşılır. Bu basit doğrulama işleminden sonra BIOS, MBR'nin ilk 446 baytında bulunan önyükleme kodunun işlemci tarafından çalıştırılmasını sağlar. Bu sayede sistemin kontrolü önyükleyiciye geçmiş olur.
Standart bir MBR'de bulunan önyükleme kodu sırasıyla aşağıdaki işlemleri yapar:
MBR'de bulunan 64 baytlık disk bölümlendirme tablosunu (partition table) kullanarak sırasıyla disk bölümlerini inceler
Disk bölümlendirme bilgisinin ilk baytı kontrol edilerek, bölümün aktif olup olmadığı belirlenir.
Bu disk bölümü aktifse, partition boot record (bölüm önyükleme kaydı) denen ilk 512 baytlık kısım RAM'e yüklenir.
MBR, bu kodu çalıştırarak önyükleme işleminin bir sonraki basamağa geçmesini sağlar.
Bir sonraki basamakta çalışan partition boot sector, işletim sistemine göre farklılık gösterir. Ancak temel görevi, bu bölümde bulunan işletim sistemi çekirdeğini (kernel) belleğe yükleyip çalıştırarak, işletim sisteminin başlamasını sağlamaktır. Bundan sonra işletim sistemi, kendi sürücülerini ve diğer yardımca bileşenleri yükledikten sonra bilgisayar kullanılmaya hazır hale gelir. Kullanıcı girişi yapılabilen bir ekranın veya masaüstümüzün karşımıza gelmesi, bilgisayarımızın açılış sürecinin tamamlandığını ve diğer programların çalıştırılabileceğini gösterir.
Son Söz
Bu yazımızda, bilgisayarımızın açılış sürecini ve bu esnada meydana gelen değişiklikleri açıklamaya çalıştık. Bilgisayarın açılışına kadar geçen aşamaları şöyle özetleyebiliriz:
Bilgisayarın düğmesine basıldıktan sonra gücün ayarlanması
BIOS'un POST işlemi ile donanımları hazırlayıp test etmesi
BIOS'un önyükleme yapılacak cihazı bulması ve MBR kodunun çalıştırılması
MBR'nin aktif disk bölümünü bulması ve boot sektöründeki kodu çalıştırması
İşletim sistemi çekirdeğinin RAM'e yüklenmesi
İşletim sisteminin diğer bileşenlerinin ve bunun üzerindeki katmanların başlatılması
Bilgisayarın kullanıma hazır hale gelmesi
Tüm bu işlemler, bilgisayar mimarisi, çevre birimleri, önyükleyici program ve işletim sistemine göre çeşitlilik gösterebilir. IBM PC tabanlı mimariyi ele aldığımız bu belgede, bilgisayarın BIOS yardımıyla açıldığını varsaydık. Farklı bilgisayar mimarileri var olduğu gibi, BIOS'un da alternatifleri bulunmaktadır. EFI (Extensible Firmware Interface) bu noktada BIOS'un yerini almak için geliştirilmekte ve yeni bilgisayarların bazılarında kullanılmaktadır. EFI ile ilgili sonraki sayılarımızda bilgi vermeye çalışacağız. Bu yazımızda ayrıca GRUB, LILO, NTLDR gibi önyükleyici programlara ve işletim sistemlerinin iç yapılarına da değinmedik. Sonraki sayılarımızda bunları da ayrıntılı olarak ele alacağız. Şimdilik görüşmek üzere..