Logo id.androidermagazine.com
Logo id.androidermagazine.com

Apa itu kernel?

Anonim

Apa itu kernel? Jika Anda menghabiskan waktu membaca forum Android, blog, cara posting atau diskusi online Anda akan segera mendengar orang berbicara tentang kernel. Kernel bukanlah sesuatu yang unik untuk Android - iOS dan MacOS memilikinya, Windows memilikinya, QNX BlackBerry memilikinya, bahkan semua sistem operasi tingkat tinggi memilikinya. Yang kami tertarik adalah Linux, karena itulah yang digunakan Android. Mari kita coba menjabarkan apa itu dan apa fungsinya.

Perangkat Android menggunakan kernel Linux, bertaruh setiap ponsel menggunakan versi mereka sendiri. Pemelihara kernel Linux menjaga segala sesuatu tetap rapi dan tersedia, kontributor (seperti Google) menambah atau mengubah hal-hal untuk memenuhi kebutuhan mereka, dan orang-orang yang membuat perangkat keras berkontribusi juga, karena mereka perlu mengembangkan driver perangkat keras untuk bagian yang mereka gunakan untuk versi kernel yang mereka gunakan. Inilah sebabnya mengapa dibutuhkan pengembang dan peretas Android independen untuk mem-port versi baru ke perangkat yang lebih lama dan membuat semuanya berfungsi. Driver yang ditulis untuk bekerja dengan satu versi kernel untuk telepon mungkin tidak berfungsi dengan versi perangkat lunak yang berbeda pada telepon yang sama. Dan itu penting, karena salah satu fungsi utama kernel adalah untuk mengontrol perangkat keras. Ini banyak sekali kode sumber, dengan lebih banyak opsi sambil membangunnya daripada yang dapat Anda bayangkan, tetapi pada akhirnya itu hanyalah perantara antara perangkat keras dan perangkat lunak.

Ketika perangkat lunak membutuhkan perangkat keras untuk melakukan apa saja, itu mengirimkan permintaan ke kernel. Dan ketika kita mengatakan sesuatu, kita berarti sesuatu. Dari kecerahan layar, ke tingkat volume, hingga memulai panggilan melalui radio, bahkan apa yang digambarkan di layar pada akhirnya dikendalikan oleh kernel. Misalnya - ketika Anda mengetuk tombol pencarian di ponsel Anda, Anda memberi tahu perangkat lunak untuk membuka aplikasi pencarian. Yang terjadi adalah Anda menyentuh titik tertentu pada digitizer, yang memberi tahu perangkat lunak bahwa Anda telah menyentuh layar pada koordinat tersebut. Perangkat lunak tahu bahwa ketika tempat tertentu disentuh, dialog pencarian seharusnya terbuka. Kernel adalah apa yang memberitahu digitizer untuk melihat (atau mendengarkan, acara "mendengarkan" untuk) untuk sentuhan, membantu mencari tahu di mana Anda menyentuh, dan memberi tahu sistem yang Anda sentuh itu. Pada gilirannya, ketika sistem menerima acara sentuh pada titik tertentu dari kernel (melalui driver), ia tahu apa yang harus menggambar di layar Anda. Baik perangkat keras dan perangkat lunak berkomunikasi dua arah dengan kernel, dan itulah bagaimana telepon Anda tahu kapan harus melakukan sesuatu. Input dari satu sisi dikirim sebagai output ke sisi lain, apakah itu Anda memainkan Angry Birds, atau menghubungkan ke Bluetooth mobil Anda.

Kedengarannya rumit, dan memang begitu. Tapi ini juga logika komputer standar - ada aksi yang dihasilkan untuk setiap peristiwa, dan tergantung pada tindakan itu terjadi pada perangkat lunak yang berjalan. Tanpa kernel untuk menerima dan mengirim informasi, pengembang harus menulis kode untuk setiap peristiwa untuk setiap bagian perangkat keras di perangkat Anda. Dengan kernel, yang harus mereka lakukan adalah berkomunikasi dengannya melalui sistem Android API, dan pengembang perangkat keras hanya perlu membuat perangkat keras perangkat berkomunikasi dengan kernel. Hal baiknya adalah Anda tidak perlu tahu persis bagaimana atau mengapa kernel melakukan apa yang dilakukannya, hanya dengan memahami bahwa itu adalah peralihan dari perangkat lunak ke perangkat keras memberi Anda pemahaman yang cukup baik tentang apa yang terjadi di bawah kaca.

Semacam memberikan pandangan yang sama sekali baru terhadap orang-orang yang begadang sepanjang malam untuk mengerjakan kernel untuk ponsel Anda, bukan?