Alguém pode explicar como trabalhar com prioridades de thread no OpenBSD?
As informações sobre essa questão nas páginas da MAN são ruins, não fornecem uma compreensão clara. Em particular:
sched_get_priority_min/max fornece o intervalo. Eu tenho o OpenBSD 6.3 amd64 e o intervalo é 0-31 .
Se eu vir a política / nível de prioridade padrão do primeiro thread de processo criado, vejo: (SCHED_OTHER, 0) . Se 0 for menor, como posso especificar o encadeamento ocioso? Ou prioridade abaixo do normal? Posso apenas aumentar a prioridade ? Qual prioridade tem encadeamentos do sistema? Por ideia, o nível de prioridade padrão deve ser normal .
A página MAN pthread_setschedparam() diz: "A política de agendamento para um segmento pode ser SCHED_FIFO (primeiro a entrar, primeiro a sair) ou SCHED_RR (round-robin)". Por que não SCHED_OTHER ? O primeiro thread padrão tem esta política.
Essas prioridades são em tempo real ou são normais?
Alguém pode deixar claro?
No Windows, posso definir idle priority e vejo que esse thread está agendado somente quando não há outro trabalho em um sistema. Eu posso definir time_critical , e este segmento tem quase todo o tempo do processador.
Como resolver essas tarefas no OpenBSD? Quais são os análogos das prioridades do Windows: idle , lowest , below_normal , normal , above_normal , highest , time_critical ?
Como escolher entre políticas? FIFO , OTHER ou RR ? Essas políticas são iguais na concessão de tempo de processamento quando o nível de prioridade é o mesmo?
Muitas perguntas sem respostas nas páginas da MAN.