Android Nasıl Yapılandırılmıştır ve Nasıl Çalışır
Android, donanım kaynaklarını yöneten, uygulamaları (APK) çalıştıran, bunları sanal alanlarda izole eden ve modüler olarak güncellenen Linux çekirdeği tabanlı bir mobil işletim sistemidir; bu sayede akıllı telefonlar pili tasarruflu kullanabilir, güvenliği sağlayabilir ve arka plan görevlerini yürütebilir. Aşağıda kısaca ve öz olarak: sistemin bileşenleri, uygulamaların nasıl başlatıldığı ve telefonun daha hızlı ve güvenli çalışması için neler yapılması gerektiği anlatılmaktadır.
Mimari: Temel Bileşenler ve Rolleri
- Çekirdek (Linux Kernel): Sürücüler, kaynak yönetimi, düşük seviyeli güvenlik. CPU, bellek, ağ ve giriş/çıkış cihazlarından sorumludur.
- HAL (Hardware Abstraction Layer - Donanım Soyutlama Katmanı): Donanıma yönelik tek tip arayüz — uygulama geliştiricilerinin belirli sürücülerle çalışmasına gerek kalmaz.
- ART (Android Runtime): Uygulamaları yürütür ve derler. ART, başlatma hızı ve kod boyutu dengesi için AOT ve JIT derlemesini kullanır.
- Uygulama Çerçevesi (Framework): UI, bildirimler, multimedya, konum belirleme vb. için API'ler.
- Sistem Hizmetleri: System Server, Package Manager, Activity Manager — bunlar uygulamaların yaşam döngüsünü, izinleri ve güncellemeleri yönetir.
- Google Hizmetleri ve AOSP: Android'in temeli open-source'dur (AOSP), ancak birçok cihaz ek özel mülkiyet hizmetleri (Play Store, senkronizasyon) kullanır.
Android, açıklığı (AOSP) ile işlevsellik ekleyen ancak işletim sisteminin çalışması için zorunlu olmayan isteğe bağlı hizmetleri birleştirir.
Android Uygulamaları Nasıl İşler ve Başlatır
- Format ve Kurulum
- Uygulamalar APK veya AAB (paket) halinde paketlenir, imzalanır ve /data/app dizinine kurulur.
- Başlatma
- Zygote — yeni uygulamalar için "fork" edilen önceden yüklenmiş bir süreçtir, başlangıcı hızlandırır.
- Activity Manager süreci oluşturur, ART bytecode'u yürütür, SurfaceFlinger ve GPU grafikleri görüntüler.
- Yaşam Döngüsü ve Bellek Yönetimi
- Durumlar: foreground → visible → background → cached/killed. RAM yetersiz kaldığında System Server, LRU algoritmasına göre en düşük öncelikli süreçleri sonlandırır.
- Süreçler Arası İletişim (IPC)
- Binder, uygulamalar ve hizmetler arasında güvenli veri alışverişini sağlar; Intent ve AIDL, çağrılar ve veri aktarımı için üst düzey araçlardır.
Geliştiriciler için: Asenkron görevler için Kotlin Coroutines kullanın — bu, kod karmaşıklığını azaltır ve ağ/arka plan görevlerinde enerji tüketimini düşürebilir.
Güvenlik: Verilerinizi Ne Korur
Android birkaç koruma katmanı uygular:
| Mekanizma | Ne Yapar | Pratik Örnek |
|---|---|---|
| Sanal Alan (UID) | Uygulamaları birbirinden izole eder | Uygulama, izin olmadan diğer uygulamaların dosyalarını göremez |
| SELinux | Çekirdek seviyesinde zorunlu erişim politikası | Yetkisiz sistem kaynağı erişimlerini engeller |
| İzinler (Permissions) | Kamera, konum, kişilere erişim istekleri | Uygulama, açık rıza olmadan kişilere erişemez |
| Verified Boot | Önyükleme sırasında imaj bütünlüğünü doğrular | Yazılımın değiştirilmesine karşı koruma |
| Scoped Storage | Dosya sistemine erişimi kısıtlar | Fotoğraflar/dosyalara yalnızca izinle erişilebilir |
Sistem ve güvenlik güncellemelerini ihmal etmeyin: Açıkların çoğu yamalarla kapatılır, güncellemelerin kurulumundaki gecikme riski artırır.
Performans ve Enerji Tasarrufu: Nasıl Çalışır ve Ne Yapmalı
- Doze ve App Standby: Ekran uzun süre hareketsiz kaldığında Android, arka plan görevlerini kısıtlayarak enerji tüketimini azaltır.
- Adaptive Battery (ML): Sistem, hangi uygulamaları kullandığınızı öğrenir ve kaynaklara öncelik verir.
- Project Mainline: Mağaza üzerinden modüler güncellemeler, önemli bileşenlerin tam yazılım yüklemeden güncellenmesini sağlar. Pratik ipuçları:
- Sistem ve nadir kullanılan uygulamaların önbelleğini ayda bir temizleyin.
- Nadir kullanılan uygulamalar için otomatik başlatmayı ve arka plan izinlerini kısıtlayın.
- Uygulamaların "Lite" sürümlerini ve dahili enerji tasarrufu araçlarını kullanın.
Sistemin Avantajları ve Dezavantajları
Artıları:
- Esneklik: Özelleştirme, sideload, geniş yazılım yelpazesi.
- Geniş cihaz ve uygulama ekosistemi. Eksileri:
- Güncelleme parçalanması: Tüm cihazlar yeni yazılım sürümlerini aynı anda almaz.
- Farklı üreticiler arasında destek farklılığı.
Sık Yapılan Hatalar
- Güvenlik güncellemelerini zamanında kurmamak.
- Uygulamalara kontrol etmeden gereksiz izinler vermek (kamera/kişiler).
- Bilinmeyen kaynaklardan APK kurmak — kötü amaçlı yazılım riski.
- Tüm uygulamalar için otomatik senkronizasyonu açık bırakmak — pil ve veri trafiği tüketimini artırır.
SSS
- Android ve güvenlik sürümünü nasıl görürüm?
- Ayarlar > Telefon Hakkında (veya Sistem > Yazılım Bilgisi) — burada OS sürümü ve güvenlik yaması seviyesi yer alır.
- AOSP nedir?
- Android Open Source Project — özel mülkiyet hizmetleri olmadan Android'in temel açık kaynak kodu.
- Uygulama neden arka planda "sonlandırılıyor"?
- Sistem, önceliklere göre (LRU) bellek ve kaynakları serbest bırakır; uygulamanın foreground hizmeti veya arka plan işlemleri için izni olmayabilir.
- Uygulama başlatmayı nasıl hızlandırırım?
- Sistemi ve uygulamaları güncelleyin, hızlı depolama birimleri (UFS) kullanın, otomatik yüklemeyi kısıtlayın ve ağır widget'ları kaldırın.
Yeni başlayanlar için: Ayarlar > Telefon Hakkında bölümünü açın, güvenlik seviyesini ve güncellemeleri kontrol edin, ardından yüklü uygulamaların izinlerini gözden geçirip gereksiz olanları devre dışı bırakın. Bu, cihazın gizliliğinde ve pil ömründe görünür bir artış sağlayacaktır.