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 :
- 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.
- 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.
- 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.