Langsung ke konten utama

Arsitektur Sistem Operasi Android

Pada kesempatan kali ini, penulis akan berbagi sedikit pengetahuan mengenai arsitektur dari sistem Android. Seperti yang dapat dilihat dari gambar berikut, Android terdiri dari 4 komponen utama yaitu, Applications, Application Framework, Libraries, Android Runtime, serta Linux Kernel.

Android System Architecture


Secara garis besar, arsitektur Android dapat dijelaskan sebagai berikut:
·         Applications and Widgets
Applications dan Widgets ini adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Pada layer tersebut terdapat aplikasi inti seperti email, SMS, kalender, peta, browser, kontak, dan lain sebagainya. Widgets terdiri dari layer-layer seperti EditText, Spinner, Button, TextView, dan lain-lain.
·         Applications Frameworks
Android merupakan platform yang terbuka, artinya Android menawarkan serta memberikan kemampuan kepada para pengembangnya untuk membangun aplikasi yang bagus dan inovatif. Tiap pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan lain-lain. Pengembang memiliki akses penuh ke API Framework seperti yang dilakukan oleh aplikasi inti. Arsitektur aplikasi dirancang agar kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reusable).

Komponen pada Applications Frameworks Android adalah sebagai berikut:
1.       Views
2.       Content Provider
3.       Resource Manager
4.       Notification Manager
5.       Activity Manager
·         Libraries
Merupakan layer di mana fitur-fitur Android berada, biasanya para pengembang aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti Lib-C dan SSL, serta:
-          Libraries media untuk pemutaran media audio dan video
-          Libraries untuk manajemen tampilan
-          Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
-          Libraries SQLite untuk dukungan database
-          Libraries SSL dan WebKit terintegrasi dengan web browser dan security
-          Libraries LiveWebcore mencakup modern web browser dengan engine embeded web view
-          Libraries 3D yang mencakup implementasi API OpenGL ES 1.0
·         Android Runtime
Merupakan layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android runtime dibagi menjadi dua bagian yaitu:
-          Core Libraries: Aplikasi Android dibangun dalam bahasa Java, sementara Dalvik sebagai mesin virtualnya, bukan JVM (Java Virtual Machine). Sehingga dibutuhkan sebuah libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries  ini.
-          Dalvik Virtual Machine: Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah.
·         Linux Kernel
Adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem yang mengatur pemrosesan sistem, memory, resource, drivers, dan sistem-sistem operasi Android lainnya. Linux kernel yang digunakan Android adalah Linux kernel rilis 2.6.

Pos populer dari blog ini

Kumpulan Script Pascal

Pada kesempatan ini penulis ingin menuliskan beberapa script Pascal yang penulis buat sendiri. Namun penulis mohon maaf bila terdapat kekurangan pada script-script dibawah ini mengingat penulis sendiri masih belajar dalam pemrograman Pascal. Script-script dibawah ini ditujukan untuk compiler Turbo Pascal For Windows 1.5 dan telah penulis coba sendiri keberhasilannya. Namun bila anda memiliki saran untuk penulisan script-script dibawah ini atau memiliki kritik terhadap script-script ini, anda dapat mengirimkan penulis e-mail, maupun comment terhadap posting ini. Bagi anda yang belum memiliki compiler Turbo Pascal For Windows 1.5, anda dapat mendownloadnya di http://community.borland.com/article/0,1410,20803,00.html . Baiklah, selamat mencoba.
(Seluruh script yang terdapat pada artikel ini bebas untuk digunakan, disalin, dimodifikasi, maupun disebarluaskan selama tidak disalahgunakan untuk kejahatan.)
Program DiskriminanPersamaanKuadrat
Masih ingatkah anda terhadap pelajaran Diskriminan Pe…

"Program Login" Menggunakan Pascal

Setelah lama ga ketemu Pascal. Penulis iseng-iseng nyobain untuk ngoprek-ngoprek lagi program Pascal. Dan sesuai dugaan, banyak materi dan kode-kode yang penulis udah lupa dari pascal :p
Kali ini penulis nyoba bikin program (tepatnya sebagian kecil program :p) untuk sistem login. Ya, cuma program iseng-iseng aja sih, ga memiliki nilai guna pada dasarnya, tapi lumayan buat yang masih baru-baru mau mencoba pemrograman Pascal :)
Prinsip kerja program ini simple (seperti sistem login pada umumnya, namun dengan keamanan yang sangat rendah, maklum amatir ^^v). Pertama, pengguna menginputkan data username dan passwordnya, lalu program akan memverifikasikannya, jika benar maka pengguna akan dibawa ke layar berikutnya. Namun jika salah, maka pengguna memiliki kesempatan 2 kali untuk mengulang menginputkan datanya.

My Third Java Program: "Program Menghitung IP Mahasiswa"

Masih berkutat di dunia Java. Kali ini penulis mencoba bereksperimen dengan JTable. Setelah 2-3 hari pusing ngutak-atik JTable (maklum masih newbie ^_^), nyari-nyari cara buat meng-inputkan data ke dalam tabel itu, akhirnya dapet juga petuah dari orang yang udah mahir Java di forum DIC (dreamincode.net).
Here's a sneak peek at the program :)