Android hangi Linux tabanına dayanır ve "Linux çekirdeği" ne anlama gelir
Android, değiştirilmiş bir Linux çekirdeğine dayanır; bu tam teşekküllü bir dağıtım değil, donanım kaynaklarını yöneten ve mobil platform için düşük seviyeli hizmetler sağlayan uyarlanmış bir çekirdek (kernel) varyantıdır.
Android'de "Linux çekirdeği" nedir
Linux çekirdeği, işletim sisteminin en alt katmanıdır: işlemci, bellek, girdi-çıktı, sürücüler ve ağ yığınlarının yönetimi. Android, Linux çekirdeğinin kaynak kodunu kullanır ancak Google ve üreticiler belirli çipler, sensörler, enerji tasarrufu ve IPC (işlemler arası iletişim) için yamalar ve sürücüler ekler. Çekirdeğin üzerinde Bionic (Android'in standart C kütüphanesi), Android Runtime (ART) ve Java/Kotlin üzerindeki çerçeveler yer alır; bunlar platformu mobil hale getirir ve uygulamalar için optimize eder.
Çekirdek sürümünü Ayarlar → Telefon hakkında → Çekirdek sürümü bölümünden kontrol edebilirsiniz. Terminal/adb üzerinden — uname -r komutu kesin çekirdek sürümünü gösterecektir.
Android hangi çekirdek sürümleri üzerine inşa edildi
Yıllar boyunca Android farklı Linux çekirdek dallarına dayandı: erken sürümler (2008–2011) 2.6 dalında, ardından 3.x ve 4.x geldi, son yıllarda Android 5.x ve 6.x çekirdeklerini kullanıyor. Google upstream çekirdek ile senkronizasyonu sürdürüyor ve kendi değişikliklerini AOSP deposunda barındırıyor. Daha yeni sürümlerden başlayarak, çekirdeğe güvenlik iyileştirmeleri (SELinux), modüler güncelleme desteği (GKI) ve Rust'ta yazılmış modüllerin deneysel entegrasyonu ekleniyor.
Android'in "normal" Linux dağıtımından farkları
- Dağıtım değil: Kök dizinde GNU yardımcı program paketi yok (tipik /bin, /usr yerine); bunun yerine kendi dosya sistemi şeması var (/system, /data).
- Kullanıcı arayüzü: X11/Wayland yok; grafikleri SurfaceFlinger sağlıyor ve uygulamalar izinlerle korunan bir sanal alanda (sandbox) çalışıyor.
- Kütüphaneler ve kabuk: glibc yerine Bionic ve bash yerine mksh kullanılıyor.
- Bellek ve süreç yönetimi: Düşük Bellek Katili (Low Memory Killer) gibi mekanizmalar, arayüzün yanıt verebilirliği için RAM'i agresif şekilde serbest bırakmaya odaklanıyor.
- Güncellemeler ve uyumluluk: Project Treble ve GKI, farklı cihazlar için çekirdek ve sürücü güncellemelerini kolaylaştırıyor.
Gelecek: GKI ve Rust
Google, Generic Kernel Image (farklı cihazlar için tek bir çekirdek) yaklaşımını destekliyor; bu, desteği ve güvenlik güncellemelerini kolaylaştırıyor. Ayrıca, sürücü kodundaki güvenlik açıklarının sayısını azaltmak için çekirdeğe kademeli olarak Rust ile yazılmış modüller ekleniyor. Bu değişiklikler platformu daha dayanıklı ve güvenli hale getiriyor.
Sık yapılan hatalar
- "Linux çekirdeği" ile "Linux dağıtımı"nı karıştırmak — çekirdek tek başına kullanıcı yardımcı programlarını içermez.
- Android sürümü = çekirdek sürümü olduğunu beklemek — bunlar farklı şeylerdir; bir Android sürümü birden fazla çekirdek dalı kullanabilir.
- Root erişimi çekirdeği "yeniden yazmaz" — yetkiler verir ancak çekirdeği değiştirmek için özel firmware/yazılım veya custom kernel kurulumu gerekir.
SSS
- Telefonumun hangi çekirdek sürümüne sahip olduğunu nasıl öğrenebilirim?
- Ayarlar → Telefon hakkında → Çekirdek sürümü bölümünden veya adb/terminal üzerinden uname -r komutuyla.
- Android'de çekirdeği değiştirebilir miyim?
- Evet, teknik olarak mümkündür (custom kernel'ler), ancak bu bootloader kilidini açmayı gerektirir, garantiyi riske atar ve kararlılığı etkileyebilir.
- Neden Google Android'i "normal" bir Linux dağıtımı yapmıyor?
- Mobil cihazların enerji tüketimi, güvenlik ve bellek yönetimi açısından farklı gereksinimleri vardır; bu nedenle çekirdek üzerinde özelleştirilmiş bir yığın gerekir.