Android Mimarisi
Android, Open Handset Alliance ve Google tarafından akıllı cihazlar için geliştirilmekte olan,Linux tabanlı,açık kaynaklı bir işletim sistemidir.Ne kadar açık kaynaklı olsa da kodların tamamı bilinmemektedir.Açık kaynaklı olmasının bir diğer artısı sistemin hızlı gelişmesidir.Böylece kendini sürekli yenileyen bir teknoloji olan android sürekli üreticiler tarafından geliştirilmeye devam etmektedir. Google’ın üreticilere ve kullanıcılara sunduğu bir diğer avantaj ise Google Play Story dir.Üreticiler yaptıkları uygulamaları burada servis ederek kullanıcılarla paylaşmaktadırlar.
Şimdi gelelim asıl konumuz olan android mimarisine.Biz üreticilere neler sunuyor hep beraber inceleyelim.🙂
Linux çekirdeğine sahip olan android 4 katmanlı mimariden oluşuyor.
- Linux Kernel
- Libraries
-Android Runtime
- Application Framework
- Applications

1)LINUX KERNEL(LİNUX ÇEKİRDEĞİ)
Linux çekirdeği donanımla etkileşime girmesini sağlayan temel yazılım katmanıdır. Android’in linux çekirdeğini seçme sebeplerinden birkaçı bellek yönetimi,işlem planlama,kaynak işleme ve ağ oluşturma vb.lerinin sunduğu artılardır.Bu açıdan bakılırsa Linux çekirdeğinin avantajları saymakla bitmiyor. Kısaca özetlersek bilindiği üzere Linux C dili ile yazılmış ve farklı donanımlarda derlenebilecek bir işletim sistemi çekirdeğidir.Kolayca taşınabilir ve geliştirilebilir.Ayrıca linux çekirdeği;işlemler,uygulamalar için bellek ayırır ve belleği yönetir.Linux programı durdurur ve yönetir.Veri depolama sistemini kontrol eden sistemi de yönetir.Linux sistem ve uygulama arasındaki güvenliği yönetir.Kısaca android’in beyni linux diyebiliriz. :) Linux tarafından sunulan bu imkanlar geliştiriciler için çok büyük avantajdır.
2)LIBRARIES
Linux çekirdeğinin üstünde bulunan C++ ve C dilleriyle yazılan,açık kaynaklı web tarayıcı motoru WebKit,verilerin depolanması için veri havuzu SQLite veritabanı,video ve ses oynatmak için ve güvenlik için SSL ayrıca grafik ve arayüz kütüphanelerini içerir.
2.a)ANDROID RUNTIME

Android Runtime,Android işletim sistemi tarafından kullanılan uygulama çalıştırma ortamıdır.Core Libraries ve ART bileşenlerini kapsar.Bilindiği üzere Android eskiden Dalvik sanal makinesini(JVM) kullanıyordu.Ancak bu iş yüksek performans gerektiriyordu neden mi?Çünkü yazdığımız kodları makine diline çevirip donanıma öyle aktarıyor daha sonra bize dönüt veren donanımın dili olan makine dilini bizlerin anlayacağı dile çeviriyordu.Bu da bir zaman kaybına ve güç kaybına sebep oluyor anlayacağımız üzere.ART bizi bu yükten kurtarıyor.Farkı daha rahat kavramanız için aşağıda bu olayın kısa bir özetini bırakıyorum.

3)APPLICATION FRAMEWORK
Adroid’in bu katmanın biz geliştiricilere sunduğu özellikleri barındırır.Bazılarını aşağıda kısaca açıklamaya çalıştım.🙂

Activity Manager: Uygulama ve bileşenlerinin etkinlik yaşam döngüsünü yönetir.
Backup Manager: Uygulamanın geri yüklenmesi ve yedeklenme işlemlerine aracı olur.
Content Providers: Uygulamaya be uygulamalar arasında veri akışına izin sağlar.
Resource Manager: Grafiklere ve düzen dosyaları gibi dosyalara erişim sağlar.
Package Manager: Sisteme uygulamaların yüklenmesinden ve yüklü uygulamaların hakkındaki bilgilerin korunmasından sorumludur.
Location Manager: Konum güncellemesi sağlar.
View System: Kullanıcılar ve uygulamalar arasında arayüz oluşturur.
Notification Manager: Etkinlikler hakkında bildirim sağlar.
4)APPLICATION
Android’in üst katmanını oluşturur.Uygulamamız bu katmanda bulunur.
Bir daha ki yazımda görüşmek dileğiyle… :)