Anjar Syaefa

Kamis, 30 Oktober 2014

Mengupas Tentang Android

Assalammu'alaikum wr.wb 
Kali ini kami akan sedikit mengupas tentang Android

Siapa sih yang tidak mengenal Sistem Operasi Mobile yang sedang dipuncak dunia ini? mungkin tidak ada beberapa orang mengetahuinya, karna Faktor Wilayah dan Sebagainya, kita mulai sedikit sejarang tentang Android 

Android ( /ˈæn.drɔɪd/; AN-droyd) adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008.

Antarmuka pengguna Android didasarkan pada manipulasi langsung, menggunakan masukan sentuh yang serupa dengan tindakan di dunia nyata, seperti menggesek, mengetuk, mencubit, dan membalikkan cubitan untuk memanipulasi obyek di layar. Android adalah sistem operasi dengan sumber terbuka, dan Google merilis kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat, umumnya ditulis dalam versi kustomisasi bahasa pemrograman Java.



Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003 oleh Andy Rubin (pendiri Danger), Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya". Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi pasar telepon pintar untuk menyaingi Symbian dan Windows Mobile (iPhone Apple belum dirilis pada saat itu). Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler. Masih pada tahun yang sama, Rubin kehabisan uang. Steve Perlman, seorang teman dekat Rubin, meminjaminya $10.000 tunai dan menolak tawaran saham di perusahaan
.
 

Jika kita kembali ke-beberapa tahun yang lalu, ponsel pintar (Smartphone) keluaran dari Apple masih menjadi primadona bagi para penggunannya di seluruh dunia. Sebagian dari mereka beranggapan bahwa iPhone keluaran dari Apple tersebut termasuk salah satu produk atau perangkat yang ekslusif. Namun sekarang, itu semua menjadi berbeda dengan kehadiran perangkat yang berbasis Android. Terhitung tidak sedikit para pengguna smartphone beralih ke sistem operasi milik Google tersebut. Nah Hingga November 2013, Android menggunakan kernel yang berbasis kernel Linux versi 3.x (versi 2.6 pada Android 4.0 Ice Cream Sandwich dan pendahulunya). Peranti tengah, perpustakaan perangkat lunak, dan API ditulis dalam C, dan perangkat lunak aplikasi berjalan pada kerangka kerja aplikasi, termasuk perpustakan kompatibel-Java yang berbasis Apache Harmony. Android menggunakan mesin virtual Dalvik dengan kompilasi tepat waktu untuk menjalankan “dex-code” Dalvik (Dalvik Executable), biasanya diterjemahkan dari bytecode Java.



Dalam acara Google I/O kemarin, pihak Google merilis Android Runtime terbarunya, ART, untuk sistem operasi Android L. Bisa dibilang untuk kedepannya ART ini akan menggantikan Dalvik Virtual Machine (VM) yang selama ini telah digunakan pada sistem Android.

ART ini memiliki keunggulan dengan menggunakan metode “Ahead Of Time” (AOT) yang melakukan kompilasi data aplikasi telah dilakukan sebelum aplikasi dijalankan,dan mengubahnya menjadi aplikasi native di Android. Berkat adanya teknologi ART ini akan memungkinkan Android tidak memerlukan bantuan dari sebuah mesin virtual atau juga menerjemahkan ulang setiap kode pemrograman sehingga mampu mempersingkat proses startup jauh lebih cepat dimana.

Seperti yang kita ketahui aplikasi android dibuat dengan bahasa pemrograman Java (java classes) kemudian dikonversi ke DEX bytecode sesuai dengan arsitektur cpu yang digunakan. Saat kita menjalankan aplikasi android maka baris-baris kode DEX tadi akan dikonversi ke dalam bahasa mesin agar dapat dieksekusi oleh cpu Nah fungsi translasi inilah tugas dari runtime Dalvik dan ART.
 
Perbedaannya adalah, Dalvik menggunakan compiler Just-in-Time (JIT) untuk melakukan translasi DEX ke bahasa mesin pada saat aplikasi dijalankan/ dieksekusi. kode-kode yang sudah di translate tersebut kemudian disimpan (cached)di memory. Sementara ART menggunakan compiler Ahead-of-Time (AOT) yang melakukan translasi kode-kode DEX ke bahasa mesin pada saat melakukan instalasi aplikasi. Jadi saat kita menginstal aplikasi, maka baris-baris kode DEX akan langsung di translate ke bahasa mesin dan disimpan pada memory internal perangkat. Sehingga pada saat menjalankan aplikasi tidak perlu lagi melakukan translate kode DEX ke bahasa mesin.

Secara performa tentu ART lebih menguntungkan. Karena sudah melakukan translasi kode DEX ke bahasa mesin pada saat menginstal aplikasi. Sehingga saat menjalankan aplikasi tidak perlu melakukan translasi lagi dan mempercepat proses eksekusi.

Google juga mengklaim jika ART juga membuat irit baterai. Penjelasannya begini, jika menggunakan runtime Dalvik, pada saat membuka aplikasi maka akan melakukan translasi kode DEX ke bahasa mesin yang ternyata sangat memakan resource CPU. Hal ini tentu memakan banyak energi dari baterai. Nah, dengan ART saat membuka aplikasi tidak perlu melakukan translasi DEX ke bahasa mesin karena sudah dilakukan saat proses instalasi. Hal ini mengurangi pemakaian resource cpu yang tentu saja membuat baterai lebih irit.


Namun, dibalik kelebihan ART ternyata ada sedikit kekurangan. Yaitu proses instalasi aplikasi akan berjalan lebih lama dari perangkat yang menggunakan runtime Dalvik. Hal ini karena proses translasi DEX ke bahasa mesin yang langsung dilakukan pada saat proses install aplikasi. Selain itu perangkat dengan runtime ART juga memakai space memory lebih banyak dari perangkat yang menggunakan runtime Dalvik.
 
Jika anda mempunyai Perangkat android yang sudah menggunakan OS android kitkat, anda bisa mencoba runtime ART ini. Pertama aktifkan dulu "developer Options", buka setting> about phone> kemudian tap 7x pada "build Number" hingga develper options terbuka. Kemudian pergi ke setting> developer options> select runtime> use dalvik. kemudian perangkat akan reboot.

Sedikit Mengupas Tentang Kernel

Kernel itu apa? Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani berbagai macam progra aplikasi untuk mengakses perangkat keras komputer secara aman.

Selain itu, fungsi kernel juga untuk me-manage atau mengatur kapan dan berapa lama sebuah program dapat enggunakan satu bagian perangkat keras.
Kernel di bagi ke dalam 4 bagian yang secara desain berbeda

  • Kernel Monolitik, Kernel monolotik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi Hardware secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.

        Mikrokernel, Mikrokernel menyediakan sedikit saja dari abstraksi perngakat keras dan menggunakan aplikasi yang berjalan di atasnya untuk melakukan beberapa fungsionalitas lainnya.

        Kernel hibrida, kernel hibrida adalah pendekatan desain microkernel yang di modifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.

        Kernel Hybrida, kernel hybrida terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.

        Exokernel, Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendeketana desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desan monolithic kernel.

     
    Di dalam kernel

        Process Management, bagian ini kernel mengatur dari proses antara aplikasi dan hardware. Kapan mereka akan keluar masuk untuk melakukan proses.

        Memory management, kernel akan mengatur proses penggunaan memori oleh aplikasi. Kadi kernel akan mengatur kapan aplikasi akan menggunakan memori, dan akan menggunakan addressing mana yang akan di pakai.

         Device management, kernel juga akan berfungsi untuk menjadi jembatan penggunaan dari hardware yang berada dalam sistem. Dengan begini hardware bisa dikenali dan digunakan oleh aplikasi dan sistem operasi.

        Systems call, pada bagian ini kernel mengatur antara hubungan dari aplikasi dan sistem operasi.

    Pembagian kernel ini menjadi perdebatan panjang antara tanenbaum dan torvald, yang keduannya merupakan arsitek dari sistem operasi. Jika linus torvald, menjadi arstitek dari kelahiran dari Linux dan Tanenbaum menjadi arsitek dari sistem operasi MINIX.

    Monolitik

    Di dalam sistem monolitik diartikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras. Monolitik ini dilengkapi dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan - layanan sistem operas, seperti halnya manajemen proses, konkurensi, dan manajemen memori pada modul - modul kernel yang berjalan di dalam mode supervisor.

    Mikrokernel

    Mikrokernel menggunakan pendekatan berbeda dalam desainnya, karena itu mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif, atau system call yang dpat dgunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan - layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru di implementasikan di ruangan pengguna atau server. Contohnya Minix buatan Andrew taneunbaum, dan QNX yang menjadi fondaasi dari BlackBerry 10.

    Perbedaan keduanya inilah yang menjadi peredebatana panjang antara linus torvald dan Andrew tanenbaum. Keduanya memiliki pendapat yang berbeda mengenai sebuah sistem antara MINIX dan LINUX. Meskipun perdebatan ini sudah dibicarakan 20 tahun lalu, dan sudah mulai di lupakan, tetapi esensi mengenai pembicaraan keduanya masih menjadi sebuah bahan pelajaran. Karena di dalam perdebatan keduanya kita mengenal sistem Monolitik yang digunakan oleh Linux dan sistem mikrokernel yang digunakan MINIX, dan mengenai perbedaan keduanya. [ENJ]

    Pendapat Para Ahli Java Oracle Mengenai Kernel Android

    "Kode implementasi dalam Android benar-benar berbeda dari kode implementasi di Java," kata Duke University profesor ilmu komputer Owen Astrachan pada hari Jumat, meskipun ia menambahkan bahwa kedua menggunakan yang sama "metode tanda tangan," kode yang mendefinisikan input dan output untuk bagian dari program komputer.



1 komentar: