Permitir que la frecuencia de la cpu sea establecida directamente por el proceso a nivel de usuario es un problema de seguridad. Es una funcionalidad del hardware que podría afectar a otros procesos que se ejecutan en el sistema. En un sistema ideal, ningún proceso de nivel de usuario debería ser capaz de afectar a la ejecución de los procesos de otro usuario, excepto a través de la comunicación explícita entre procesos (por ejemplo, tuberías, señales, archivos, etc).
Ejemplos de daños que se pueden hacer:
- Duración de la batería: un malintencionado o mal escrito podría poner la cpu a un nivel constantemente alto, drenando más batería de la necesaria, sin llamar la atención porque usa poca cpu para sí mismo.
- Bajo rendimiento: una aplicación maliciosa o mal escrita podría establecer la frecuencia de la cpu en un nivel constantemente bajo, lo que resultaría en un bajo rendimiento. Esto podría usarse para engañar al usuario para que compre o descargue aplicaciones optimizadoras innecesarias, entre otras.
- Una frecuencia de cpu conflictiva establecida por múltiples aplicaciones podría llevar a un rendimiento del sistema realmente inestable y a un caos generalizado, ya que se anulan unas a otras. Esta razón por sí sola podría hacer que todo el ajuste de la frecuencia de la cpu sea inútil.
¿La solución a esto? Cualquier proceso individual no debería ser capaz de establecer directamente la frecuencia de la cpu. En su lugar, los procesos que no sean root sólo deberían poder dar pistas, y el sistema podría entonces elegir el mejor ajuste de frecuencia, teniendo en cuenta las pistas de todos los procesos, la política del sistema y la información de contabilidad de los procesos. Esto es lo que son los "gobernadores" de cpufreq. Uno de los trabajos del sistema operativo es moderar el acceso a los recursos compartidos.
Además, hay que tener en cuenta que bajar la frecuencia de la cpu no siempre conduce a una mejor duración de la batería, dependiendo de la carga de trabajo, una menor frecuencia también podría significar que se tarda más tiempo en terminar la tarea, y esto podría anular fácilmente el ahorro.