Αρχικά, το kernel δεν είναι αποκλειστικότητα των Android. Μπορούμε να το εντοπίσουμε και σε άλλα λειτουργικά όπως το iOS, το Mac OS, τα Windows και πολλά ακόμα, ωστόσο υπάρχουν ουσιαστικές διαφορές ανάμεσα τους. Όσον αφορά αυτό των Android, θα μας απασχολήσει το kernel των Linux, αφού πάνω σε αυτό βασίζεται. Βέβαια, δεν σημαίνει ότι χρησιμοποιείται το ίδιο με τις διάφορες εκδόσεις των Linux, καθώς η Google το έχει τροποποιήσει κατάλληλα έτσι ώστε να προσαρμόζεται ακριβώς στο λογισμικό της.
Επίσης, οι κατασκευαστές των τηλεφώνων έχουν αρκετή δουλειά καθώς πρέπει να φτιάχνουν drivers ανάλογα με το hardware που χρησιμοποιούν και το kernel που έχει η συσκευή. Αυτός είναι και ο βασικός λόγος που αργούν να περάσουν οι ενημερώσεις στα κινητά ή δεν περνάν καθόλου, καθώς κάθε έκδοση του Android έχει διαφορετικό kernel και είναι πολύ πιθανό οι drivers της συσκευής που είχαν γραφτεί για προηγούμενη έκδοση να μην λειτουργούν σωστά σε αυτήν.
Για να κατανοήσουμε, όμως, το τι είναι ένα kernel, θα πρέπει να δούμε τι ακριβώς κάνει. Με απλά λόγια, θα μπορούσαμε να πούμε ότι η βασική λειτουργία του είναι να συνδέει το hardware της συσκευής με το software. Είναι εύκολο να διαπιστώσουμε τη χρησιμότητά αυτού του «συνδετικού κρίκου» με ένα παράδειγμα. Έτσι, αν πατήσετε το κουμπί για να ανέβει η ένταση ουσιαστικά αλληλεπιδράτε με το hardware αλλά το πόσο δυνατά θα αναπαραχθεί τελικά ο ήχος είναι θέμα του software. Επιπλέον όταν πατάτε σε κάποιο μέρος της οθόνης πατάτε πάνω στο hardware αλλά η εφαρμογή για να αντιληφθεί που πατήσατε θέλει να ξέρει τις συντεταγμένες. Ουσιαστικά, δηλαδή, κάθε φορά που αλληλεπιδράτε με την συσκευή σας η δουλεία του kernel είναι να μεταφέρει τις εντολές σας στην εφαρμογή και από εκεί πίσω στο hardware .
Ακούγεται αρκετά περίπλοκο, αλλά σκεφτείτε πως ό,τι θέλετε να κάνετε σε μια εφαρμογή, είτε αφορά κάποια φωνητική εντολή είτε κάποιο σχέδιο για να ξεκλειδώσετε το κινητό σας είτε κάποιο παιχνίδι, το kernel αναλαμβάνει τη μεταφορά των απαραίτητων πληροφοριών. Αξίζει να σημειώσουμε ότι χωρίς αυτό, οι προγραμματιστές για να δημιουργήσουν μια εφαρμογή θα έπρεπε να τη γράψουν ξεχωριστά για κάθε συσκευή, το οποίο θα ήταν ιδιαίτερα χρονοβόρο και δύσκολο.
Επομένως, το kernel είναι ένα από τα σημαντικότερα μέρη ενός λογισμικού, όπως τα Android, και αποτελεί βασικό στοιχείο που πρέπει να γνωρίζουν όσοι ενδιαφέρονται για τη λειτουργία των συσκευών τους και των softwares αυτών.
Source: techingreek.com