Qu'est-ce qu'un noyau ?
Nous avons entendu ce terme assez souvent, mais nous n'avons pas vraiment essayé de comprendre ce que c'est et ce qu'il signifie, et pourquoi il est appelé ainsi.
Le terme ne dérive pas d'un grade dans l'armée comme "colonel", au lieu de cela, il se réfère aux fruits et aux noix.
Dans le monde pratique, le noyau est la partie plus molle, généralement comestible, d'une noix ou d'une graine et est contenu dans sa coquille dure.
Lorsqu'on parle de smartphones, de tablettes et même d'ordinateurs, le noyau n'est pas si différent... bien que je ne vous recommande pas de le manger.
Pensez-y comme à du pop-corn.
Vous vous casserez une dent si vous essayez de manger un grain de pop-corn sans le cuire ! L'enveloppe extérieure est dure et protège l'intérieur. Vous pouvez débloquer tous les bienfaits qui se trouvent à l'intérieur de cette coque dure si vous avez le bon mélange d'huile et de chaleur.
Dans l'androïde, le grain n'est pas si différent. Wikipédia le résume assez bien :
Citation:
Le noyau est le composant principal de la plupart des systèmes d'exploitation informatiques ; c'est un pont entre les applications et le traitement réel des données effectué au niveau matériel.
Le noyau fournit la couche d'abstraction de plus bas niveau pour les ressources (processeurs et périphériques d'E/S) et est responsable de la gestion des ressources du système. Les applications peuvent parler par le biais du noyau aux différents composants matériels du système.
Que fait un noyau ?
Les appareils Android utilisent le noyau Linux, mais ce'n'est pas exactement le même noyau que les autres systèmes d'exploitation basés sur Linux. Il'y a beaucoup de code spécifique à Android intégré, et les mainteneurs du noyau Android de Google'ont du pain sur la planche.
Les OEM (Original Equipment Manufacturers) doivent également contribuer, car ils doivent développer des pilotes matériels pour les pièces qu'ils'utilisent pour la version du noyau qu'ils'utilisent.
C'est pourquoi il faut un certain temps aux développeurs indépendants et aux passionnés d'Android pour porter les nouvelles versions sur les anciens appareils et faire en sorte que tout fonctionne.
Les pilotes écrits pour fonctionner avec le noyau Lollipop sur un appareil ne fonctionneront'nécessairement pas avec le noyau Marshmallow. Et cela'est important, car contrôler le matériel est l'une des principales fonctions d'un noyau.
C'est'tout un tas de code source, avec plus d'options pendant sa construction que vous ne pouvez l'imaginer, mais au final, il'n'est que l'intermédiaire entre le matériel et le logiciel.
Quand un logiciel a besoin que le matériel fasse quelque chose, il envoie une requête au noyau, et par quelque chose, je veux littéralement dire n'importe quoi. De la rotation de l'écran au déverrouillage de l'appareil, en passant par le lancement d'un appel via la radio, même ce qui'est dessiné sur l'écran est finalement contrôlé par le noyau.
Par exemple, lorsque vous appuyez sur le bouton de rotation de votre téléphone, vous demandez au logiciel de faire tourner l'écran. Ce qui se passe, c'est que vous dites au logiciel que vous'avez touché l'écran à ces coordonnées en touchant un certain point sur le numériseur.
Le logiciel sait que lorsque ce point particulier est touché, l'écran est censé tourner. Le numériseur prend l'ordre du noyau de regarder (ou d'écouter, les événements sont "écoutés"
) les touchers, aide à déterminer où vous avez touché, et dit au système que vous l'avez touché.
En retour, lorsque le système reçoit un événement tactile à un point spécifique du noyau (par le biais du pilote), il sait quoi dessiner sur votre écran. Votre téléphone sait quand faire quelque chose lorsque le matériel et le logiciel communiquent dans les deux sens avec le noyau. L'entrée d'un côté est envoyée comme sortie à l'autre, que ce soit'vous jouant à Angry Birds, ou vous connectant au Bluetooth de votre voiture.
Cela semble compliqué, n'est-ce pas ? Eh bien c'est piquant
. Mais c'est aussi une logique informatique assez simple, pour chaque événement il'y a une action spécifique générée. Les développeurs devraient écrire du code pour chaque événement pour chaque pièce de matériel dans votre appareil si le noyau n'accepte pas et n'envoie pas d'informations. Avec le noyau, tout ce qu'ils ont à faire est de communiquer avec lui par le biais des API's (Application Program Interface) du système Android, et les développeurs de matériel n'ont qu'à faire en sorte que le matériel de l'appareil communique avec le noyau.
Qu'est-ce que la version du noyau ?
La version du noyau Linux sur laquelle Android est basé est appelée version du noyau. C'est le cœur du système d'exploitation qui gère les requêtes vers et depuis le matériel, la gestion de la mémoire et des processus et toutes les choses de bas niveau qui sont nécessaires pour qu'Android puisse fonctionner.
Le noyau n'est pas mis à jour très fréquemment car il y a beaucoup de choses à garder à l'esprit et beaucoup de choses qui peuvent mal tourner. Une mise à jour du noyau signifie qu'il faut s'assurer que tout ce qui est dans l'ancienne version d'Android fonctionne correctement sur la nouvelle version.
Vous trouverez ci-dessous les versions du noyau depuis leur construction initiale jusqu'à la dernière construction.
Nouveaux noyaux et noyaux améliorés
C'est là que la communauté Android entre en jeu. Il y a des développeurs qui contribuent en faisant des noyaux personnalisés pour un appareil spécifique. Ils le font juste parce qu'ils aiment contribuer leur travail à la communauté.
L'avantage du personnalisé est que isable d'accorder plus de contrôle sur les paramètres et il est tweaké pour effectuer différemment qui affectent la performance d'un appareil. Par exemple, vous pouvez sous-clocker l'appareil pour économiser la batterie. Lorsque vous dites au noyau d'exécuter le processeur sur une fréquence plus basse pour économiser de l'énergie, on l'appelle Underclocking.
Underclocking rend votre téléphone assez lent, mais sa capacité à économiser la batterie est très bonne. Un téléphone modifié de cette façon avec un noyau personnalisé peut sérieusement fonctionner comme un charme.
Alternativement, vous pouvez Overclocker un téléphone. C'est lorsque le noyau permet au processeur de fonctionner à la fréquence maximale sort de grandes quantités d'énergie (plus élevé que le téléphone utilise habituellement). Cela consomme une batterie extrêmement rapidement (comme un couteau chaud dans du beurre), mais c'est génial car cela ne permet pas à certaines applications de traîner (comme Ashphalt 8). Sans oublier que lorsqu'un téléphone est Overclocké, tout se charge extrêmement rapidement.
Il y a quelques risques à installer un nouveau noyau. Si vous lui dites d'utiliser une quantité de batterie trop faible, il y a une chance que le téléphone ne puisse pas s'allumer.
Trouver le bon noyau
Le forum des développeurs XDA est le meilleur endroit où vous pouvez rechercher un noyau personnalisé, spécifiquement la section pour votre appareil particulier. Il est très important de choisir un noyau qui est non seulement compatible avec la version d'Android que nous exécutons dans notre appareil, mais aussi avec l'appareil que nous possédons.
Vous pouvez également trouver une variété de noyaux personnalisés pour votre appareil si vous recherchez sur le Forum MIUI ici.
Si vous n'êtes pas sûr qu'un noyau est compatible avec votre appareil, demandez dans les forums ou sur le fil de discussion spécifique au noyau. Flasher le mauvais noyau pourrait faire entrer votre appareil en bootloop ou le briquer.
Comment un remplacement de noyau vous avantage
L'utilisation d'un noyau personnalisé avec plus de paramètres à régler semble plutôt cool, mais que peut faire un noyau personnalisé pour vous ? Vous aurez beaucoup d'options à choisir car il y a beaucoup de différents noyaux personnalisés disponibles pour chaque appareil Android qui existe. Vous pouvez choisir des noyaux optimisés pour les économies d'énergie ou des noyaux optimisés pour les performances, en fonction de vos besoins. Il existe aussi d'autres noyaux qui présentent un bon équilibre entre les deux.
Il y a des développeurs qui remplacent certains pilotes par d'autres (pour des raisons diverses), ou qui développent leurs propres correctifs pour les problèmes qu'ils identifient. Beaucoup de développeurs essaient également d'inclure les correctifs du noyau Linux en amont, ou utilisent leurs propres boîtes à outils pour la compilation. Par exemple, pour le Nexus 5, il y a un développeur qui utilise sa propre boîte à outils, qui comprend la dernière version de GCC, une chaîne d'outils Linaro avec des optimisations spécifiques à l'architecture CPU utilisée, et des drapeaux d'optimisation maximale pour le compilateur.
Les développeurs peuvent même ajouter quelques fonctionnalités supplémentaires provenant d'autres noyaux qui n'existent pas officiellement pour votre appareil. Par exemple, il existe certains noyaux pour le Redmi 1s qui incluent la fonction "double tapotement pour réveiller" qui est apparue pour la première fois sur le LG G2.
Par-dessus tout, une poignée de noyaux vous permettent d'accéder vous-même aux variables configurables, de sorte que vous pouvez utiliser le code que les développeurs de noyaux publient, mais le modifier pour ajuster son comportement à votre goût. Cependant, vous devrez faire des recherches sur certaines des options disponibles avant de commencer à modifier leurs valeurs. En d'autres termes, un noyau personnalisé peut fournir des améliorations, des fonctionnalités supplémentaires, une spécialisation et une configurabilité extrême.
Les options de personnalisation d'un noyau
Le noyau, à cet égard, est extrêmement personnalisable. Non seulement le fabricant doit brancher les pilotes nécessaires pour que tout le matériel fonctionne correctement, mais il y a beaucoup de variables qu'il doit régler. Ils peuvent jouer avec toutes sortes de choses.
Quelques variables avec lesquelles nous pouvons jouer sont :
- Les fréquences minimales et maximales auxquelles le CPU peut monter ou descendre
- La fréquence à laquelle le CPU doit monter en puissance à chaque fois qu'il détecte une entrée tactile (pour assurer un réveil plus doux)
- Le degré d'occupation du CPU avant qu'il n'active des cœurs supplémentaires qu'il a normalement désactivés pour économiser la batterie
- Le gouverneur du CPU (qui détermine à quelle vitesse il a tendance à monter en puissance ou non) qui doit être utilisé
- Activer la charge rapide USB (pour les ports USB 3.0)
- Modifier le voltage du CPU pendant toutes les fréquences possibles
- La fréquence maximale du GPU
- Configurer le planificateur d'E/S qui est utilisé
Applications pour la gestion du noyau
Le noyau personnalisé peut faire sa magie une fois qu'il est installé. Cependant, nous devons dire au noyau ce qu'il doit faire. Vous pouvez le contrôler manuellement à partir des paramètres avec certaines ROMs comme MIUI. Tous les autres auront besoin d'applications tierces comme Kernel Adiutor,Synapse, etc.
Ces applis vous permettent de tweaker des paramètres comme :
CPU (Fréquence, Gouverneur)
Voltage du CPU
CPU Hotplug
GPU (Fréquence, Gouverneur)
Écran (Calibrage des couleurs [RVB])
Commandes de réveil (DT2W, S2W)
Son (Faux son, TA-Mod)
Batterie (Charge rapide)
Planificateur d'E/S
Fusion des Samepage du noyau
Tueur de mémoire faible (paramètres Minfree)
Mémoire virtuelle
Éditeur d'accessoires de construction
Sauvegarde des profils
Pensée finale
Le noyau est le composant le plus important pour faire fonctionner un appareil car il est un pont entre le matériel et le logiciel d'un appareil. Sans noyau, il n'est pas possible pour un appareil de fonctionner. L'installation d'un nouveau noyau peut être un peu risquée, mais si elle est effectuée correctement, le risque est minime. Mais, il n'est pas nécessaire de flasher un noyau personnalisé dans votre appareil, à moins que vous ne souhaitiez quelques fonctionnalités supplémentaires, car le noyau stock fourni par les équipementiers fonctionne sans problème et sans aucune difficulté.