Friday, April 20, 2012

Arsitektur Sistem Operasi Android

Arsitektur Android

 Sesuai gambar di atas, android mempunyai kernel linux, dan menggunakan android runtime dan application framework sendiri yang memungkinkan development dengan menggunakan java.
Kernel dan Dalvik Virtual Machine
Sejak versi 2.6.23, kernel Linux standar menggunakan Completely Fair Scheduler (CFS), yang menerapkan kerataan dalam waktu penggunaan CPU untuk task yang diberikan. Keseimbangan ini menjamin bahwa semua task akan mempunyai jatah CPU yang sama dan oleh karena itu setiap kali terjadi ketidak rataan telah ditemukan, algoritma tersebut akan melakukan penyeimbangan kembali task yang ada. Walaupun fairness dijamin, algoritma ini tidak menyediakan penjaminan sementara untuk task dan oleh karena itu Android juga tidak melakukan penjadwalan karena operasi penjadwalan diserahkan pada kernel Linux.
Android menggunakan Virtual Machine nya sendiri yang dinamakan Dalvik, yang dikembangkan dari scratch untuk device mobile dan mempertimbangkan optimasi memori, penghematan daya baterai, dan frekuensi CPU yang rendah. Dalvik  ini mengandalkan kernel Linux sebagai fitur inti sistem operasi seperti manajemen memori dan penjadwalan yang dimiliki oleh kernel Linux dan karena itu juga mengakibatkan kekurangan yaitu tidak melakukan penjaminan sementara sebagai pertimbangan.  Arsitektur android seperti yang digambarkan dalam gambar 1, terdiri atas 5 lapis: Applications, Application Framework, Libraries, Android Runtime, dan Kernel Linux. Pada lapis paling atas, lapis aplikasi menyediakan sekumpulan fungsi aplikasi yang secara umum tidak ditawarkan oleh mobile device lainnya.

Layer framework application menyediakan framework API yang digunakan oleh aplikasi yang berjalan pada layer paling atas. selain API, , ada sekumpulan layanan yang memungkinkan mengakses fitur inti dari android sebagai contoh seperti komponen grafis, manager pertukaran informasi, manajer event, dan manajer activity. Di bawah layer, framework application, terdapat lapisan lain yang terdiri atas: Library dan Android Runtime. Library menyediakan fitur inti untuk aplikasi. Di antara semua library yang tersedia, yang paling penting adalah libc, yang merupakan library standar untuk sistem C yang disesuaikan untuk device berbasis embedded Linux; Library Media yang memberikan dukungan untuk memainkan dan merekam beberapa format audio dan video; Graphics Engine, Font, dan engine relational database ringan dan library 3D berbasis OpenGL ES.
Dengan melihat Android Runtime, selain library inti, Android menyediakan Virtual Machine nya sendiri yaitu Dalvik. Dalvik menjalankan aplikasi Java di atas nya dan tidak seperti standar Virtual Machine(VM) pada java yang berbasis stack, Dalvik adalah sebuah mesin berbasis register yang tidak terbatas. Sebagai sebuah mesin register,  hal ini memberikan dua keuntungan ketika dibandingkan dengan mesin berbasis stack. Contohnya, Dalvik hanya membutuhkan 30% instruksi lebih sedikit untuk melaksanakan komputasi yang sama jika dibandingkan dengan Stack Machine tertentu, yang menyebabkan pengurangan pemanggilan instruksi dan akses memoru; dan membutuhkan waktu komputasi lebih sedikit, yang mana diturunkan dari pengurangan expression yang sama dari instruksi. Namun, Dalvik menghadirkan 35% byte lebih banyak pada aliran isntruksi daripada sebuah stack machine tertentu. Kerugian ini diambil dengan konsumsi dari 2 byte pada saat melaksanakan instruksi. Dalvik menggunakan format byte-code nya sendiri yang disebut Dalvik Executable (.dex), dengan kemampuan untuk memasukkan beberapa class  dalam satu buah file saja. Hal ini juga bisa melakukan beberapa optimisasi selama pembangkitan dex file ketika memperhatikan penyimpanan internal terhadap tipe dan konstanta dengan menggunakan prinsip pengulangan sesedikit mungkin; untuk setiap tipe aliran; dan pelabelan implicit. Dengan menerapkan prinsip ini, dimungkinkan untuk menghasilkan file tipe dex yang lebih kecil daripada file tipe Java Archive(.jar). Selama waktu instalasi, setiap file dex dipastikan dan dilakukan optimasi seperti byteswapping dan padding, static-linking dan in-lining method dan pada saat yang sama untuk menghindari pelanggaran keamanan kode.
Kernel linux versi 2.6 pada lapis paling bawah dan juga lapis abstraksi hardware yang memungkinkan interaksi antara lapis yang lebih tinggi dengan lapis hardware melalui driver device. Lebih jauh lagi, kernel juga menyediakan layanan sistem yang paling fundamental seperti sekuritas, manajemen memori, manajemen proses, dan stack jaringan.

No comments:

Post a Comment

Labels

AdMob Adobe Adsense Aero Buster Air Buster Airpush Al-Ghozali Amazon Appstore Amerika Android Android App Animasi apa itu App Application Arsitektur Asimetris asus AutoArtikel Bahasa Indonesia Bahasa Inggris Blogger Blogspot Browser Bus Cara akses Cara kerja cat CERN Chiper Chrome command Contoh CORBA cPanel CS3 diff Diffie-Hellman Distance Vector domain download e-book e-book Jaringan Komputer e-book Ketidaklogisan para Filsuf e-book Sistem Operasi ebook Einstein Engineering Design Process Enkripsi file Filosofi Firefox fisika Flow Control frame Game genap 2011-2012 Gerbang Quantum getaran gif Google google nexus 7 Google Play Gratis GRE grep GSM Handoff Handover head Hosting HTML5 Hypnolearning IDL IM3 IMS Interface Definition Language Internet internet dan bisnis telekomunikasi Internet Explorer iPad 3 jadwal Jaringan Jaringan Komputer Java JDBC JSP Judul Justin Bieber Kamera Kapsel Kecepatan Cahaya Ketidaklogisan Para Filsuf kisi-kisi Komputer Kriptografi LAN Linux Manajemen Manajemen Memori mediafire Memori Mesh Model View Controller MoonViewer Motivation Multicast Routing MVC MySql Near Field Communication Network Programming Neutrino New Technology File System Nilai NTFS OPERA Organisasi dan arsitektur komputer osilasi page Partai Peduli Rakyat PC pegas Pemasaran pembuat artikel Pemrograman Bahasa Tingkat Rendah Pemrograman Jaringan Pemrograman Web Penjadwalan Penyandian Perang Sipil perintah Pertukaran Kunci Photoshop PHP Physics PKS Power Point Process Producer Consumer Programming Protokol Proyek Akhir PSTN Quantum Information Quiz Quotes RAM review Ring RMI Safari Scheduling Security Sega Genesis Sejarah Servlet Shooter Simetris Singkronisasi Sistem File Sistem Koordinat Sistem Operasi slide SlideMe Socket Solaris sort source code SPIN spinner Star Studium Generale Superkonduktor Switch tablet Tahafut Al-Falasif tail TCP Terjemah test GRE Tolak Kenaikan Harga BBM Topologi Tugas Akhir tween Twitter UAS Ubuntu Ulasan Ulasan Nokia 808 PureView UNIBBA uniq UNIX UNIX SVR4 UTS Verbal Virtual Router Redundancy Protocol Vocab Vocabulary VRRP Web Services WiMAX Windows wired.com Wireless Sensor Network Words WSN