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 [email protected] adresine
g�nderebilirsiniz.
Daha �ok Bilgi ��in::
- Kernel-HOWTO'ya bakabilirsiniz.