Para que serve a definição de prioridades do processo em tempo real?
pelo que eu li no passado, você é encorajado a não mudar a prioridade de suas aplicações do Windows programaticamente, e se você fizer isso, você nunca deve mudá-las para 'Realtime'.
o que faz a definição de prioridade do processo em' tempo real', em comparação com' alto 'e'acima do Normal'?
7 answers
Um thread de prioridade em tempo real nunca pode ser pré-empatado por interrupções de temporizador e corre em uma prioridade maior do que qualquer outro thread no sistema. Como tal, uma linha de prioridade em tempo real do CPU pode arruinar totalmente uma máquina.
A criação de tópicos prioritários em tempo real requer um privilégio (Se Incrementasebasepriorityprivilege), pelo que só pode ser feito por utilizadores administrativos.
Para O Vista e mais além, uma opção para aplicações que requerem que funcionem em tempo real prioridades é usar o Serviço de escalonamento de classes Multimédia (MMCSS) e deixá-lo gerir a sua prioridade de tópicos. O MMCSS impedirá a sua aplicação de usar muito tempo de CPU para que você não tenha que se preocupar em afundar a máquina.
As janelas às vezes aumentam a prioridade de um tópico por várias razões, mas não aumentam a prioridade de um tópico para outra classe de prioridade. Também não vai aumentar a prioridade de threads na classe de prioridade em tempo real. Então um tópico de alta prioridade não vai ter nenhum. impulso temporário automático para a classe de prioridade em tempo Real.
O capÃtulo "dentro das janelas" de Russinovich sobre como o Windows lida com as prioridades é um grande recurso para aprender como isto funciona. Note que não há qualquer problema com um tópico ter uma prioridade em tempo Real num sistema normal do Windows. não são necessariamente para processos especiais que rodam em máquinas dedicatd. Imagino que os drivers e/ou processos multimÃdia podem precisar de threads com uma prioridade em tempo real. No entanto, tal thread não deve exigir muito CPU-ele deve estar bloqueando a maior parte do tempo, a fim de que os eventos normais do sistema para começar o processamento.Seria a maior prioridade disponÃvel, e normalmente só seria usado na caixa que foi dedicada a executar esse programa especÃfico. É suficientemente alto para causar fome nos fios do teclado e do rato, na medida em que se tornam insensÃveis.
Tão basicamente, se tens de perguntar, não o uses:)
Assim que o Windows descobre que um programa usa uma prioridade superior à normal, parece que limita a prioridade no processo.
Definir a prioridade do inactivo para o tempo real não altera a utilização do CPU.
Descobri na minha CPU AMD multi-processadores que se largar um dos CPUs, como o último, a utilização do CPU será máxima e o último CPU ficará inactivo. A velocidade do processador aumenta para 75% no meu Quad AMD.
Utilize o Gestor de Tarefas->seleccione o processo - >carregue com o botão direito no processo - >seleccionar - >definir a afinidade Clica em tudo menos no último processador. A utilização do CPU aumentará ao máximo nos restantes processadores e contagens de quadros se o processamento de VÃdeo aumentar.
O tempo Real é a maior prioridade classe disponÃvel para um processo. Portanto, é diferente de "alto" na medida em que é um passo maior, e "acima do Normal" na medida em que é dois passos maior.
Da mesma forma, o tempo real também é um nÃvel de prioridade de thread.A prioridade do processo a classe aumenta ou diminui todas as prioridades de thread eficazes no processo e é, portanto, considerada a "prioridade de base".
Então, um processo tem um:
- Base classe de prioridade do processo.
- prioridades individuais do fio, compensações da classe de prioridade de base.
Uma vez que o tempo real é suposto ser reservado para aplicações que absolutamente devem antecipar-se a outros processos em execução, há um privilégio especial de segurança para proteger contra o uso irregular dele. Isto é definido pela PolÃtica de segurança.
Em NT6+ (Vista+), o uso do Escalonador de classes multimédia do Vista é a forma adequada de realizar operações em tempo real em o que é não um SO em tempo real. Funciona, na maioria das vezes, embora não seja perfeito, uma vez que o sistema operacional não é projetado para Operações em tempo real.
A Microsoft considera esta prioridade muito perigosa, com razão. Nenhuma aplicação deve usá-lo exceto EM circunstâncias muito especializadas, e mesmo assim tentar limitar o seu uso a necessidades temporárias.Como todas as outras respostas antes do tempo real dá a esse programa a classe de prioridade máxima. Nada é processado até que o programa seja processado.
Na minha máquina pentium 4, ajustei o minecraft muito em tempo real, uma vez que aumenta muito o desempenho do jogo, e o sistema parece completamente estável. então o tempo real não é tão ruim quanto parece, apenas se você tem um multi-núcleo definir a afinidade de um programa para um núcleo especÃfico ou núcleos (apenas não todos eles, apenas para deixar tudo o resto ser capaz de executar em caso os programas set em tempo real sejam desligados) e defina a prioridade para o tempo real.