sched_setscheduler dice:
Toda la programación es preventiva: si un proceso con una prioridad estática más alta está listo para ejecutarse, el proceso actualmente en ejecución se sustituirá y se devolverá a la lista de espera para su nivel de prioridad estática.
mientras que setpriority dice
Esto hace que los valores agradables muy bajos (+19) realmente proporcionen poca CPU a un proceso siempre que haya otra carga de mayor prioridad en el sistema, y hace que los valores agradables altos (-20) entreguen la mayor parte de la CPU a las aplicaciones que lo requieren
Entonces, ¿cómo va a cambiar el valor agradable influir en la ejecución de los programas? ¿Es similar a la programación RT (donde un programa con un valor agradable más alto va a interrumpir el programa con un valor agradable más bajo)?
Toda la información en internet es cómo usar nicey cómo cambiar la prioridad de un proceso. Ningún enlace explica cómo funciona exactamente el proceso con diferente prioridad. Ni siquiera pude encontrar el código fuente.
fuente
