@ A resposta de Goldlilock me levou a fazer a pesquisa no caminho certo. Estes são os detalhes da minha pesquisa.
Algoritmos de agendamento disponíveis para processos
O Linux suporta 3 políticas de agendamento. SCHED_FIFO
, SCHED_RR
e SCHED_OTHER
. SCHED_OTHER
é a política padrão do agendador de compartilhamento de tempo universal usada pela maioria dos processos; SCHED_FIFO
e SCHED_RR
destinam-se a aplicações especiais de tempo crítico que precisam de controle preciso sobre a maneira como os processos executáveis são selecionados para execução.
Prioridades disponíveis
Para selecionar um processo a ser executado, o planejador do Linux deve considerar a prioridade de cada processo. Na verdade, existem dois tipos de prioridade.
Um valor prioridade estática é atribuído a cada processo e o agendamento depende dessa prioridade estática. Os processos agendados com SCHED_OTHER
têm prioridade estática 0; os processos agendados em SCHED_FIFO
ou SCHED_RR
podem ter uma prioridade estática no intervalo 1
a 99
(99 é o maior).
A rotina sys_sched_get_priority_max( )
retorna a prioridade estática do processo,
ele retorna 0
para processos que não são em tempo real.
A prioridade dinâmica é usada para aplicativos não em tempo real.
Todos os processos em tempo real são mais prioritários do que os processos normais. O Linux implementa prioridades em tempo real de acordo com o POSIX. O gráfico abaixo pode fornecer uma visão geral de como os processos são planejados com suas prioridades.
HIGH PRIORITY – - – - – > – - – - – > – - – - – > – - – - – > – - – – LEAST PRIORITY
……..real time priority (static priority)…….| …. nice value (dynamic priority) …..
99 ……………………….. 50 ……………………… 1 | -20 …….. -10 …….. 0 …….. 10 ……. 19
Agora, podemos emitir o comando abaixo para verificar a prioridade em tempo real de um processo. Aqui estou usando watchdog desde que tinha um bom valor listado como -.
ps -e -o class,rtprio,pri,nice,cmd | grep watchdog
Esta é a saída do comando acima. Como podemos ver, a prioridade em tempo real é 99, que é a maior prioridade possível.
FF 99 139 - [watchdog/0]
FF 99 139 - [watchdog/1]
TS - 21 0 grep watchdog
Então, de acordo com minha compreensão, a prioridade em tempo real pode levar um valor máximo de 99 e, portanto, não pode haver nenhum valor agradável sobre ela. Essa é a razão, obtemos a saída legal como - para watchdog e outros processos do sistema.
Referências
link
link