Sistem operasi Android memiliki 4 lapisan (layer) yang merupakan
komponen sistem Android. Gambar berikut merupakan lapisan arsitektur
sistem operasi 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 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.
Android
dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android
bukanlah linux, karena dalam android tidak terdapat paket standar yang
dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang
handal dalam manajemen memori dan proses. Oleh karenanya pada android
hanya terdapat beberapa servis yang diperlukan seperti keamanan,
manajemen memori, manajemen proses, jaringan dan driver. Kernel linux
menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan
IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang
keamanan.
2. Android Run Time
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 :
- System C library, diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux.
- Media Libraries, berdasarkan PacketVideo’s OpenCORE; library-library ini mendukun playback dan recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
- Surface Manager, mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi.
- LibWebCore, web browser engine modern yang mensupport Android browser maupun embeddable web view.
- SGL, the underlying 2D graphics engine.
- 3D libraries, implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer
- FreeType, bitmap dan vector font rendering
- SQLit, relational database engine yang powerful dan ringan tersedia untuk semua aplikasi.
Library-library tersebut bukanlah aplikasi yang berjalan sendiri,
namun hanya dapat digunakan oleh program yang berada di level atasnya.
Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan
pustaka sendiri menggunakan Native Development Toolkit (NDK).
4. Applications 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 :
- Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser.
- Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya.
- Resource Manager, menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files.
- Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar.
- Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common navigation backstack.
5. Applications
Di lapisan teratas bercokol 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.
Sumber : http://educnology.web.id
Artikel Terkait:
Widget by [ Berbagi itu Indah ]
0 komentar:
Posting Komentar