Önceki yazıda işlemcinin ilk çalışma anında işemcinin üreticisi tarafından belirlenmiş bir adrese gittiğini söylemiştik ve orda kalmıştık. "Peki bu adrete ne var" sorusuyla bırakmıştık. Bu adresin bir bios çipine map edildiğini biliyoruz. (Burada biosun kendi kodunu RAM üzerine kopyalaması, shadowing, bit twiddling gibi konuları atılıyorum detay için bakabilirsiniz ) Bu adreste işlemcinin çalıştıracağı ilk komut var. Şimdi bu komutu görelim ne iş yaptığına bakalım. Bunu görmenin bir kaç yolu var elbette ama ben mümkün olduğunca basit ve anlatılabilir olanı kullanacağım. Tersine mühendislik yaptığımızda kaynak kodla karşılaştırabilmemiz için bios firmware sizin için ulaşılabilir yani açık kaynak olmalı. Ben VirtualBox için ve Q emu için kaynak kodları karşılaştıracağım. Fiziksel makineniz içinde aynı durum söz konusu ise ulaşabiliyorsanız window üzerinde Physical Memory Viewer kullanarak yazıyı takip edebilirsiniz vey...
" Booting " kelimesi ile bilgisayarın başlatılması için kullanılan alışılmış bir terim. " Bootstrapping " kelimesinin kısa formu. " Bootstrap " sözlükte başkalarının yardımı olmadan kendi kendini idame ettirmek gibi bir kaç anlamı var ama buraya en uygun olanı şu olabilir: En az kaynakla bir şey yaratma, oluşturma, başlatma yaklaşımı. Bilgisayar terimi olarak, bir programı çalıştırmak için(genelde bir işletim sistemini veya mini bir çekirdeği) önce daha küçük bir program yükleyeme süreci. Boot süreci sonunda, kernel hafızaya yüklenir ve çalışmaya hazır hale gelir, önceliği yüksek programlar, başlangıç betikleri çalıştırılır ve sistem kullanıcılar için hazır hale getirilir. Aşağıdaki şemada bunun genel bir özetini görebilirsiniz: Bir bilgisayar en kaba tabirle; üzerindeki işlemcinin, hafızadaki(RAM) adreslerin içindeki ikili kodu, sırayla anlamlandırıp çalıştıran bir cihaz. Tanım basit ...