Linux Kernel(Çekirdek) #LinuxKulübü

TheHacker4

Katılımcı Üye
25 Ağu 2010
645
1
Eskişehir
bemKb8.jpg




Kernel(Çekirdek) Nedir?


İşletim sistemi ile donanımlar arasındaki iletişimi sağlayan bilgisayar yazılımsal parçacığı'na denir.Çekirdeğin bir köprü olması onun en temel görevidir. Bunun dışında CPU soyutlama, IO(giris/ cıkıs)’ları Soyutlama ve Ağ merkezi görevleri vardır.

hp9V8N.png


CPU Soyutlama

Linux çekirdeği sistemimizde bulunan işlemciye bir soyutlama katmanı katar. Bu sayede bir çok program eş zamanlı çalışıyormuş gibi gözükür. Programların ihtiyacı olduğu kadar işlemciden yararlanmasını çekirdek sağlar.

Eğer bir linux sistemi üzerindeyseniz iki tür çekirdekten birini kullanıyorsunuzdur. UP ve SMP. UP tek işlemcili SMP ise simetrik çok işlemcili bir çekirdektir.Eğer UP anakarta sahip ve SMP çekirdek kullanıyorsanız. Sisteminiz birçok işlemciden haberdar olmayacaktır. Bu sorunu gidermek için de bir UP çekirdek derlemelisiniz.

IO(Giris/Cıkış)’ları Soyutlama


Çekirdek aynı zamanda her türlü dosya girdi çıktı soyutlama görevini de yapar. Disk kontrolorlerinizi değiştirdiğiniz takdirde programlarınız çalışmayacaktır. İşte bu yüzden Linux çekirdeği programların kullanabileceği Unix modüller kullanmaktadırlar.

Ağ Merkezi

Güçlü bir ağ yapısı ve TCP/IP desteği vardır. Çekirdek uyumlu, yüksek seviyeli bir arabirim ile ağ üzerinden veri gönderilmesini ve alınmasını sağlar.Ayrıca sizin ethernet kartınız ile internet iletişimi sağlar.Linux çekirdeği ile evinizdeki bütün ağı modem üzerinden konfigüre edebilirsiniz.

TyS6CL.png

Kernel(Çekirdek) Çeşitleri Nelerdir?


Tek Parçalı Çekirdek (Monolithic Kernel)

rKfXGl.png


Sistem performansını artırmak için tüm işletim sistemi görevlerinin tek çekirdek alanında yürütüldüğü bir çekirdek mimarisidir.

Monolitik kernel içindeki herhangi bir yapı da hata meydana gelirse, bu hatadan tüm sistem etkilenir.

Mikro Çekirdek (Microkernel)

S27aTE.png


Mikro çekirdek, işletim sistemi hizmetlerinin kullanıcı alanında (user space) ayrı ayrı yürütüldüğü bir çekirdek mimarisidir.

Bellek yönetimi, kayıt ortamı yönetimi, sürücüler ve ağ ile ilgili çok sayıda süreç birbirleriyle iletişim kurarak haberleşir. Bu sayede; bir parçadaki hata diğer parçaları etkilemez.

Melez Çekirdek (Hybrid Kernel)

9lKpxe.png


Monolitik ve mikro çekirdeğin birleşiminden oluşmaktadır. Günümüzde çoğu işletim sistemi çekirdeği melez yapıdadır.

Bir çok sürücü ve iletişim birimleri çekirdeğe gömülüdür. Bir güncelleme veya yeni bir bileşen yüklendiğinde yeniden derleme gerektirmez.

Dış Çekirdek (Exokernel)

IM6IGA.png


Ekzo çekirdek, uygulama geliştiricileri için donanım sürücülerini aradan kaldırarak donanıma doğrudan erişim sunan bir işletim sistemi çekirdeği mimarisidir.

Bellek ve süreç yönetimi gibi temel işlevler dışında tek yaptığı şey, donanımların arayüzlerini güvenli bir biçimde çoklayarak (multiplexing) kullanıcı seviyesi uygulamalara sunmaktır (exposing).

TyS6CL.png

Linux Kernel(Çekirdek)Nedir?

Linux işletim sisteminin çekirdeğinin diğer işletim sistemlerinin pek çoğundan farkı, çekirdek kaynak kodunun GPL (GENERAL PUBLIC LICENSE) lisansı altında açık kaynak kodlu, diğer bir deyişle isteyen herkes tarafından yapılandırılabilir, hatta daha üst düzey kullanıcılar için değiştirilebilir olmasıdır.

1990'lı yılların başlarında Finlandiya da University of Helsinky'de Linus Torwalds adlı üniversite öğrencisi tarafından Linux işletim sisteminin temeli olan Minix işletim sistemi 0.01 sürümü ile duyuruldu. 5 Ekim 1991 yılında Linus Torwalds ilk resmi Linux sürümünü 0.02 sürüm numarası ile ilan etti. İlk Linux işletim sistemi sadece bash kabuk programı ve gcc C derleyicisini çalıştırmak dışında bir özelliğe sahip değildi. Fakat bugün, katettiği inanılmaz yolla hem UNIX, hem Windows işletim sistemlerinde yapılabilecek pek çok işlemi gerçekleştirebilir konuma geldi.

Birçok işletim sisteminde olduğu gibi Linux işletim sisteminin çekirdeği ağırlıklı olarak C ve belli bir oranda da makina dilinde (Assably) yazılmıştır. Linux işletim sisteminin en büyük avantajlarından biri UNIX sistemlerinde olan POSIX uyumluluğunun sağlıyor olmasıdır. Bu durum Linux'un gelişmesinde önemli rol oynamaktadır.

GNU/Linux işletim sistemiyle çalışan bir bilgisayarda Linux çekirdeği sürümünü öğrenmek için, komut satırına

LpFsWz.png


şeklinde yazarız arkadaşlar.

TyS6CL.png

Linux çekirdeği devamlı geliştirilen bir çekirdekdir. Linux çekirdeğinin sürümleri üç sayı ile belirtilir. (Örnek : 1.2.3). Bu sayılar aşağıdaki şekilde adlandırılır.

#Ana (major) sürüm numarası

#Küçük (minor) sürüm numarası

#Yama seviyesi

Örneğin 1.2.3 sürümlü linux çekirdeğinde , ana sürüm numarası 1 , küçük sürüm numarası 2 , yama seyivesi 3'dür

-Ana sürüm numarası birkaç yılda bir değişen bir numaradır. Çekirdek yapısı çoğunlukla her ana sürümde bir birinden farklı olabilmektedir. Bu sebepten dolayı daha önceki ana sürüm ile çalışacak şekilde ayarlanmış programların gözden geçirilmesi ve düzeltimesi gerekebilir.

-Küçük sürüm numaraları daha sık olarak değişmektedir. Küçük sürüm numarası aynı zamanda çekirdeğin kararlı (stable) sürüm ve ya geliştirme (development) sürümü olduğunu belirlemek için kullanılır. Küçük sürüm numarası çift ise çekirdek kararlı sürüm , tek ise çekirdek geliştirme sürümüdür. Geliştirme sürümleri , çekirdeğe yeni özellikler eklemek için kullanılırlar. Özellikle uygulama ortamlarında kararlı sürümlerin kullanılması önerilmektedir.

-Yama seviyesi , çekirdekde bulunan hataların giderilmesi veya iyileştirmeler sonucu yapılan ufak değişikliklerle ortaya çıkan çekirdekleri belirtmek için kullanılır. Bazı zamanlarda bir hafta içinde birden fazla yama seviyesi değişebilmektedir.

TyS6CL.png

Linux Kernel(Çekirdek) Desteklenen Mimariler

#Alpha
#Analog Devices (Blackfin)
#ARM
#Atmel AVR32
#Axis Etrax CRIS
#Texas TMS320 DSP Ailesi
#Motorola 68K
#Fujitsu FR-V
#Qualcomm Hexagon
#Hewlett-Packard PA-RISC
#Renesas (Hitachi) H8
#IBM 31bit System/390 ve 64bit Z Mainframe
#Intel IA-64 Itanium
#x86, Mitsubishi M32R
#Xilinx Microblaze
#MIPS, Panasonic MN103
#Open RISC
#Power (IBM)
#PowerPC
#Sparc 32 Bit
#Ultra Sparc 64 bit
#SuperH
#Synopsys
#S+core
#Tilera
#Xtensa
#Unicore32

TyS6CL.png

Kernel Tipleri

Linux çekirdeği ilk olarak ortaya çıktığında tek dosyadan oluşan bir yapıya sahipti.Günümüzdeki linux çekirdekleri ise modül adı verilen bir kaç dosyadan oluşabilmektedir.

Tek dosyadan oluşan işletim sistemi çekirdekleri monolithic çekirdek olarak adlandırılır. Mödül kullanımına izin veren çekirdekler ise modüler (modular) çekirdek olarak adlandırılır.

Modüler linux çekirdeklerine gerekli destekler çalışma anında eklenebilir ve çıkartılabilirler. Bu seçenek monolithic çekirdeklerde bulunmamaktadır.

Monolithic çekirdekler çoğunlukla daha hızlı ve daha güvenlidirler. Modüler çekirdekler sayesinde ise daha esnek bir yapı elde edilir. Red Hat Linux dağıtımları ile birlikte gelen linux çekirdeği modüler bir çekirdektir.

TyS6CL.png

Linux’ da kernel /boot/vmlinuz-* altına kurulur.

I4Lz9W.png

Kernel Modulleri

Moduller, eklenebilir veya devre disi birakilabilinir kucuk cekirdek uzantilaridir. Moduller surucuye(driver), dosya sistemine (filesystem) vb uygulanabilir. Modüllerin işletim sistemindeki yeri /lib/modules/$(uname -r) dizinidir. $(uname -r) ile belirtilen sizin kernelinizin versiyon bilgisidir.

Ii0YRd.png


Kod:
[COLOR="yellow"]#[/COLOR]lsmod

Yuklenmis moduller hakkinda bilgi verir. lsmod komutunu parametre vermeden calistirdiginizda sistemde yuklu olan modulleri gorebilirsiniz:

IJasjd.png


Kod:
[COLOR="yellow"]#[/COLOR]lsmod | grep (modül)

lsmod’ u grep ile kullandigimiz taktirde grep’ e parametre olarak hangi modulu verdiysek sadece o modul ile ilgili bilgilere ulasabiliriz.

TCvpuP.png


TyS6CL.png

Kod:
[COLOR="yellow"]#[/COLOR]modprobe (modül)

Bu komut araciligi ile modul yukleyebilirsiniz.Insmod komutundan farklı olarak modprobe komutu modul yuklerken meydana gelen bagimlilik durumlarinda bagilmli olan paketleri de otomatik kurar.

Örnek vermek gerekirse modülümüzü kuruyoruz.

DA8kgU.png


Silmek içinde bu kodu yazıyoruz.
Kod:
[COLOR="yellow"]#[/COLOR]modprobe -r modül

nOhjw9.png


Evet arkadaşlar grep yaptım ama bu modülü kaldırdığımız için getirmedi.

TyS6CL.png

Kod:
[COLOR="yellow"]#[/COLOR]Modinfo

Modul hakkinda detayli bilgi almamiza yardimci olur

GLTUm0.png


Evet arkadaşlar konumuzun sonuna geldik ps bilgim olmadığı için bazı resimleri paint üzerinde yapmak zorunda kaldım konu özgün olsun diye bunun için kusura bakmayın. :)
 

Çisom

Katılımcı Üye
4 Nis 2016
389
6
GirdinAklıma
Eline sağlık Linux klübünden isteğim andro ratı server olarak yazıp kalıcı bağlantı sağlamak için kodlama yapmaları isteğim uzun zamandır bekletiliyor başarabilirsiniz ekip.
 

TheHacker4

Katılımcı Üye
25 Ağu 2010
645
1
Eskişehir
Eline sağlık Linux klübünden isteğim andro ratı server olarak yazıp kalıcı bağlantı sağlamak için kodlama yapmaları isteğim uzun zamandır bekletiliyor başarabilirsiniz ekip.

Ellerine sağlık. Başarılı çalışma :)



Değerli yorumlarınız için teşekkür ederim :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.