Logo el.androidermagazine.com
Logo el.androidermagazine.com

Τι είναι ο πυρήνας;

Anonim

Τι είναι ο πυρήνας; Αν περνάτε οποιαδήποτε στιγμή διαβάζοντας φόρουμ Android, blogs, αναλυτικές αναρτήσεις ή συζητήσεις στο διαδίκτυο, σύντομα θα ακούσετε άτομα που μιλάνε για τον πυρήνα. Ο πυρήνας δεν είναι κάτι μοναδικό για το Android - το iOS και το MacOS έχουν ένα, τα Windows έχουν ένα, το QNX του BlackBerry έχει ένα, στην πραγματικότητα όλα τα λειτουργικά συστήματα υψηλού επιπέδου έχουν ένα. Αυτό που μας ενδιαφέρει είναι το Linux, όπως είναι το ένα που χρησιμοποιεί το Android. Ας προσπαθήσουμε να καταλάβουμε τι είναι και τι κάνει.

Οι συσκευές Android χρησιμοποιούν τον πυρήνα του Linux, το στοίχημα κάθε τηλεφώνου χρησιμοποιεί τη δική του έκδοση. Οι συντηρητές του πυρήνα του Linux κρατούν τα πάντα καθαροί και διαθέσιμοι, οι συνεισφέροντες (όπως το Google) προσθέτουν ή αλλάζουν τα πράγματα για να ανταποκριθούν καλύτερα στις ανάγκες τους και οι άνθρωποι που κάνουν το υλικό συμβάλλουν επίσης, επειδή χρειάζονται ανάπτυξη οδηγών υλικού για τα μέρη που χρησιμοποιούν την έκδοση του πυρήνα που χρησιμοποιούν. Αυτός είναι ο λόγος για τον οποίο χρειάζονται λίγο χρόνο για ανεξάρτητους προγραμματιστές και χάκερ Android να μεταφέρουν νέες εκδόσεις σε παλιότερες συσκευές και να δουλέψουν όλα. Οι οδηγοί που γράφονται για να λειτουργούν με μια έκδοση του πυρήνα για ένα τηλέφωνο μπορεί να μην λειτουργούν με διαφορετική έκδοση λογισμικού στο ίδιο τηλέφωνο. Και αυτό είναι σημαντικό, επειδή μια από τις βασικές λειτουργίες του πυρήνα είναι να ελέγχει το υλικό. Είναι ένα πλήρες πηγαίο κώδικα, με περισσότερες επιλογές κατά την κατασκευή του από ό, τι μπορείτε να φανταστείτε, αλλά τελικά είναι μόνο ο διαμεσολαβητής μεταξύ του υλικού και του λογισμικού.

Όταν το λογισμικό χρειάζεται το υλικό να κάνει οτιδήποτε, στέλνει ένα αίτημα στον πυρήνα. Και όταν λέμε οτιδήποτε, εννοούμε τίποτα. Από τη φωτεινότητα της οθόνης, μέχρι το επίπεδο έντασης, για να ξεκινήσει μια κλήση μέσω του ραδιοφώνου, ακόμα και αυτό που έχει σχεδιαστεί στην οθόνη τελικά ελέγχεται από τον πυρήνα. Για παράδειγμα - όταν πατήσετε το κουμπί αναζήτησης στο τηλέφωνό σας, πείτε στο λογισμικό να ανοίξει την εφαρμογή αναζήτησης. Αυτό που συμβαίνει είναι ότι αγγίξατε ένα συγκεκριμένο σημείο στον ψηφιοποιητή, το οποίο λέει στο λογισμικό ότι έχετε αγγίξει την οθόνη σε αυτές τις συντεταγμένες. Το λογισμικό γνωρίζει ότι όταν αγγίξει αυτό το συγκεκριμένο σημείο, θα πρέπει να ανοίξει ο διάλογος αναζήτησης. Ο πυρήνας είναι αυτό που λέει στον ψηφιοποιητή να κοιτάζει (ή να ακούει, τα γεγονότα "ακούγονται" για) για πινελιές, βοηθά να καταλάβω από πού αγγίξατε, και λέει στο σύστημα που το άγγιξε. Με τη σειρά του, όταν το σύστημα λαμβάνει ένα συμβάν αφής σε ένα συγκεκριμένο σημείο από τον πυρήνα (μέσω του προγράμματος οδήγησης), ξέρει τι να σχεδιάσει στην οθόνη σας. Τόσο το υλικό όσο και το λογισμικό επικοινωνούν με τον πυρήνα και με τους δύο τρόπους και έτσι το τηλέφωνο γνωρίζει πότε πρέπει να κάνει κάτι. Η είσοδος από τη μία πλευρά αποστέλλεται ως έξοδος στο άλλο, είτε παίζετε Angry Birds είτε συνδέεστε στο Bluetooth του αυτοκινήτου σας.

Ακούγεται περίπλοκο, και είναι. Αλλά είναι επίσης αρκετά συνηθισμένη λογική του υπολογιστή - υπάρχει μια ενέργεια κάποιου είδους που δημιουργείται για κάθε γεγονός και ανάλογα με την ενέργεια αυτή συμβαίνουν τα πράγματα στο τρέχον λογισμικό. Χωρίς τον πυρήνα για να δεχτείτε και να στείλετε πληροφορίες, οι προγραμματιστές θα πρέπει να γράψουν κώδικα για κάθε συμβάν για κάθε κομμάτι υλικού στη συσκευή σας. Με τον πυρήνα, το μόνο που πρέπει να κάνουν είναι να επικοινωνούν μαζί του μέσω του API του συστήματος Android, και οι προγραμματιστές υλικού πρέπει μόνο να κάνουν το υλικό της συσκευής να επικοινωνεί με τον πυρήνα. Το καλό είναι ότι δεν χρειάζεται να γνωρίζετε ακριβώς πώς ή γιατί ο πυρήνας κάνει αυτό που κάνει, απλώς κατανοώντας ότι είναι η μετάβαση από το λογισμικό στο υλικό σας δίνει μια αρκετά καλή κατανόηση του τι συμβαίνει κάτω από το γυαλί.

Το είδος του δίνει μια εντελώς νέα προοπτική προς όσους υποτρόφους που μένουν μέχρι όλη τη νύχτα να δουλεύουν σε πυρήνες για το τηλέφωνό σας, έτσι δεν είναι;