ANDROID İŞLETİM SİSTEMİ

Android robot mascot logosu ve katmanlı işletim sistemi mimari diyagramı yan yana kolaj kompozisyon

Cebinizdeki telefonun arkasında çalışan şey aslında bir Linux. 2008'de HTC Dream ile piyasaya çıkan Android, bugün dünya genelinde mobil pazarın yaklaşık yüzde yetmişine hakim. Üzerine binmiş Java tabanlı uygulama katmanı, üreticilerin kendi arayüzleri ve Google'ın servis paketi onu sıradan bir Linux dağıtımı olmaktan çıkardı. Aşağıda Android'in altında ne olduğunu, hangi katmanların nasıl çalıştığını ve neden bu kadar bölünmüş bir ekosistem ürettiğini ele alıyoruz.

Android Nedir ve Nasıl Ortaya Çıktı?

Android başlangıçta bir mobil işletim sistemi olarak tasarlanmadı. 2003'te Andy Rubin, Rich Miner, Nick Sears ve Chris White'ın kurduğu Android Inc., aslında dijital fotoğraf makineleri için yazılım geliştiriyordu. Pazarın küçük olduğunu görünce hedef mobil telefonlara kaydırıldı. 2005'te Google şirketi satın aldı ve geliştirme süreci sessizce devam etti. İlk Android destekli cihaz, HTC Dream (T-Mobile G1) Ekim 2008'de piyasaya çıktı; fiziksel klavyesi, trackball'u ve 3.2 inçlik dokunmatik ekranıyla bugünün cam plaka tasarımına hiç benzemiyordu.

Bugün Android, smartphone'un yanı sıra tablet, akıllı saat (Wear OS), televizyon (Android TV), otomobil multimedya sistemi (Android Auto, Android Automotive) ve çeşitli IoT cihazlarında çalışıyor. Ocak 2025 verilerine göre küresel mobil işletim sistemi pazarında yüzde 69,88 paya sahip; geri kalanın büyük çoğunluğu iOS.

Android Mimarisi Hangi Katmanlardan Oluşur?

Android'i anlamanın en sade yolu onu bir pasta gibi katmanlara ayırmak. En altta donanım, en üstte kullanıcının dokunduğu uygulama var. Aradaki katmanlar şu sırayla dizilir:

  • Linux Kernel — bellek, süreç, sürücü, güç yönetimi
  • HAL (Hardware Abstraction Layer) — kamera, ses, sensör, Bluetooth donanım soyutlaması
  • Native C/C++ kütüphaneleri — SQLite, OpenGL ES, Skia, WebKit, libc (Bionic)
  • Android Runtime (ART) — uygulamaların çalıştığı Java tabanlı sanal makine
  • Java API Framework — Activity Manager, View System, Content Providers, Notification Manager
  • System Apps — arama, takvim, ayarlar, telefon, mesajlar

Bir uygulama ekranınızda açıldığında bu altı katmanın hepsi devreye girer. Parmağınız ekrana değdiğinde sinyali HAL üzerinden kernel okur, framework'e iletir, framework uygulamanın ilgili event handler'ını tetikler, ART bunu derlenmiş bytecode olarak yorumlar. Kullanıcı için tek bir dokunuş, sistem için tam bir orkestrasyon. Bu katmanlı mimari, donanım üreticilerinin alt katmanlara müdahale edip uygulama geliştiricilerin üst katmanda tek API ile çalışmasına olanak verir.

Android işletim sistemi katmanlı mimarisi diyagramı: Linux çekirdeği HAL native kütüphaneler ART runtime framework ve uygulama katmanları

Linux Çekirdeği ve HAL Katmanı

Android, modifiye edilmiş bir Linux çekirdeği üzerinde çalışır. İlk sürümlerde kernel 2.6 kullanılıyordu; Android 4.x ile 3.x serisine, Android 11'den itibaren 4.14, 4.19 ve 5.4 sürümlerine geçildi. Google ana akım Linux çekirdeğine bazı eklemeler yaptı: wakelocks (güç yönetimi), Binder IPC (süreçler arası iletişim), low-memory killer (RAM kıt cihazlar için), Ashmem (paylaşımlı bellek). Bu eklentilerin önemli bölümü zamanla upstream Linux'a geri katıldı.

Kernel'in tek başına bir akıllı telefonu yönetmesi mümkün değil çünkü her üretici farklı sensör, farklı kamera modülü, farklı modem yongası kullanıyor. HAL bu noktada devreye girer: framework üst katmandan standart bir arayüz görür, alttaki kendine özgü donanımla nasıl konuşulacağı HAL implementasyonunda saklıdır. Samsung'un Galaxy S serisindeki kamera ile Pixel'deki kamera farklı sensörler kullansa da geliştiricinin yazdığı CameraManager kodu ikisinde de aynı çalışır.

Android 8'de gelen Project Treble ile HAL, sistem partisyonundan ayrıldı. Üretici bileşenleri ile sistem yazılımı birbirinden bağımsız güncellenebilir hâle geldi; bu da OS güncellemelerinin daha hızlı yayılması için kritik bir adımdı. Kernel ve düşük seviyeli sistem yönetimini detaylı görmek isteyenler için uygulamalı bir Linux öğrenme programı Android'in altyapısını anlamak açısından oldukça pratik bir çıkış noktası sağlar.

ART Runtime ve Uygulama Yaşam Döngüsü

Android uygulamaları çoğunlukla Java veya Kotlin ile yazılır, derlendiğinde standart JVM bytecode'una değil DEX (Dalvik Executable) formatına dönüşür. Android 5.0 öncesinde Dalvik adlı sanal makine bu DEX dosyalarını yorumlardı; her uygulama açılışında JIT (just-in-time) derleme yapardı. Lollipop ile gelen ART runtime, AOT (ahead-of-time) derlemeyle uygulama kurulurken makine koduna çevirme yaklaşımını getirdi. Android 7 sonrasında hibrit bir model kullanılıyor: kurulumda hızlı bir AOT, kullanıcı davranışına göre arka planda profile-guided optimization.

Bir Android uygulamasının yaşam döngüsünde dört temel bileşen vardır:

  1. Activity — tek bir kullanıcı ekranı, örneğin "kişi düzenle"
  2. Service — arka planda çalışan iş, örneğin müzik çalar
  3. Broadcast Receiver — sistem olaylarına tepki, örneğin pil zayıf
  4. Content Provider — uygulamalar arası veri paylaşımı, örneğin rehber okuma

Sistem RAM'i azaldığında uygulamaları ekrandaki görünürlüğüne göre öldürür. Açık olan Activity en sona, arka planda iş yapmayan servisler en başa düşer. Geliştirici onPause, onStop, onDestroy gibi yaşam döngüsü metotlarını doğru implemente etmezse veri kaybı yaşanır. Mobil tarafta uygulama geliştirmeye odaklananlar için Android Kotlin eğitim programı hem dil hem framework tarafını birlikte ele aldığı için pratik bir başlangıç noktasıdır.

AOSP, Google Play Servisleri ve Üretici Çatallanması

Android'in kafa karıştırıcı yanı burada başlar. AOSP (Android Open Source Project) Google'ın yönettiği, Apache 2.0 lisansı altında dağıtılan açık kaynak kod tabanıdır. Herkes indirip kendi cihazına derleyebilir; LineageOS, GrapheneOS, /e/OS gibi alternatif dağıtımlar bunun üzerine kuruludur. Ancak çoğu kullanıcının "Android" diye bildiği şey saf AOSP değil, Google Play Services ile birlikte gelen bir pakettir.

Google Play Services kapalı kaynaktır ve push notification (FCM), konum servisleri (Fused Location), Google Maps, ödeme (Google Pay), kimlik doğrulama (SafetyNet/Play Integrity), Play Store gibi servisleri tek bir paket olarak sunar. Üreticinin bu paketi cihazına dahil edebilmesi için Google ile lisans anlaşması (GMS) imzalaması gerekir. Huawei'nin 2019 sonrası modelleri tam da bu nedenle Play Services'sız çıkar; HMS (Huawei Mobile Services) bu boşluğu doldurmaya çalışır.

Üreticiler AOSP üzerine kendi katmanlarını ekler:

  • Samsung One UI — Galaxy serisi
  • Xiaomi HyperOS — eski adıyla MIUI
  • OPPO ColorOS ve OnePlus OxygenOS
  • Google Pixel UI — AOSP'ye en yakın versiyon

Aynı Android sürüm numarası bu cihazlarda farklı görünür, farklı davranır, farklı uygulamalar yüklü gelir. Geliştiriciler için bu çatallanma, test matrisini katlayan bir gerçekliktir.

Android Open Source Project AOSP ve Google Play Services ile üretici özelleştirme katmanlarının ekosistem haritası

Güvenlik Modeli ve Güncelleme Sorunu

Android güvenlik modeli, Linux'un çok kullanıcı izolasyonu üzerine kuruludur. Her uygulama farklı bir Linux kullanıcısı altında çalıştırılır ve sandbox içindedir; başka bir uygulamanın belleğine veya dosyalarına doğrudan erişemez. İletişim için Binder IPC, dosya paylaşımı için Content Provider gibi denetlenebilir kanallar zorunludur. İzinler iki kategoride toplanır: normal izinler (yükleme sırasında otomatik) ve runtime izinler (konum, kamera, mikrofon, rehber gibi hassas erişim için çalışma zamanında onay).

Android 6 ile gelen runtime izin modeli, Android 10 ile arka plan konum izninin ayrılması, Android 11 ile tek seferlik izin, Android 12 ile mikrofon/kamera durum göstergesi, Android 13 ile bildirim izninin opt-in olması — her sürüm güvenliği biraz daha sıkılaştırdı.

Ana problem güncellemelerin yayılma hızı. Apple iOS'ta yeni sürüm aynı gün milyarlarca cihaza ulaşırken Android'de zincir uzundur: Google sürümü yayınlar → üretici kendi katmanını uyarlar → operatör onaylar → kullanıcıya iner. Bu süreç bazen 12 aydan uzun sürebilir, bazı orta segment cihazlara ana sürüm güncellemesi hiç gelmez. Project Treble (2017), Project Mainline (2019, sistem modüllerinin Play üzerinden güncellenmesi) ve Generic Kernel Image (2021) bu sorunu yapısal olarak hafifletmek için atılan adımlardı. Güvenlik yamalarının ve sürüm matrisinin resmi listesi Android Source Project üzerinden takip edilebilir.

Sürüm Tarihçesi ve Pazar Durumu

Android sürümleri 1.5 Cupcake'ten 9 Pie'a kadar alfabetik tatlı isimleriyle anıldı: Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, Pie. Android 10 ile birlikte Google bu pratiği kamuya açık olarak terk etti; sürümler artık sadece numara ile anılıyor (10, 11, 12, 13, 14, 15, 16).

Her sürüm yeni API seviyesi getirir. Geliştiriciler minSdkVersion ve targetSdkVersion ile hangi cihazların uygulamayı kurabileceğini, hangi API davranışlarını alacağını belirler. Google Play, yeni yüklenen uygulamalar için her yıl targetSdkVersion tabanını yükseltir; geliştirici güncellemezse uygulama mağazadan kaldırılır.

Bugün Android, küresel mobil pazarın yüzde 69,88'ini, Avrupa'da yüzde 65 civarını, Türkiye'de ise yüzde 75-80 bandını elinde tutuyor. iOS'un bir alternatifi değil, çoğu pazarda bizzat ana akımı temsil ediyor. Üretici çatallanması, güncelleme yavaşlığı, kapalı Play Services bağımlılığı eleştirilen yanları; öte yandan açık kaynak temeli, geniş cihaz yelpazesi ve düşük giriş fiyatı pazardaki konumunu sağlamlaştıran etmenler.

Sık Sorulan Sorular

Android ile iOS arasındaki temel fark nedir?

iOS yalnızca Apple cihazlarında çalışan kapalı bir ekosistemdir; donanım, yazılım ve mağaza tek elden yönetilir. Android ise AOSP açık kaynak temelli olup yüzlerce üretici tarafından farklı donanımlara uyarlanır. Bu Android'e geniş cihaz çeşitliliği ve fiyat aralığı kazandırırken iOS'a tutarlı kullanıcı deneyimi ve hızlı sürüm güncellemesi sağlar.

AOSP ile Google Play Services arasındaki fark nedir?

AOSP, Android'in açık kaynak çekirdeğidir; herkes indirip derleyebilir. Google Play Services ise kapalı kaynaktır ve Google Maps, push bildirimleri, Play Store, ödeme servisleri gibi modülleri içerir. Çoğu kullanıcının kullandığı Android, bu iki paketin birlikte yüklü olduğu sürümdür. Huawei gibi GMS lisansı olmayan üreticiler yalnızca AOSP üzerine kendi servislerini kurar.

ART runtime ve Dalvik arasındaki fark nedir?

Dalvik, Android 4.4'e kadar kullanılan ve uygulama her açıldığında DEX kodunu yorumlayan sanal makineydi. Android 5.0 ile gelen ART (Android Runtime), uygulamayı kurulum sırasında makine koduna derleyerek (AOT) çalışma anında daha hızlı yanıt verir. Android 7 sonrasında AOT ve JIT karışık çalışır; profil bilgisine göre sık kullanılan metotlar arka planda yeniden optimize edilir.

Android güncellemeleri neden geç geliyor?

Google bir sürümü yayınladığında üreticinin önce kendi arayüz katmanını (One UI, HyperOS gibi) yeni Android'e uyarlaması, ardından operatörün test ve onay süreçlerinden geçmesi gerekir. Bu zincir orta segment cihazlarda 6-12 ay sürer, bazı modellere ana sürüm güncellemesi hiç gelmez. Project Treble ve Mainline bu süreyi yapısal olarak azaltmak için tasarlandı.

Android cihazda root yetkisi ne işe yarar?

Root, Linux'taki süper kullanıcı (root) yetkisinin elde edilmesidir; sistem dosyalarını değiştirme, varsayılan uygulamaları kaldırma, derinlemesine donanım kontrolü gibi imkanlar sağlar. Riskleri vardır: garanti iptali, bankacılık ve ödeme uygulamalarının çalışmayı reddetmesi (Play Integrity kontrolü), zararlı yazılım yüzeyinin genişlemesi. Modern Android sürümlerinde ihtiyaç çok azaldığı için yaygınlığı düştü.

Bir Android uygulaması hangi dillerde yazılabilir?

Resmi olarak desteklenen iki ana dil Kotlin ve Java'dır. Performans kritik bileşenler için NDK ile C/C++ yazılabilir. Çapraz platform çatılar (Flutter, React Native, Xamarin/.NET MAUI, Kotlin Multiplatform) Android'i hedef olarak destekler ve tek kod tabanından iOS ile birlikte build alır. Oyun motorları (Unity, Unreal, Godot) da kendi araçlarıyla APK üretir.

Android sürümlerinin tatlı isimleri neden kaldırıldı?

Cupcake'ten Pie'a kadar her sürüm alfabetik bir tatlı ismi taşıyordu. Android 10 ile Google, isimlerin uluslararası pazarlarda her dile çevrilmesinin zorluğunu ve sayısal versiyonun pazarlama açısından daha net olduğunu öne sürerek pratiği terk etti. Dahili olarak kod adları (Quince Tart, Red Velvet Cake, Snow Cone vb.) hâlâ kullanılıyor.

Android, bir Linux çekirdeği üstüne kurulu Java tabanlı bir uygulama platformunun zaman içinde dünyanın en yaygın işletim sistemine dönüşmesinin hikayesi. Altta sade ve tanıdık bir Unix; üstte üreticinin, operatörün, geliştiricinin ve Google'ın iç içe geçtiği karmaşık bir ekosistem. Bu katmanları ayırt edebilmek, hem uygulama geliştirirken hem cihaz tarafında karar verirken işin gerçeğini görmenizi sağlar.