Sur un appareil mobile équipé d'un processeur à quatre cœurs, le système d'exploitation peut allouer dynamiquement des les charges de travail au cœur du processeur approprié en fonction des charges actuelles du processeur et de la priorité des tâches/activités. Par exemple, si deux cœurs de processeur sont occupés à traiter des tâches longues telles que les mises à jour d'applications Android, la compression de fichiers et le traitement des médias, le système d'exploitation peut immédiatement allouer une charge de travail à un cœur de processeur approprié. d'applications Android, la compression de fichiers et le traitement des médias, le système d'exploitation peut tâches sensibles à la latence, telles que les entrées tactiles, au troisième ou quatrième cœur disponible afin d'assurer une réactivité. Lorsque plusieurs tâches sont exécutées en même temps, les requêtes en attente de ces tâches peuvent être traitées plus rapidement. de ces tâches peuvent être traitées plus rapidement si plusieurs cœurs sont disponibles pour répondre à ces demandes.
Le système d'exploitation Android a évolué à partir de Linux, et dispose donc d'une prise en charge native du multitâche et multithreading. Les versions récentes d'Android 2.3 et Android 3.0/3.1/3.2 ont ajouté plusieurs fonctionnalités qui améliorent la capacité du système d'exploitation à tirer parti de la puissance de traitement des processeurs multicœurs. Les navigateurs mobiles tels que Firefox et Webkit sont basés sur leurs homologues de bureau et incluent donc nativement le support du multithreading. Le nouveau navigateur inclus dans Android 3.0 prend en charge non seulement le multithreading, mais aussi la navigation par onglets. Ces navigateurs sont capables d'utiliser la puissance de traitement accrue offerte par les processeurs multi-cœurs pour offrir une expérience de navigation Web plus rapide et de meilleure qualité.
Les images suivantes en décrivent davantage :
Cette figure montre l'utilisation de chaque cœur d'un système de CPU quadruple pendant la navigation sur le site Web populaire du New York Times. Cette figure montre que le navigateur utilise les quatre cœurs de l'unité centrale quadruple, et ce traitement parallèle permet une navigation Web beaucoup plus rapide que sur un appareil mobile équipé d'une unité centrale double. Les CPU quadri-cœurs offrent également des performances supérieures pour les navigateurs qui prennent en charge la navigation par onglets.
La figure ci-dessous montre l'utilisation du CPU sur les quatre cœurs du CPU lorsque plusieurs onglets sont ouverts dans un navigateur Web. En fait, la navigation par onglets utilise un traitement important du CPU et, comme le montre la figure, peut même saturer les quatre cœurs d'un CPU quadri-cœur.
Raison pour laquelle le système d'exploitation Android devrait utiliser tous les cœurs : (Comme je suis un développeur Android, la raison est liée au point de vue des développeurs Android).
En raison de la croissance rapide des jeux mobiles, les développeurs transfèrent les moteurs de jeux populaires des PC et des consoles vers l'environnement mobile. à l'environnement mobile. Ces moteurs de jeu ont été développés à l'origine pour des plates-formes PC de bureau multicœurs et tireront donc parti des processeurs multicœurs des processeurs mobiles pour offrir des avantages immédiats aux joueurs mobiles. pour offrir des avantages immédiats aux joueurs mobiles. Les CPU quadri-cœurs fournissent une puissance de traitement considérable pour les développeurs de jeux et leur permettront d'inclure des effets physiques avancés, de l'intelligence artificielle, la détection/évitement des collisions, des textures virtuelles, une meilleure jouabilité en réseau, etc. Les CPU quadri-cœurs et la technologie SMP variable permettront aux appareils mobiles de repousser les limites de la performance et aux développeurs d'applications et de jeux de proposer de nouvelles expériences mobiles, tout en prolongeant l'autonomie de la batterie pour les cas d'utilisation les plus populaires.
À mesure que les jeux mobiles gagnent en complexité et en richesse visuelle, la taille des fichiers correspondants au contenu des jeux téléchargeables a également augmenté de façon considérable. Souvent, la taille du fichier du jeu est si importante que le temps nécessaire pour le télécharger dépasse le délai de remboursement de quinze minutes prévu après l'achat pour que les utilisateurs puissent demander un remboursement s'ils n'aiment pas le jeu. Cette situation est non seulement source de frustration pour les acheteurs, mais elle les dissuade également d'acheter des jeux avancés qui nécessitent le téléchargement de gros fichiers.
Les techniques de génération de textures dynamiques en temps réel permettent aux développeurs de jeux de coder des jeux de telle sorte que les textures requises dans le jeu soient créées en temps réel en fonction de la narration et de l'état du jeu. Comme les textures sont générées à la volée, il n'est pas nécessaire de les fournir au moment de l'achat. Grâce à cette technique, les développeurs de jeux peuvent réduire la taille des fichiers de jeu de plusieurs ordres de grandeur. Jetez un coup d'œil à la variation de la scène suivante dans les jeux avec un processeur à 4 cœurs.
24 votes
Bill gates a posé une question et steve jobs a édité ceci :) Sir Dennis Ritchie va répondre à cette question :)
0 votes
Je ne voudrais pas répéter la réponse de quelqu'un d'autre, mais je suis d'accord avec les réponses et la discussion sur ce fil. Question similaire Il n'y a aucune raison valable pour que le système d'exploitation n'utilise pas tous les cœurs. J'espère que cela vous aidera et bon travail.
1 votes
Je ne vois pas Linus Torvald dans les parages.
1 votes
Bien qu'elle ne soit pas nécessairement pertinente, la question est quelque peu erronée : toutes les applications Android ont nécessairement plusieurs threads. Même dans le cas trivial où un développeur novice peut faire quelque chose sans avoir conscience du threading, il y a toujours un certain nombre de threads créés dans l'acte de mettre en place un processus d'application, et ils finissent par être utilisés.
2 votes
Des programmes triviaux pour l'évaluer se trouvent à bigflake.com/MultiCore.java.txt et bigflake.com/cpu-spinner.c.txt . Il existe plusieurs scénarios dans lesquels le noyau planifiera tous les threads d'une application donnée sur un seul cœur, mais ces programmes montrent que si vous faites des efforts, vous pouvez faire fonctionner tous les cœurs.
1 votes
J'ai mis MultiCore.java.txt dans une application triviale, l'ai exécutée sous systrace, et ai posté les résultats sur bigflake.com/systrace . Vous pouvez clairement voir le point où le Nexus 4 transfère le travail aux 3ème et 4ème cœurs. Vous pouvez également voir qu'il y a beaucoup de choses qui se passent dans le système en dehors de l'application, donc même une application "single-thread" peut bénéficier d'un appareil multi-core.