logo android si robot hijau

Arsitektur Sistem Operasi Android

Perilisan perdana Android, 5 November 2007, Android bersama open handset alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, google merilis kode-kode android di bawah lisensi apache. Android dibuat berdasarkan kernel Linux yang dimodifikasi. Aplikasi Android ditulis dengan bahasa Java, menggunakan Java Core Libraries. Aplikasi Android dijalankan di atas VM bernama Dalvik Virtual Machine.

File source  harus ditulis dan di-compile menggunakan Java compiler untuk menghasilkan byte code Java . Tetapi pada titik itu, harus di-compile ulang sekali lagi menggunakan Dalvik compiler untuk menjadi byte code Dalvik. Ini adalah kode byte Dalvik yang kemudian dijalankan pada Dalvik Virtual Machine.

Android diumpamakan sebagai tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Tumpukan paling bawah adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware. Bertempat di level yang sama dengan library adalah lapisan runtime yang mencakup serangkaian inti library Java. Dengannya, para programmer dapat mengembangkan aplikasi untuk Android menggunakan bahasa pemrograman Java. Lapisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungs i- fungsi dasar smartphone.

Keyword : virtual machine,byte code java-dalvik,android

A.   PENGANTAR
Android adalah sistem operasi untuk mobile device yang awalnya dikembangkan oleh Android Inc. Google Inc membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel. Pada saat perilisan perdana Android, 5 November 2007, Android bersama open handset alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, google merilis kode-kode android di bawah lisensi apache. Android dibuat berdasarkan kernel Linux yang dimodifikasi. Aplikasi Android ditulis dengan bahasa Java, menggunakan Java Core Libraries. Aplikasi Android dijalankan di atas VM bernama Dalvik Virtual Machine.

android

Gambar 1. Logo Android

Pada saat ini, sudah banyak vendor smartphone yang memproduksi berbasis android, hal ini terjadi karena android adalah sistem operasi yang open source sehingga bebas di distribusikan & dipakai oleh vendor manapun. Android itu sendiri sangat lengkap baik dari segi sistem operasi, aplikasi dan tool pengembangan, market aplikasi serta dukungan yang sangat tinggi dari komunitas open source didunia.

B.   KEUNGGULAN ANDROID
 –Lengkap (Complete Platform)
Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan memungkinkan untuk peluang mengembangkan aplikasi.

Terbuka  (Open Source Platform)
Platform android disediakan melalui lisesnsi open source. Pengembang dapat dengan bebas mengembangkan aplikasi. Android sendiri menggunakan linux kernel 2.6

Free (Free Platform)
Tidak ada lisensi atau biaya royalti untuk pengembangan pada aplikasi android. Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.

C.   VERSI ANDROID
Beberapa fitur utama dari Android antara lain WiFi hotspot, Multi-touch, Multitasking, GPS, support java, mendukung banyak jaringan (GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX) dan juga kemampuan dasar handphone pada umumnya.

Android versi 1.1
Dirilis pada tahun 2009 dengan menu sederhana

Android versi 1.5 (Cupcake)
Android Versi 1.5 merupakan penyempurnaan Versi 1.1 . Pada Versi ini terdapat penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon.

Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

Android versi 2.0/2.1 (Eclair)
Versi Android awal yang mulai dipakai oleh banyak smartphone, fitur utama Eclair yaitu perubahan total struktur dan tampilan user interface dan merupakan versi Android yang pertama kali mendukung format HTML5.

Android versi 2.2 (Froyo: Frozen Yoghurt)
Android versi 2.2 (Froyo) diluncurkan pada tahun 2010. Android 2.2 dirilis dengan 20 fitur baru, antara lain peningkatan kecepatan, fitur Wi-Fi hotspot tethering dan dukungan terhadap Adobe Flash.

Android versi 2.3 (Gingerbread)
Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, , dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost)

Android versi 3.0/3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis.
Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom.

Android versi 4.0 ( Ice Cream )
Android versi 4.0 akan dirilis akhir tahun 2011.

android2

Gambar 2. Versi  Android

D.  JAVA DAN ANDROID
Di dalam program Java, file source yang ber-extensi *.java dikompilasi menjadi byte code Java menggunakan Java compiler menjadi file ber-extensi *.class, dan kemudian menjalankan byte code pada Java Virtual Machine (JVM).

Dalam Android, hal yang berbeda. File source masih harus ditulis dan di-compile menggunakan Java compiler untuk menghasilkan byte code Java . Tetapi pada titik itu, harus di-compile ulang sekali lagi menggunakan Dalvik compiler untuk menjadi byte code Dalvik. Ini adalah kode byte Dalvik yang kemudian dijalankan pada Dalvik Virtual Machine.

compile

Gambar 3. Proses Compiler Java-Android

E.   ARSITEKTUR ANDROID
Google sebagai pencipta Android yang kemudian diasuh oleh Open Handset Alliance mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Tumpukan paling bawah adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware. Bertempat di level yang sama dengan library adalah lapisan runtime yang mencakup serangkaian inti library Java. Dengannya, para programmer dapat mengembangkan aplikasi untuk Android menggunakan bahasa pemrograman Java. Lapisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungs i- fungsi dasar smartphone.

arsitektur

Gambar 4. Arsitektur Android

1. Linux Kernel
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. Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

  • Media Library untuk memutar dan merekam berbagai macam format audio dan video.
  • Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
  • Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.
  • SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
  • SSl dan WebKit untuk browser dan keamanan internet.

3. Android Runtime
Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:

4. Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut [Hello Android 2nd Edition]:

  1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
  2. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
  3. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.
  4. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada.
  5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.

5. Application Layer
Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.

Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.

Sumber: vedcmalang.com

Leave a Reply