Asal Mula Hardware Android dan Hubungannya dengan Kernel Linux

Hardware Android
Platform hardware utama untuk Android adalah ARM (model ARMv7 dan ARM v8-A) dengan model x86 dan X86-64 juga secara resmi mendukung versi terbaru Android. Proyektidak resmi Android-x86 menyediakan dukungan model x86 sebelum dukungan resmi. Model ARMv5TE dan MIPS32/64 juga dulunya mendukung tapi kemudian dihilangkan saat perilisan Android.

Sejak 2012, perangkat Android dengan prosesor Intel mulai muncul, seperti HP dan Tablet. Saat mendapatkan dukungan untuk platform 64 bit, Android merupakan perangkat pertama yang bisa menjalankan 64-bit x86 dan pada ARM64. Karena Android 5.0 “Lollipop”, varian 64-bit didukung selain varian 32-bit.

Persyaratan untuk jumlah minimum RAM untuk menjalankan perangkat Android 7.1 rentangnya dari 2GB untuk hardware terbaik, lalu turun menjadi 1 GB untuk layar yang umum, sampai minimal 512 MB untuk smartphone terendah berspesifikasi 32-bit.

Rekomendasi untuk Android 4.4 adalah memiliki sekitar 512 MB RAM, sedangkan untuk perangkat “RAM rendah” 340 MB adalah persyaratan minimum yang tidak termasuk memori yang diberikan ke berbagai macam komponen hardware seperti prosesor baseband.

Android 4.4 membutuhkan 32-bit ARMv7, MIPS atau model prosesor x86 (dua terakhir melalui port tidak resmi) bersama dengan OpenGL ES 2.0 yang dilengkapi Graphics Processing Unit (GPU). Android mendukung OpenGL ES 1.1, 2.0, 3.0, 3.1 dan sebagai versi utama terbaru, 3.2 dan Android 7.0 Vulkan (dan versi 1.1 tersedia untuk sebagian perangkat).

Sebagian aplikasi bisa secara jelas membutuhkan versi tertentu dari OpenGL ES, dan hardware GPU yang cocok dibutuhkan untuk menjalankan aplikasi semacam itu.

Perangkat Android menggabungkan banyak komponen hardware opsional, seperti kamera diam atau kamera video, GPS, sensor orientasi, kontrol game terdedikasi, accelerometer, giroskop, barometer, magnetometer, sensor kedekatan, sensor tekanan, termometer, dan layar sentuh.

Beberapa komponen hardware tidak dibutuhkan, tapi menjadi standar dalam kelas tertentu, seperti smartphone, dan tambahan persyaratan tambahan berlaku jika ada. Sebagian hardware lain awalnya dibutuhkan, tapi untuk persyaratan tersebut telah dilonggarkan atau dihilangkan.

Contohnya, karena Android dikembangkan awalnya sebagai Sisitem Operasi HP, hardware seperti mikrofon tidak dibutuhkan, sementara sepanjang waktu fungsi HP menjadi beragam. Android biasanya membutuhkan kamera autofokus, yang diperluas menjadi kamera fokus tetap jika ada, karena kamera diturunkan untuk emmenuhi persyaratan semuanya saat Android mulai diguanakn pada kotak pengaturan top.

Selain menjalankan smartphone dan tablet, ebebrapa penjual menjalankan android secara asli di hardware PC biasa dengan keyboard dan mouse. Selain untuk ketersediaan pada hardware yang tersedia secara komersial, versi hardware PC yang ramah dari Android secara gratis tersedia dari proyek Androdi-x86, seperti Android 4.4 terkustomisasi.

Menggunakan emulator Android merupakan bagian dari SDK, atau emulator pihak ketiga, Android juga bisa dijalankan secara tidak asli pada model x86. Perusahaan Cina membuat PC dan sistem operasi HP, berbasis Android, untuk “bersaing langsung dengan Microsoft Windows dan Google Android”.

Akademi Teknik Cina menyatakan bahwa “lebih dari lusinan” perusahaan telah mengkustomisasi Android menyusul larangan Cina pada penggunaan Windows 8 pada PC pemerintah.

Pengembangan Android
Android dikembangkan oleh Google sampai perubahan terbaru ddan update siap untuk dirilis, saat dimana source code disediakan untuk Android Open Source Project (AOSP), sebuah inisiatifopen source yang dipimpin oleh Google.

Kode AOSP bisa ditemukan tanpa modifikasi pada perangkat, utamanya seri Nexus dan Pixel. Source Code itu, pada gilirannya, dikustomisasi dan diadaptasi oleh Original Equipment Manufacturers (OEMs) untuk dijalankan pada hardware tersebut.

Selain itu, source code Android tidak berisi paten driver perangkat yang dibutuhkan untuk komponen hardware tertentu. Akibatnya, kebanyakan perangkat Android, seperti Google sendiri, akhirnya dikirimkan dengan kombinasi software gratis, open source dan paten, dengan software yang dibutuhkan untuk mengakses layanan Google termasuk ke dalam kategori yang terakhir.

Update Jadwal Android
Google mengumumkan update tambahan besar untuk Android pada bisnis tahunan. Update bisa diinstal pada perangkat mellaui udara. Rilis besar terbaru adalah 8.0 “Oreo”, yang diumumkan pada Maret 2017, dan diikuti rilis berikutnya pada Agustus.

Dibandingkan dengan sisitem operasi saingan utamanya, Apple iOS, update Android biasanya mencapai berbagai perangkat dengan penundaan yang signifikan.

Kecuali untuk perangkat seperti Google Nexus dan Pixel, update sering tiba berbulan-bulan setelah perilisan versi baru, atau tidak sama sekali. Ini sebagian dikarenakan luasnya variasi hardware di perangkat Android, dimana setiap upgrade harus secara spesifik disesuaikan, poses ini memakan sumber daya dan waktu yang lama.

Produsen sering mempriorotaskan perangkat barunya dan meninggalkan yang lama. Penundaan tambahan bisa dilakukan oleh pembuat nirkabel tersebut, setelah mendapatkan update sari produsen, penyesuaian lebih lanjut dan memberikan Android sesuai kebutuhan dan melakukan tes yang luas pada jaringan mereka sebelum mengirim upgrade keluar ke pengguna. Ada juga situasi dimana upgrade tidak dilakukan karena mitra produsen tidak menyediakan update penting ke driver.

Variasi yang bantak dari hardware dalam perangkat Android menyebabkan penundaan yang signifikan untuk upgrade software, dengan versi baru sisitem operasi dan patch keamanan yang biasanya memakan waktu berbulan-bulan sebelum mencapai pelanggan, atau terkadang tidak sama sekali. Kekurangan dukungan setelah penjualan dari produsen dan pembawa telah secara luas dikritik oleh sekelompok pelanggan dan media teknologi.

Beberapa komentator menyatakan bahwa industri memiliki insentfi tidak digunakan untuk mengupgrade perangkatnya, karena kurangnya update yang ada memicu pembelian yang baru, perilaku ini dideskripsikan sebagai “penghinaan”. The Guardian mengkomplain bahwa metode distribusi untuk update itu rumit hanya karena produsen dan pembawa telah mendesainnya dengan cara itu.

Pada tahun 2011, Google bekerja sama dengan sejumlah pemain industri untuk mengumumkan “Aliansi Update Android”., berjanji menyajikan update tepat waktu untuk setiap perangkat selama 18 bulan setelah perilisannya, namun, tidak ada pernyataan resmi tentang aliansi sejak pengumuman tersebut.

Padatahun 2012, Google mulai memisahkan aspek tertentu dari sistem operasi (biasanya aplikasi inti) agar mereka bisa diupdate melalui Google Playstore secara independen dari OS. Salah satu komponen tersebut, Google Play Services, merupakan proses sistem closed source yang menyediakan API untuk layanan Google, yang diinstal secara otomatis pada hampir semua perangkat yang berjalan di Android 2.2 “Froyo” atau lebih tinggi.

Dengan perubahan tersebut, Google bisa menambahkan sistem fungsional baru melalui Layanan Google Play dan update aplikasi tanpa harus mendistribusikan sebuah upgrade untuk mengoperasikan sistem itu sendiri. Sebagai akibatnya, Android 4.2 dan 4.3 “Jelly Bean” berisi perubahan UI yang relatif lebih sedikit, berfokus lebih banyak pada perubahan besar dan pengembangan platform.

Pada Mei 2016, Bloomberg melaporkan bahwa Google berusaha menjaga Android tetap up to date, seperti mempercepat tingkat update keamanan, meluncurkan solusi teknologi, mengurangi persyaratan untuk tes HP, dan meranking pembuat HP dalam usaha untuk mengubah perilakunya menjadi lebih baik.

Bloomberg menyatakan bahwa “karena smartphone menjadi lebih bagus, kompleks dan bisa diretas, memiliki software terbaru yang bisa bekerja dengan hardware semakin penting”.

Hiroshi Lockheimer, pimpinan Android, mengakui bahwa “ini bukan situasi yang ideal”, komentar lebih jauh bahwa kekurangan update adalah “tautan paling lemah pada keamanan di Android”. Operator nirkabel dideskripsikan dalam laporan sebagai “diskusi paling menantang”, karena waktu persetujuan yang lambat karena mengetes jaringan mereka, meskipun beberapa operator, seperti Verizon dan Sprint, telah memperpendek waktu persetujuan masing-masing.

Eksekutif HTC Jason Mackenzie menyebut update keamanan bulanan sebagai “tidak realistis” di tahun 2015, dan Google telah menconba untuk mengajak operator untuk tidak memasukkan patch keamanan dari prosedur tes penuh.

Dalam upaya lebih lanjut untuk mengajak operator, Google menyebarkan sebuah daftar pembuat HP yang diukur oleh perangkat update dengan mitra Androidnya, dan sedang dipertimbangkan membuat daftar pubilk. Mike Chan, wakil penemu HP Nexbit dan mantan pengembang Android, mengatakan bahwa “cara terbaik untuk memecahkan ini adalah model re arsitektur dari sistem operasi”, “atau Google bisa berinvestasi di produsen dan operator pelatihan untuk menjadi warga Android yang baik”.

Pada bulan Mei 2017, dengan pengumumn Android 8.0, Google memperkenalkan Proyek Treble, re arsitek besar dari sistem operasi kerangka Android yang didesain untuk membuatnya lebih mudah, lebih cepat dan hemat biaya untuk menufaktur dalam mengupdate perangkat dengan versi yang lebih baru di Android.

Proyek Treble memisahkan implementasi penjual (perangkat spesifik, software berlevel rendah yang dibuat oleh manufaktur silikon) dari kerangka Android OS melalui “interface penjual” baru.

Di Android 7.0 atau sebelumnya, tidak ada yang namanya penjual interface resmi, jadi pembuat perangkat harus mengupdate sebagian besar kode Android untuk memindahkan perangkat ke Sistem Operasi versi baru. Dengan Treble, penjual interface yang stabil menyediakan akses ke perilisan hardware spesifik dengan mudah dengan mengupdate kerangka Sistem Operasi Android, “tanpa pekerjaan tambahan yang dibutuhkan dari manufaktur silikon.”

Pada September 2017, tim Proyek treble Google mengungkapkan bahwa, sebagai bagian dari usahanya untuk meningkatkan daur hidup keamananperangkat Android, Google telah berhasil untuk mengajak Linux Foundation untuk menyetujui perluasan dukungan daur hidup dari cabang kernel Linux Long-Term Support (LTS) dari 2 tahun yang secara historis telah bertahan hingga 6 tahun untuk versi masa depan dari kernel LTS, dimulai dengan kernel Linux 4.4.

Kernel (Inti) Linux
Inti Android dibuat berdasarkan cabang Linux kernel's long-term support (LTS). Pada tahun 2018, Android menarget versi 4.4, 4.9 atau 4.14 dari inti Linux. Inti yang sebenarnya tergantung pada perangkat individu.

Variasi inti Linux memiliki perubahan arsitektur yang lebih besar yang diimplementasikan oleh Google diluar siklus pengembangan inti Linux biasa, seperti dimasukkannya kompunen perangkat pohon, ashmem, ION dan penanganan Out of Memory (OOM) yang berbeda.

Fitur tertentu yang dikontribusikan Google kembali ke inti Linux, biasanya fitur manajemen daya yang dinamakan “wakelocks”, awalnya ditolak oleh pengembang kernel utama sebagian karena mereka merasa bahwa Google tidak menunjukkan niat untuk mempertahankan kodenya sendiri.

Google mengumumkan pada April 2010 bahwa mereka akan mempekerjakan dua karyawan untuk bekerja di komunitas inti Linux, namun Greg Kroah-Hartman, pengelola kernel Linux saat ini untuk cabang stabil, mengatakan pada bulan Desember 2010 bahwa dia khawatir Google tidak lagi mencoba untuk mendapatkan perubahan kode mereka termasuk dalam Linux mainstream.

Insinyur Google Patrick Brady pernah menyatakan dalam konferensi pengembang perusahaan bahwa "Android bukan Linux", dan Computerworld menambahkan bahwa "Biarkan saya membuatnya sederhana untuk Anda, tanpa Linux, tidak ada Android". Ars Technica menulis bahwa "Meskipun Android dibangun di atas kernel Linux, platform ini memiliki sangat sedikit kesamaan dengan tumpukan desktop Linux konvensional".

Pada Agustus 2011, Linus Torvalds mengatakan bahwa "akhirnya Android dan Linux akan kembali ke inti umum, tetapi mungkin tidak akan selama empat hingga lima tahun". Pada bulan Desember 2011, Greg Kroah-Hartman mengumumkan dimulainya Proyek Mainstream Android, yang bertujuan untuk menempatkan beberapa driver Android, tambalan dan fitur kembali ke kernel Linux, dimulai di Linux 3.3.

Linux memiliki kemampuan autosleep dan wakelocks di inti 3.5, setelah banyak usaha merger sebelumnya. Antarmuka yang sama tetapi implementasi Linux hulu memungkinkan untuk dua mode penangguhan berbeda, ke memori (penangguhan tradisional yang menggunakan Android), dan ke disk (hibernate, seperti yang dikenal pada desktop). Google mengelola repositori kode publik yang berisi karya eksperimental mereka untuk mendasari ulang Android dari versi Linux stabil terbaru

Penyimpanan flash pada perangkat Android dibagi menjadi beberapa partisi, seperti / sistem untuk sistem operasi itu sendiri, dan untuk data pengguna dan instalasi aplikasi. Berbeda dengan distribusi Linux desktop, pemilik perangkat Android tidak diberikan akses root ke sistem operasi dan partisi sensitif seperti sistem yang bersifat read-only.

Namun, akses root dapat diperoleh dengan mengeksploitasi kelemahan keamanan di Android, yang sering digunakan oleh komunitas open-source untuk meningkatkan kemampuan perangkat mereka, tetapi juga oleh pihak jahat untuk menginstal virus dan malware.

Android adalah distribusi Linux menurut Linux Foundation, Kepala open source Google Chris DiBona, dan beberapa wartawan. Lainnya, seperti insinyur Google Patrick Brady, mengatakan bahwa Android bukan Linux dalam pengertian distribusi Linux tradisional seperti Unix, Android tidak termasuk GNU C Library (menggunakan Bionic sebagai alternatif C library) dan beberapa komponen lain yang biasanya ditemukan di distribusi Linux.

Dengan dirilisnya Android Oreo pada tahun 2017, Google mulai mengharuskan perangkat yang dikirim dengan SoC baru memiliki kernel Linux versi 4.4 atau yang lebih baru, untuk alasan keamanan. Perangkat yang ada ditingkatkan ke Oreo, dan produk baru diluncurkan dengan SoC yang lebih lama, dibebaskan dari aturan ini.

Tumpukan Software Android
Di atas kernel Linux, ada middleware, pustaka dan API yang ditulis dalam C, dan software aplikasi yang berjalan pada kerangka aplikasi yang menyertakan pustaka yang kompatibel dengan Java. Pengembangan kernel Linux berlanjut secara independen dari proyek kode sumber Android lainnya.

Hingga versi 5.0, Android menggunakan Dalvik sebagai mesin virtual proses dengan kompilasi berbasis jejak just-in-time (JIT) untuk menjalankan Dalvik "dex-code" (Dalvik Executable), yang biasanya diterjemahkan dari Java bytecode.

Mengikuti prinsip JIT berbasis jejak, selain menafsirkan sebagian besar kode aplikasi, Dalvik melakukan percampuran dan eksekusi asli dari segmen kode yang sering dieksekusi ("jejak") setiap kali aplikasi diluncurkan.

Android 4.4 memperkenalkan Android Runtime (ART) sebagai lingkungan runtime baru, yang menggunakan kompilasi sebelum waktu (AOT) untuk sepenuhnya mengkompilasi aplikasi bytecode ke kode mesin saat instalasi aplikasi. Android 4.4, ART adalah fitur eksperimental dan tidak diaktifkan secara default, ini menjadi satu-satunya opsi runtime di versi utama Android berikutnya, 5.0.

Untuk perpustakaan Java-nya, platform Android menggunakan bagian dari proyek Apache Harmony yang sekarang dihentikan. Pada bulan Desember 2015, Google mengumumkan bahwa versi Android berikutnya akan beralih ke implementasi Java berdasarkan proyek OpenJDK.

Perpustakaan C standar Android, Bionic, dikembangkan oleh Google khusus untuk Android, sebagai turunan dari kode perpustakaan C standar BSD. Bionic sendiri telah dirancang dengan beberapa fitur utama khusus untuk kernel Linux.

Manfaat utama menggunakan Bionic daripada GNU C Library (glibc) atau uClibc adalah jejak runtime yang lebih kecil, dan optimalisasi untuk CPU frekuensi rendah. Pada saat yang sama, Bionic dilisensikan di bawah ketentuan lisensi BSD, yang menurut Google lebih cocok untuk model lisensi Android secara keseluruhan.

Dengan tujuan model lisensi yang berbeda, menjelang akhir 2012, Google mengalihkan tumpukan Bluetooth di Android dari BlueZdroid berlisensi GPL ke BlueDroid berlisensi-Apache.

Android tidak memiliki Sistem X Window asli secara default, juga tidak mendukung set lengkap pustaka GNU standar.

Ini membuatnya sulit untuk mem-porting aplikasi atau pustaka Linux yang ada ke Android, sampai versi r5 dari Android Native Development Kit membawa dukungan untuk aplikasi yang ditulis sepenuhnya dalam C atau C ++. Perpustakaan yang ditulis dalam C juga dapat digunakan dalam aplikasi dengan suntikan shim kecil dan penggunaan JNI.

Android memiliki sistem operasi lain, Trusty OS, di dalamnya, sebagai bagian dari komponen perangkat lunak "Aman" yang mendukung Lingkungan Pelaksanaan Tepercaya (TEE) pada perangkat seluler. " "Trusty and the Trusty API dapat berubah.

Aplikasi untuk OS Trusty dapat ditulis dalam C / C ++ (dukungan C ++ terbatas), dan mereka memiliki akses ke pustaka C kecil. Aplikasi All Trusty adalah single-threaded; multithreading di trustedy userspace saat ini tidak didukung.

Pengembangan aplikasi pihak ketiga tidak didukung di "versi saat ini, dan perangkat lunak yang berjalan pada OS dan prosesor untuk itu dijalankan" kerangka DRM untuk dilindungi konten.

Ada banyak kegunaan lain untuk TEE seperti pembayaran seluler, perbankan aman, enkripsi disk penuh, autentikasi multi-faktor, perlindungan penyetelan ulang perangkat, penyimpanan terus-menerus yang dilindungi pemutaran ulang, tampilan nirkabel ("pemeran") dari konten yang dilindungi, PIN aman dan pemrosesan sidik jari, dan bahkan deteksi malware.

Komunitas Open Source Android
Open Source Android dirilis oleh Google di bawah lisensi sumber terbuka, dan sifatnya yang terbuka telah mendorong komunitas besar pengembang dan penggemar untuk menggunakan kode sumber terbuka sebagai landasan untuk proyek yang digerakkan oleh komunitas, yang memberikan pembaruan ke perangkat yang lebih lama, menambahkan fitur baru untuk pengguna tingkat lanjut atau menghadirkan Android ke perangkat yang awalnya dikirimkan bersama sistem operasi lain.

Rilis yang dikembangkan komunitas ini sering membawa fitur baru dan pembaruan ke perangkat lebih cepat daripada melalui saluran pembuat / operator resmi, dengan tingkat kualitas yang sebanding, memberikan dukungan lanjutan untuk perangkat yang lebih lama yang tidak lagi menerima pembaruan resmi; atau menghadirkan Android ke perangkat yang secara resmi dirilis menjalankan sistem operasi lain, seperti HP TouchPad.

Rilis komunitas sering kali sudah di-root dan berisi modifikasi yang tidak disediakan oleh vendor asli, seperti kemampuan untuk melakukan overclock atau over / undervolt prosesor perangkat. CyanogenMod adalah firmware komunitas yang paling banyak digunakan, sekarang dihentikan dan digantikan oleh LineageOS

Secara historis, produsen perangkat dan operator seluler biasanya tidak mendukung pengembangan perangkat pihak ketiga. Produsen menyatakan keprihatinan tentang fungsi yang tidak semestinya dari perangkat yang menjalankan perangkat lunak tidak resmi dan biaya dukungan yang dihasilkan dari ini.

Selain itu, firmware yang dimodifikasi seperti CyanogenMod terkadang menawarkan fitur, seperti penarikan, yang operatornya akan mengenakan biaya tambahan.

Akibatnya, hambatan teknis termasuk bootloader terkunci dan akses terbatas ke izin root adalah hal yang umum di banyak perangkat.

Namun, karena perangkat lunak yang dikembangkan oleh komunitas semakin populer, dan mengikuti pernyataan Pustakawan Kongres di Amerika Serikat yang memungkinkan "jailbreaking" perangkat seluler, produsen dan operator telah melunakkan posisi mereka terkait pengembangan pihak ketiga.

Dengan beberapa diantaranya, termasuk HTC, Motorola, Samsung dan Sony, menyediakan dukungan dan pengembangan yang menggembirakan.

Sebagai akibatnya, seiring waktu, kebutuhan untuk menghindari pembatasan perangkat keras untuk menginstal firmware tidak resmi telah berkurang karena semakin banyak perangkat yang dikirimkan dengan bootloader yang tidak dikunci atau tidak dapat dibuka, mirip dengan seri ponsel Nexus, meskipun biasanya mengharuskan pengguna mengabaikan perangkat mereka ' jaminan untuk melakukannya.

Namun, terlepas dari penerimaan produsen, beberapa operator di AS masih mengharuskan ponsel dikunci, membuat frustasi pengembang dan pelanggan.

0 comments: