gendamento em tempo real no Lin

Hoje de manhã, li sobre o planejamento em tempo real do Linux. De acordo com o livro 'Programação do sistema Linux de Robert Love', existem dois agendamentos principais lá. Um é SCHED_FIFO, fifo e o segundo é SCHED_RR, o round robin. E eu entendi como um algoritmo fifo e rr funciona. Mas, como temos a chamada do sistema,

sched_setscheduler (pid_t pid, int policy, const struct sched_parem *sp)

we pode definir explicitamente a política de agendamento para o nosso processo. Portanto, em alguns casos, dois processos em execução pelo root podem ter uma política de agendamento diferente. Como um processo com SCHED_FIFO e outro com SCHED_RR e com a mesma prioridade. Nesse caso, qual processo será selecionado primeiro? o processo classificado FIFO ou o processo classificado RR? Por quê

Considere este caso. Existem três processos A, B, C. Todos estão tendo a mesma prioridade. A e B são processos classificados na classificação RR e C é classificado como FIFO. A e B são executáveis (portanto, ambos estão rodando alternadamente em algum tempo). E atualmente A está em execução. Agora C se torna executável. Nesse caso, se

1. A will preempt for C, or
2. A will run until its timeslice goes zero and let C run. Or
3. A will run until its timeslice goes zero and let B run.
   a) here after B runs till its timeslice becomes zero and let C run or
   b) after B runs till its timeslice becomes zero and let A run again (then C will starve untill A and B finishes)

questionAnswers(8)

yourAnswerToTheQuestion