Prioridades de encadeamentos do OpenBSD

1

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.

    
por Mikola Akbal 22.10.2018 / 01:45

0 respostas