[Galaxy S III I9305 (4G LTE + 2GB RAM) Android Deve] Oswald Boelcke:
Maybe this helps?

***

Forse questo aiuta?

https://xdaforums.com/showthread.php?t=2416235

Partially quotation/Quotazione parziale:

*********

Cos'è un kernel?

Tratto da: Android dalla A alla Z: cos'è un kernel? | Android Central

Un kernel non è qualcosa di unico per Android - iOS e MacOS ne hanno uno, Windows ne ha uno, il QNX di BlackBerry ne ha uno, infatti tutti i sistemi operativi di alto livello ne hanno uno. Quello che ci interessa è Linux, poiché è quello che usa Android. Proviamo ad abbattere quello che è e ciò che fa.

I dispositivi Android usano il kernel Linux, ma non è lo stesso kernel che usano altri sistemi operativi basati su Linux. C'è un sacco di codice specifico per Android integrato, e i manutentori del kernel Android di Google hanno il loro bel da fare. Anche gli OEM devono contribuire, perché hanno bisogno di sviluppare driver hardware per le parti che stanno utilizzando per la versione del kernel che stanno utilizzando. Questo è il motivo per cui gli sviluppatori e gli hacker Android indipendenti impiegano un po 'di tempo per trasferire nuove versioni su dispositivi meno recenti e ottenere tutto ciò che funziona. I driver scritti per funzionare con il kernel di Gingerbread su un telefono non funzioneranno necessariamente con il kernel Ice Cream Sandwich. E questo è importante, perché una delle funzioni principali del kernel è controllare l'hardware. È un sacco di codice sorgente, con più opzioni mentre lo si costruisce di quanto si possa immaginare, ma alla fine è solo l'intermediario tra l'hardware e il software.

Quando il software ha bisogno dell'hardware per fare qualcosa, invia una richiesta al kernel. E quando diciamo qualcosa, intendiamo qualsiasi cosa. Dalla luminosità dello schermo, al livello del volume, all'avvio di una chiamata attraverso la radio, anche ciò che viene disegnato sul display è in definitiva controllato dal kernel. Ad esempio, quando tocchi il pulsante di ricerca sul telefono, comunichi al software di aprire l'applicazione di ricerca. Quello che succede è che hai toccato un certo punto del digitalizzatore, che indica al software che hai toccato lo schermo con quelle coordinate. Il software sa che quando viene toccato quel punto particolare, si apre la finestra di ricerca. Il kernel è ciò che dice al digitalizzatore di guardare (o ascoltare, gli eventi sono "ascoltati") per i tocchi, aiuta a capire dove hai toccato e dice al sistema che hai toccato. A sua volta, quando il sistema riceve un evento touch in un punto specifico dal kernel (tramite il driver), sa cosa disegnare sullo schermo. Sia l'hardware che il software comunicano in entrambe le direzioni con il kernel, ed è così che il tuo telefono sa quando fare qualcosa. L'input da un lato viene inviato come output all'altro, sia che tu stia giocando a Angry Birds, sia che ti colleghi al Bluetooth della tua auto.

Sembra complicato, e lo è. Ma è anche una logica computerizzata piuttosto standard - c'è un'azione di qualche tipo generata per ogni evento. Senza il kernel per accettare e inviare informazioni, gli sviluppatori dovrebbero scrivere il codice per ogni singolo evento per ogni singolo componente hardware nel dispositivo. Con il kernel, tutto ciò che devono fare è comunicare con esso tramite le API del sistema Android, e gli sviluppatori hardware devono solo rendere l'hardware del dispositivo comunicante con il kernel. La cosa buona è che non hai bisogno di sapere esattamente come o perché il kernel fa quello che fa, solo capire che è il passaggio tra il software e l'hardware ti dà una buona conoscenza di ciò che sta accadendo sotto il vetro. Una sorta di nuova prospettiva per quei tipi che restano svegli tutta la notte a lavorare sui kernel per il tuo telefono, vero?