5 votes

Pourquoi le contrôle de la fréquence du CPU nécessite-t-il un accès Root ?

Selon cette réponse L'un des programmes nécessitant un accès Root est SetCPU, qui permet de réduire la fréquence du processeur lorsque le téléphone n'est pas utilisé, ce qui prolonge la durée de vie de la batterie.

Je ne comprends pas une chose - pourquoi cela nécessite-t-il Root ? Quel serait l'inconvénient de réduire la fréquence du CPU ?

6voto

Flow Points 18254

Je ne suis pas d'accord avec Sparx, si vous changez la fréquence du CPU via les méthodes supportées par tous les CPU modernes, le changement, même dans une séquence rapide, n'affecte pas la stabilité. J'exclurais même la possibilité d'un dommage matériel, en raison des mécanismes de sécurité sophistiqués des CPU modernes (protection contre la surchauffe, etc.).

Pourquoi seul Root peut régler la fréquence et le régulateur de fréquence ? Eh bien, d'abord parce que c'est Linux qui permet seulement à Root de le faire. Ensuite, je pense que c'est parce que l'utilisateur moyen ne devrait pas s'en soucier. C'est le système qui décide quelle fréquence est la meilleure dans la situation actuelle. Il le fait automatiquement, sans intervention de l'utilisateur et il fait bien le travail sous Android (IMHO). Si des pensées comme SetCPU peuvent prolonger la durée de vie de la batterie, elles peuvent aussi la réduire, si elles sont mal faites. La question qui se pose ici est la suivante : Pensez-vous qu'une application tierce permet de mieux gérer la batterie que celle du fabricant de l'appareil ? Dans certains cas, oui, mais pas toujours.

4voto

Sparx Points 10852

La manipulation des fréquences du processeur peut entraîner des instabilités dans votre système et peut également endommager le matériel. Il est préférable de ne pas confier une fonction aussi critique aux utilisateurs normaux qui n'ont pas vraiment besoin d'effectuer de tels changements.

Étant donné qu'il s'agit très certainement d'une fonction centrale (importante), il faut un accès Root.

3voto

Bryan Denny Points 21817

1) Parce que seul l'utilisateur Root peut changer la fréquence/gouverneur du système. C'est un appel de fonction au niveau du système et seul Root peut le faire.

2) L'under clocking n'est pas vraiment le problème... C'est l'over clocking. Vous ne pouvez pas vraiment endommager l'appareil, mais vous pouvez vous retrouver dans une boucle de démarrage infinie et un utilisateur moyen peut ne pas savoir comment en sortir.

3) Aussi : vous voulez généralement remplacer le noyau lorsque vous sur/sous horloge pour obtenir de nouvelles fréquences et éventuellement sous tension pour économiser de l'énergie (mais en même temps, vous sortez des paramètres du CPU et il peut finir par faire une boucle de démarrage parce qu'il n'y a pas deux CPU qui sont faits exactement de la même façon lorsque vous faites des choses en dehors de leurs paramètres de fonctionnement normaux).

2voto

Thej Points 655

Permettre à la fréquence du processeur d'être réglée directement par un processus de niveau utilisateur est un problème de sécurité. Il s'agit d'une fonctionnalité matérielle qui pourrait affecter d'autres processus fonctionnant sur le système. Sur un système idéal, aucun processus de niveau utilisateur ne devrait pouvoir affecter l'exécution des processus d'un autre utilisateur, sauf par le biais d'une communication interprocessus explicite (par ex. pipes, signaux, fichiers, etc.).

Exemples de dommages qui pourraient être causés :

  1. Autonomie de la batterie : un programme malveillant ou mal écrit pourrait régler le cpu à un niveau constamment élevé, drainant plus de batterie que nécessaire, sans attirer les soupçons car il utilise peu de cpu pour lui-même.
  2. Mauvaises performances : une application malveillante ou mal écrite peut régler la fréquence du processeur à un niveau constamment bas, ce qui entraîne de mauvaises performances. Cela pourrait ensuite être utilisé pour inciter l'utilisateur à acheter ou télécharger des applications d'optimisation inutiles, entre autres.
  3. Une fréquence de processeur conflictuelle définie par plusieurs applications peut conduire à des performances système vraiment instables et à un désordre général, car elles ne cessent de prendre le pas les unes sur les autres. Cette seule raison pourrait rendre inutile le réglage de la fréquence du processeur.

La solution à ce problème ? Aucun processus ne devrait pouvoir régler directement la fréquence du processeur. Au lieu de cela, un processus non racine devrait seulement pouvoir donner des indications, et le système pourrait alors choisir le meilleur réglage de fréquence, en prenant en compte les indications de tous les processus, la politique du système, et les informations de comptabilité des processus. C'est ce que sont les "gouverneurs" de cpufreq. L'une des tâches du système d'exploitation est de modérer l'accès aux ressources partagées.

Il convient également de noter que la réduction de la fréquence du processeur ne permet pas toujours d'améliorer l'autonomie de la batterie. En effet, selon la charge de travail, une fréquence plus faible peut également signifier qu'il faut plus de temps pour terminer la tâche, ce qui peut facilement annuler les économies réalisées.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X