Apa itu kernel? Mungkin Anda pernah mendengar atau membaca di forum-forum Android, blog, atau diskusi online yang membicarakan tentang kernel. Kernel bukanlah sesuatu yang unik untuk Android, iOS dan MacOS, Windows, BlackBerry QNX, semua sistem operasi tersebut memiliki kernel. Yang kita bahas kali ini berkaitan dengan Linux, karena Android menggunakan kernel Linux. Mari kita coba untuk membahas tentang kernel dan apa yang dilakukan oleh kernel ini.
Perangkat Android menggunakan kernel Linux, tapi itu bukan kernel yang sama persis seperti yang digunakan pada sistem operasi berbasis Linux. Ada banyak kode tertentu yang dibangun pada Android, dan Google sebagai pengelola kernel Android memiliki pekerjaan membuat kernel-kernel ini. Disamping itu, OEM (Original Equipment Manufacturer) ikut berkontribusi juga, karena mereka perlu mengembangkan driver hardware untuk bagian-bagian yang mereka gunakan untuk versi kernel yang mereka gunakan.
Inilah sebabnya mengapa dibutuhkan waktu untuk pengembang Android independen dan hacker untuk port versi baru pada perangkat yang lebih tua agar semuanya bisa bekerja. Driver yang dibuat untuk bekerja pada ponsel dengan kernel Gingerbread tidak akan selalu bekerja pada kernel Ice Cream Sandwich. Dan itu penting, karena salah satu fungsi utama kernel adalah untuk mengontrol perangkat keras. Ini melibatkan banyak kode sumber, dengan lebih banyak opsi ketika membangun kernel ini, yang tidak dapat Anda bayangkan, tetapi pada akhirnya itu hanya perantara antara perangkat keras dan perangkat lunak.
Ketika perangkat lunak/software membutuhkan perangkat keras untuk melakukan sesuatu, maka software akan mengirimkan permintaan ke kernel. Dan ketika kita melakukan sesuatu pada ponsel, seperti mengatur kecerahan layar, mengatur tingkat volume, mengatur tata letak, memulai panggilan, bahkan apa yang digambar di layar pada akhirnya dikendalikan oleh kernel. Sebagai contoh, ketika Anda menekan tombol pencarian di ponsel, Anda memberitahu perangkat lunak untuk membuka aplikasi pencarian. Apa yang terjadi adalah bahwa Anda menyentuh titik tertentu pada digitizer, yang memberitahu perangkat lunak bahwa Anda telah menyentuh layar pada koordinat tersebut. Perangkat lunak ini tahu bahwa ketika tempat tertentu disentuh, dialog pencarian seharusnya terbuka. Kernel yang memberitahu digitizer untuk melihat atau membantu mencari tahu di mana Anda menyentuh, dan memberitahu sistem. Pada gilirannya, ketika sistem menerima suatu sentuhan pada titik tertentu dari kernel ( melalui driver ) sistem tahu harus menggambar apa pada layar. Perangkat keras dan perangkat lunak keduanya berkomunikasi dua arah dengan kernel, dengan begitu telepon Anda tahu kapan harus melakukan sesuatu.
Mungkin itu terdengar cukup rumit. Tapi itu merupakan logika komputer yang cukup standar, ada semacam tindakan yang dihasilkan untuk setiap peristiwa. Tanpa kernel untuk menerima dan mengirim informasi, pengembang harus menulis kode untuk setiap peristiwa tunggal pada setiap bagian dari hardware perangkat Anda. Dengan adanya kernel, semua dilakukan dengan hanya berkomunikasi melalui sistem API Android, dan pengembang perangkat keras hanya perlu membuat perangkat keras berkomunikasi dengan kernel.
Anda tidak perlu tahu persis bagaimana atau mengapa kernel melakukan apa yang dilakukannya, hanya memahami bahwa itu adalah perantara dari perangkat lunak untuk perangkat keras memberikan Anda pemahaman yang cukup baik dari apa yang terjadi di bawah kaca. Semacam memberikan pandangan baru terhadap programer-programer yang tetap terjaga sepanjang malam untuk bekerja membangun kernel untuk ponsel Anda.
Untuk memahami lebih dalam tentang kernel, Anda bisa melihat video dari XDA Developer dibawah ini. Dalam video ini, Produser XDA Developer TV Kevin berbicara tentang pahlawan tanpa tanda jasa dari Android (kernel). Dia memberikan gambaran dasar tentang kernel. Kemudian Kevin berbicara tentang beberapa kernel kustom di XDA dan apa yang dapat mereka sediakan untuk Anda. Jadi jika Anda ingin mempelajari lebih lanjut tentang kernel, periksa video dibawah ini.