Home Index Search Links About Us
[LinuxFocus Image]
[Navegation Bar]
  Duyumlar   Belgelikler   Kurulu�lar  ���tler  

�ekirdek Gizemleri

Yazar: Emiliano Ariel Lesende

�eviri: T�lin �zg�n


Sunu�

Linux: Internet
��letim Sistemi

Ana �zelikler

�ekirde�in Derlenmesi

Sunu�

Linux �ekirdek s�rlar� ile ilgili yaz�lar serisinin ilkine ho�geldiniz. Muhtemelen daha �nceleri �ekirdek kaynaklar� ile ilgili pek �ok �ey �grendiniz. O zaman ba�lang��ta bir �ift 100-kb'l�k s�k�st�r�lm�s dosyan�n 2 milyondan fazla kaynak kod sat�r� i�eren ve bir s�r� 9 MB'l�k s�k��t�r�lm�� depolama yeri alan 300'den fazla dosyaya d�n��t���n� de farketmi�sinizdir.

Bu seri yeni ba�layanlar i�in de�il, usta programc�lar i�in tasarlanm��t�r. A��k�as�, okumakta serbestsiniz, ama yine de, yazar herhangi bir soruyu cevapland�rma ya da elektronik-posta ile g�ndermek i�in teredd�t etme konusunda elinden gelenin en iyisini yapacakt�r.

Her g�n yeni hatalar ke�fediliyor ve yeni yamalar bas�l�yor. Bug�nlerde bir b�t�n i�indeki kaynak kodu anlamak neredeyse imkans�z gibi bir �ey. Homojen bir kodlama stilini korumaya �al��an bir s�r� farkl� programc� taraf�ndan yaz�l�yor, ama asl�nda her biri di�erinden farkl�.

Linux: Internet ��letim Sistemi

Linux PC mimarisi ve di�erleri i�in serbest�e da��t�lan bir i�letim sistemi. POSIX 1003.1 standard� ile uyumlu ve Unix System V ile BSD 4.3'�n pek �ok �zelli�ini ta��yor. Bu serinin ele ald�g� Linux �ekirde�inin bir �ok esasl� k�sm� Finli bir bilgisayar m�hendisli�i ��rencisi olan Linus Torvalds taraf�ndan yazildi. �lk �ekirdek 1991 Kas�m'�nda serbest da��t�ma sunuldu.

Ana �zelikler

Linux, bug�nk� Unix-tabanl� bir i�letim sisteminin neredeyse t�m gereksinimlerini kar��lamaktad�r.

  • �ok G�revlilik

    Linux �ok g�revlili�i ger�ek anlamda destekler. T�m s�re�ler (prosesler) birbirinden bag�ms�zd�r. Hi�biri, bir di�er s�reci devreye sokmak i�in bir ba�kas�n� serbest b�rakmak zorunda de�ildir.

  • �ok Kullan�c� Eri�ilebilirli�i

    Linux sadece �ok kullan�c�l� bir i�letim sistemi de�ildir, �ok kullan�c� eri�imine de olanak tan�r. Linux, farkl� terminaller arac�l�g�yla bir makineye ba�lanm�� olan kullan�c�lar aras�nda ayn� sistem kaynaklar�n� payla�t�rabilir.

  • �ste�e G�re Y�klenen �al��t�r�labilirler

    Bir program�n sadece istenen k�s�mlar� �al��t�r�lmak �zere bellege y�klenebilir.

  • Bellek Sayfalama

    E�er sistem belle�i tamamen t�kenmi�se Linux, bellekten ayr�lm�� ve kat� teker (Hard Disk) �zerinde depolanm�� olan 4K-sieLinux entoncesd bellek sayfalar�n� arayacakt�r. E�er bu sayfalardan birine yeniden gereksinim duyulursa, Linux onu tekerden bellekteki orijinal yerine yeniden depolayacakt�r. Eski Unix sistemleri ve �u anki platformlardan baz�lar�nda, buna Microsoft Windows da dahil olmak �zere, anabellek ile kat� teker aras�nda bir de�i�toku� (swap) sa�lan�r. Yani bir bellek k�tl��� durumunda, bir s�rece ait olan bellek sayfalar� kat� teker �zerinde saklan�r, ama bu daha az etkin bir yap�d�r.

  • Dinamik Teker Tamponu

    MSDOS kullan�c�lar� disk tamponlama i�in ayr�lm�� sabit sistem bellek alan�na yer ay�ran bir program olan SmartDrive ile �al��maya al���kt�rlar. Bunun yerine Linux'un �ok daha dinamik bir disk tamponlama sistemi vard�r: tampon i�in ayr�lan bellek, ya bellek kullan�lmad�g� zaman geni�letilir ya da sistem veya kullan�c� i�lemleri daha �ok bellek istedi�inde daralt�l�r.

  • Payla��ml� Kitapl�klar

    Kitapl�klar veri i�lemek amac�yla programlar taraf�ndan kullan�lan yordamlar k�mesidir. Ayn� anda birden fazla i�lem taraf�ndan kullan�lan bir s�r� standart kitapl�k vard�r. Bu kitapl�klar, eski sistemlerdeki her bir �al��t�r�labilir dosyada yer al�r ve ayn� kitapl��� kulland��� yeni bir s�recin �al��t�r�ld��� her an fazladan belle�e y�klenerek daha fazla bellek alan� kaplar. Linux gibi modern sistemlerde payla��ml� kod sadece bir kez y�klenir ve onu kullanan t�m s�re�ler aras�nda payla��l�r.

  • Standart POSIX 1003.1 100% uyumlu. Bazi System V ve BSD �zellikleri destekleniyor.

    POSIX 1003.1 Unix i�letim sistemleri i�in standart bir arabirim tan�mlar. Bu arabirim, C yordamlar� k�mesi olarak a��klan�r ve �u anda t�m modern i�letim sistemleri taraf�ndan desteklenmektedir. Microsoft Windows NT POSIX 1003.1'e destek veriyor. Linux 1.2 POSIX ile 100% uyumlu. Buna ek olarak baz� System V ve BSD arabirimleri daha ileri d�zeyde uyumluluk i�in destekleniyor ya da uygulan�yor.

  • Birka� �al��t�r�labilir Dosya Format�

    Kim Linux alt�nda bir DOS, Windows95, FreeBSD ya da OS/2 uygulamas�n� �al��t�rmak istemez ki? ��te bu nedenle DOS, Windows ve Windows95 em�lat�rleri geli�tiriliyor. Linux ayr�ca iBCS2 (intel Binary Compatibility) standard� ile uyumlu di�er intel-tabanl� Unix platformlar�ndan olan ikili (binary) dosyalar� �al��t�rabilir.

  • Birka� Dosya Sistemi Format�

    Linux ciddi boyutlarda dosya sistemi format�n� destekler. Bug�nlerde en �ok kullan�lan dosya sistemi format� �kinci Geni�letilmi� Dosya Sistemi (Ext2)'dir. Desteklenen dosya sistemi formatlardan bir di�eri de DOS tabanl� sistemler taraf�ndan kullan�lan Dosya Yerle�tirim �izelgesi'dir (FAT), ama FAT tasar�m k�s�tlar�ndan dolay� g�venlik ve �ok kullan�c�l� eri�im icin hen�z haz�r de�ildir.

  • A�dabirle�tirim

    Linux herhangi bir yerel a�a eklenebilir. A�dabirle�tirilmi� Dosya Sistemi (NFS), uzaktan hesaba eri�im (telnet, rlogin), dial-up SLIP ve PPP gibi bir�ok Unix servisi desteklenir. Macintosh, Netware ve Windows'da dosya payla��m�n�,yaz�c�ya g�nderme dahil olmak �zere istemci ya da sunumcu olarak di�er a�lara da eklemek m�mk�nd�r.

  • 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.



© 1998 Miguel Angel Sepulveda
Bu sanal y�renin bak�m� Miguel A Sepulveda taraf�ndan yap�lmaktad�r..