Existe uma "arte" usada no agendamento de tarefas. O algoritmo de programação padrão Linux / Unix permite que todos os processos obtenham, em algum momento, a CPU. Isso é feito inicialmente, atribuindo-se a um processo dois itens: (1) prioridade mais baixa na sua categoria (conforme determinado pelo seu valor) e (2) um incremento de tempo novamente com base na categoria de prioridade. Conforme o tempo passa, a prioridade do processo é incrementada, o processo de prioridade mais alta recebe o tempo da CPU. Além disso, o processo de obter CPU é continuamente redeterminado de escala para escala com base na maior prioridade nesse momento após o recálculo. Quando um processo recebe o tempo da CPU, sua prioridade retorna novamente à menor prioridade em sua categoria.
Você pode obter o que deseja usando as prioridades de "tempo real", onde os processos da classe de maior prioridade obtêm a CPU e a utilizam até que todos os processos da classe de prioridade sejam satisfeitos e os processos na próxima classe inferior obtenham o tempo disponível. , até que um processo de prioridade mais alta requeira a CPU e assim por diante até que o incremento de agendamento total da CPU seja usado. Um processo pode renunciar a parte do incremento da CPU, causando uma reprogramação.
Assim, você está vendo o uso do agendador padrão, seu processo de prioridade mais baixa ainda está recebendo tempo de CPU, mas com uma taxa muito menor.