System V IPC
           Linux bu teknolojiyi süreçler arası ileti sıralaması, 
           semaforlar ve paylaşımlı bellek sağlamak amacıyla kullanır.
           
	     
           Çekirdeğin Derlenmesi
           Çekirdeğin kendisini çalışmadan önce çekirdeğin kaynak koduna 
           bakalım. 
           Kaynak Ağaç Yapısı: 
           Linux çekirdek kaynakları genel olarak /usr/src/linux 
           dizini altında yer alır, bu nedenle bu yerleşimi taban alarak 
           diğer dizinlere göreceli olarak değineceğiz. Intel olmayan 
           mimarilere aktarımın bir sonucu olarak 1.0 sürümünden sonra 
           çekirdek ağacı değiştirilmiştir. Mimariye bağımlı kod arch/ 
           dizini altındadır. Intel 386, 486, Pentium ve Pentium Pro 
           işlemcileri için olan kod arch/i386 altındadır. arch/mips 
           dizini MIPS-tabanlı sistemler, arch/sparc Sun Sparc-tabanlı 
           platformlar , arch/ppc PowerPC/Powermacintosh 
           sistemleri içindir. Linux'la kullanımı en yaygın olan Intel 
           mimarisi olduğundan onun üzerinde yoğunlaşacağız.
           
           Linux çekirdeği sadece standart bir C programıdır aslında. 
           Yalnızca iki önemli farklılık vardır. C dilinde yazılan programların 
           başlangıç noktası main(int argc,char **argv) yordamıdır. 
           Linux çekirdeği start_kernel(void) kullanır. Sistem başlarken ve 
           çekirdek yüklenecekken daha program çevresi mevcut değildir. Yani 
           ilk C yordamı çağrılmadan önce bir kaç şey daha yapılmalıdır. Bu 
           işi gerçekleştiren donanım kodu arch/i386/asm/ dizini 
           altında yer alır.
           Assembler dili yordamı çekirdeği tam olarak 0x100000 (1 Mbyte) 
           bellek adresine yükler, ardından da başlatma süreci esnasında 
           dışlamalı olarak kullanılan kesme hizmet yordamlarını (interrupt 
           servicing routines), genel dosya tanımlayıcı çizelgeleri (global 
           file descriptor tables) ve kesme tanımlayıcı çizelgeleri 
           (interrupt descriptor tables) yükler. Bu noktada islemci korunumlu 
           moda girer. Çekirdeği başlatmak icin gereksiniminiz olan her şey 
           init& dizini altındadır. Burası çekirdeği doğru düzgün 
           başlatmakla görevlendirilmiş, geçirilen tüm açılış (boot) 
           parametrelerini dikkate alan start_kernel()yordamıdır. İlk 
           süreç sistem çağrıları kullanılmadan oluşturulur (daha henüz 
           sistemin kendisi yüklenmemiştir). Bu diğer süreçlerden biri 
           kullanmadıgı zaman işlemci zamanını kullanan ünlü başıboş 
           süreçtir.
           kernel/ ve arch/i386/kernel/ dizinleri, 
           erişimyolu (path) isimleriyle birlikte olmak üzere, çekirdegin 
           ana kısımlarını kapsar. İşte burada ana sistem çağrıları vardır. 
           Zaman yürütücüsü, zaman programlayıcı (scheduler), doğrudan 
           bellek ulaşim (DMA) yöneticisi, kesme yürütücüsü ve sinyal 
           denetleyicisi dahil olmak üzere diğer işler gerçekleştirilir.
           Sistem belleğini yürüten kod mm/ ve arch/i386/mm/ 
           içerisindedir. Bu alan bellek atanması ve işlemlerin serbest 
           bırakılması için ayrılmıştır. Bellek sayfalama da burada yapılır.
           
           Sanal Dosya Sistemi (vfs) fs/ dizini altındadır. 
           Desteklenen farklı dosya sistemi formatları sırayla farklı 
           altdizinlere yerleştirilir.  En önemli dosya sistemleri Ext2 
           ve Proc'tur. Daha sonra bunlara ayrıntılı olarak değinecegiz. 
           
 
           Tüm işletim sistemlerinde donanım bileşenleri için bir 
           sürücüler kümesine gereksinim duyulur. Linux çekirdeğinde bunlar 
           drivers/ altında yer alırlar. 
 
           ipc/ altında System V IPC'nin Linux uyarlamasını 
           bulacaksınız.
           Birkaç ağ  protokolu, soketler ve internet yöresi için uygulama 
           kaynak kodu net/ altında bulunmaktadır.
           Bazı standart C yordamları, çekirdeğin kendisine de C 
           programlama alışkanlıklarını edinme şansını verecek şekilde 
           lib/ altında yürütülür. 
           Çekirdeğin derlenmesi sırasında oluşan yüklenebilir modüller 
           modules/ altında saklanır, ama burası ilk çekirdek 
           derleme işlemi yapılıncaya kadar boştur. 
           Belki de programcılar tarafından en çok kullanılan dizin 
           include/ dizinidir.  Burada çekirdek tarafından özel 
           olarak kullanılan tüm C başlık dosyalarını bulacaksınız. Intel 
           platformlarına özgü çekirdek başlık dosyaları 
           include/asm-386/  altındadır.
        
            
            
       
           Derleme: Yeni bir çekirdek temel olarak üc adımda 
           oluşturulur:
- Herşeyden önce, "make config", "make menuconfig" ya da  "make xconfig" 
(aynı konfigürasyon aşaması için farklı arabirimler) ile çekirdek 
düzenlenebilir seçeneklerini konfigure etme. 
- Ardından tüm kaynak kod bagımlılıkları "make depend" ile yeniden düzenlenir.
- Ve sonra da  "make"  ile gerçek çekirdek derleme işlemi gerçekleştirilir. 
Gelecek yazılarda bu yaziımların geri plan ayrıntıları ve yeni 
konfigürasyon seçeneklerini tanıtırken onları nasıl değiştireceğimiz 
üzerinde duracağız. 
Umarim bu yazıyı okurken zevk almışsınızdır. Her türlü yorumlarınızı, 
önerilerinizi ve eleştirilerinizi  elesende@nextwork.net  adresine 
gönderebilirsiniz. 
    Daha Çok Bilgi İçin::
    
      - Kernel-HOWTO'ya bakabilirsiniz.