Arsitektur Android
Diagram pada
Gambar berikut menunjukkan komponen-komponen utama dari sistem operasi
Android.
Gambar
Arsitektur Sistem Android
Google
mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari
tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik
dari sistem operasi. Berikut ini lima susunan dari lapisan-lapisan tersebut
jika di lihat dari lapisan dasar hingga lapisan teratas:
1. Linux
Kernel
Tumpukan
paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan
kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management,
security setting, power management, dan beberapa driver hardware. Kernel
berperan sebaagai abstraction layer antara hardware dan keseluruhan software.
Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat driver
kamera yang memungkinkan pengguna mengirimkan perintah kepada hardware kamera.
2. Android
Runtime
Lapisan
setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core
Libraries dan Dalvik Virtual Machine. Core Libraries mencakup serangkaian inti
library Java, artinya Android menyertakan satu set library-library dasar yang
menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar bahasa
pemrograman Java.
Dalvik adalah
Java Virtual Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini
di optimalkan untuk telepon seluler. Setiap aplikasi yang berjalan pada Android
berjalan pada processnya sendiri, dengan instance dari Dalvik Virtual Machine.
Dalvik telah dibuat sehingga sebuah piranti yang memakainya dapat menjalankan
multi Virtual Machine dengan efisien. Dalvik VM dapat mengeksekusi file dengan
format Dalvik Executable (.dex) yang telah dioptimasi untuk menggunakan minimal
memory footprint. Virtual Machine ini register-based, dan menjalankan
class-class yang dicompile menggunakan compiler Java yang kemudian
ditransformasi menjadi format .dex menggunakan “dx” tool yang telah disertakan.
Dalvik Virtual Machine (VM) menggunakan kernel Linux untuk menjalankan
fungsi-fungsi seperti threading dan low-level memory management.
3. Libraries
Bertempat di
level yang sama dengan Android Runtime adalah Libraries. Android menyertakan
satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai
komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh
programmer melewati Android application framework. Sebagai contoh Android
mendukung pemutaran format audio, video, dan gambar. Berikut ini beberapa core
library tersebut :
a. System C
library
Diturunkan
dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk
piranti embedded berbasis Linux.
b. Media
Libraries
Berdasarkan
PacketVideo‟s OpenCORE; library-library ini mendukung playback dan recording
dari berbagai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC,
AMR, JPG, and
c. Surface
Manager
Mengatur akses
pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi.
d. LibWebCore
Web browser
engine modern yang mensupport Android browser maupun embeddable web view
e. SGL
The underlying
2D graphics engine
f. 3D
libraries
Implementasi
berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D
acceleration dan highly optimized 3D software rasterizer
g. FreeType
Bitmap dan
vector font rendering
h. SQLite
Relational
database engine yang powerful dan ringan tersedia untuk semua aplikasi.
4. Application
Framework
Lapisan
selanjutnya adalah application framework, yang mencakup program untuk mengatur
fungsi-fungsi dasar smartphone. Application Framework merupakan serangkaian
tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian
antar – proses atau program, dan pelacakan lokasi fisik telepon. Para
pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut,
dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer
mendapatkan akses penuh untuk memanfaatkan API-API (Android Protocol Interface)
yang juga digunakan core applications. Arsitektur aplikasi didesain untuk
menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi dapat
menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut.
Mekanisme yang sama memungkinkan pengguna mengganti komponen-komponen yang
dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :
a. Satu set
Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text
boxes, buttons, dan embeddable web browser
b. Content Providers yang memungkinkan aplikasi untuk mengakses
data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang
dimilikinya.
c. Resource Manager, menyediakan akses ke non-code resources
misalnya localized strings, graphics, dan layout files
d. Notification Manager yang memungkinkan semua aplikasi
untuk menampilkan custom alerts pada the status bar
e. Activity Manager yang memanage life cycle of dari aplikasi
dan menyediakan common navigation backstack
5. Application
Di lapisan
teratas tertera aplikasi itu sendiri. Di lapisan inilah anda menemukan
fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat,
menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata
pengguna, lapisan inilah yang paling sering mereka akses. Mereka mengakses
fungsi-fungsi dasar tersebut melalui user interface.
Software development kit
Apache Ant
Python 2.2
Eclipse 3.2
Android
development tools
Referensi : Mobile Computing System Universitas Gunadarma
Tidak ada komentar:
Posting Komentar