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 kernelProcess 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.MonolitikDi 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.MikrokernelMikrokernel 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.
nice info
BalasHapus