Mobil alanda en çok kullanılan Platform: Android

Bu işletim sistemi henüz 9 yıl önce duyuruldu ve bir devrim niteliğinde gelişti. Android'i, Android yapan en önemli özellik Linux çekirdekleri üzerine kurularak, Açık kaynak kodlu bir yazılım olması. ''Nedir bu açık kaynak muhabbeti?'' diye soranlarımız vardır elbette. Açık kaynak kodlu sistem her şeyini sizin o şefkatli ellerinize bırakır ve Sistemdeki her türlü özelleştirmeye olanak tanır. Android cihazlarda her türlü ekleme, çıkarma yapabilmektesiniz.

Sistemin; ''Google Play Store'' adında uygulama marketi de bulunmakta. Bu market üzerinde milyonlarca uygulama depolanıyor ve kullanıcıya sunuluyor . Fakat açık kaynak kodlu işletim sistemleri her zaman bizim tarafımıza çalışmazlar. Bu gibi sistemlere virüs bulaştırmak oldukça basit. Google; Google Play Store üzerindeki kullanıcıya sunulan uygulamaları incelemiyor ve sadece kullanıcı şikayetlerine cevap veriyor. Bu nedenle android işletim sisteminde virüslü uygulamalar yaygınlaşmakta.

Android işletim sisteminin genel olarak RAM'i ''Har vurup, harman savurduğu'' söylenilebilir. Yani iOS veWindows Phone gibi RAM konusunda yakıt cimrisi olduğu pek söylenemez.

Android yapı olarak linux kernel tabanı üzerine yapılandırılmış GNU yazılımıdır. Bu noktada GNU hakkında kısa bir bilgi vermekte fayda var. GNU çekirdeği, sistem araçları ve kullanıcı yazılımları içeren bir işletim sistemidir. GNU ( GNU’s Not Unix) adından da anlaşılacağı üzere yapısal olarak unix’e benzerken aslında unix den farklı kendine özgü bir yazılımdır ve içerisinden herhangi bir unix kodu içermemektedir.

Android tabanlı uygulamalar geliştirmek için Android SDK’sı bulunmaktadır.

Android Uygulama Arayüzü

Android açık uygulama geliştirme ortamıdır. Çok sayıda değişik uygulamanın geliştirilmesine izin verir.

Uygulama geliştiricileri, çeşitli uygulamalar tarafından kullanılan API’ye full erişim hakkına sahiptir. Bu tip bir mimari, içeriklerin yeniden kullanılması için tasarlanmıştır, herhangi bir uygulama kendi yeteneklerini yayınlayabilir ve bu yetenekler diğer uygulamalar tarafından kullanılabilir. Böyle bir yapı sayesinde kullanıcılar, içerikleri istedikleri gibi değiştirebilirler.

Not:

Programlamada "uygulama programlama arayüzü" (API), yazılım uygulamaları inşa etmek için takip edilen rutinler, uygulanan protokoller ve kullanılan araçlar bütünüdür. API bir yazılımın işleyişi, girdileri, çıktıları ve altında yatan türleri açısından bunu ifade eder.

Linux Kernel

Android, çeşitli çekirdek işlemleri (güvenlik, bellek yönetimi, ağ yönetimi, sürücü modeli) için Linux 2.6 versiyonunu kullanır. Kernel, donanım ile yazılım arasında soyut bir katman olarak yer alır.

Linux çekirdeğine Android için eklenen kod parçacıkları ve kütüphaneler Genel Kamu Lisansı'na sahipken, diğer bileşenler üretici firmalarına kendi kapalı ROM'larını oluşturmalarına izin verecek ama yine özgür bir şekilde Apache Lisansı ile dağıtılmaktadır.

Android Runtime

Bu bölüm Linux çekirdeğindeki kütüphanelerin Java ile birleştiği bölümdür. İki önemli bileşeni vardır. Bunlar temel Java kütüphaneleri ve Dalvik Sanal (virtual) Makinesi'dır.

Dalvik Sanal Makinası:

Uygulamalar Dalvik Sanal Makinesi tarafından çalıştırılır. Java ile yazılan uygulamalar alınır, Java kodları derlenerek bytecode dosyalarına çevrilir. Bu dosyalar dex dosyasına çevrilerek Dalvik Sanal Makinesi'nin çalıştıracağı şekle sokar. Dalvik ortamı düşük işlemci gücü, az RAM ve sınırlı batarya koşullarına göre tasarlanmıştır.

ART:

ART ise Native diller olarak isimlendirdiğimiz, işletim sistemine özel diller ile yarışacak (ama native olmayan) bir çalışma zamanı (Run Time) sistemidir. Hali hazırda Kitkat ile Nexus cihazlarda kullanıma sunulan ART, uygulamaların kodlarını Dalvik sanal makine ihtiyacı duymadan, cihaz içerisinde barındırır ve bu sayede uygulamaların hızlı açılmasını sağlar.

Dezavantajları neler?

Bu yeni sistemin en büyük dezavantajı uygulama boyutlarının artmasına sebep olmasıdır. ART ile çalışan bir uygulama, Dalvik’tekine oranla yaklaşık %10 daha fazla yer kaplar. Örneğin 100 MB’lık bir uygulama, ART’ye geçildiğinde 110 MB yer kaplamaktadır. Akıllı telefon hafızalarının artması ya da hafıza kartları ile bu sorun fark edilmeyecektir bile.

Android Kütüphaneleri

Android işletim sistemi C/C++ kütüphanelerinde oluşur. Android işletim sisteminde yer alan bazı kütüphaneler şunlardır.

System C Kütüphanesi: Linux tabanlı cihazlar için standart C kütüphanesidir.

Medya Kütüphanesi: PacketVideonun OpenCORE’u temel alınmıştır. Bu kütüphane kaydetme,yeniden oynatma gibi popüler tüm işlemleri desteklemektedir.

Surface Yöneticisi: Görüntüleme sistemine erişimi düzenler, 2D ve 3D uygulamalarla sorunsuz bir şekilde çalışır.

LibWebCore: Modern web tarayıcı motoru görevine sahiptir.

SGL:2D grafik motorudur.

3D Kütüphaneleri: OPENGL ES 1.0 APIsi temel alınmıştır.

FreeType: Bitmap ve vektör font düzenleyicisidir.

SQLite: Güçlü ve etkin ilişkisel veritabanı motoru sağlar.

Uygulama Çatısı (Application Framework)

Android, yazılım geliştiriciler için oldukça zengin bir platform sunmaktadır. Android uygulamalarının yazılımını oluştururken yazılımcıya uygulama çatısı sağlayan uygulama servisleri aşağıdaki gibidir;

Aktivite Yöneticisi (Activity Manager): Aktivitelerinizin yaşam çemberini kontrol eder. Aktivite yığınının yönetimini içerir.

Görünümler (Views): Aktiviteler için kullanıcı ara yüzü yapılmasında kullanılır.

Uyarı Yöneticisi (Notification Manager): Kullanıcılara yapılan bildirimler ve uyarılar için uyumlu ve tutarlı işlev sağlar.

İçerik Sağlayıcılar (Content Providers): Uygulamanın veri paylaşımını sağlar. Telefon rehberi, resim, müzik vb. verilerin uygulamalarca erişimini sağlayan arabirimlerdir. SQL benzeri erişim ara yüzüne sahiptirler.

Kaynak Yöneticisi (Resource Manager): Dışarıda tutulmak üzere diziler ve grafikler gibi kodsuz kaynakları destekler.

Uygulamalar (Applications)

Android uygulama çatısındaki servisler ve sınıflar kullanılarak oluşturulan yerel ve 3.parti Android uygulamalarını kapsar. Yerel uygulamalar arasında e-mail istemcisi, sms programı, takvim, google maps, telefon rehberi gibi temel uygulamalar yer almaktadır.

results matching ""

    No results matching ""