Ferramenta pronta
Uma ferramenta de terceiros para definir as prioridades de E / S do processo, seja por ação manual do usuário ou automação e persistência, seria < strong> Process Lasso . Ele pode definir praticamente qualquer configuração de processo, e fazê-lo de forma persistente, ou por regras (por exemplo, quando isso acontece, altere a prioridade de E / S).
Resposta programática
A resposta é uma simples chamada de API para uma API nativa do NT, NTSetInformationProcess . É definido como a classe 'IoPriority' no DDK 2008. No NT6, apenas dois níveis são suportados: Muito baixo (fundo) e Normal . Existem tecnicamente 5 níveis definidos - Crítico, Alto, Normal, Baixo e Muito Baixo. O nível Crítico é reservado para operações de paginação. Não há dados sobre os outros.
No entanto, a maneira correta de usar a prioridade de E / S é apenas iniciar um 'modo de segundo plano' por meio de uma chamada para a API do Windows SetProcessPriorityClass , fornecendo PROCESSS_MODE_BACKGROUND_BEGIN. Isso fará com que ele use a prioridade de E / S muito baixa (plano de fundo), junto com uma classe de prioridade de CPU IDLE. Quando terminar, reverta via PROCESS_MODE_BACKGROUND_END.
A API SetThreadPriority também permitirá esse mesmo modo de segundo plano para segmentos específicos. Aqui você forneceria THREAD_MODE_BACKGROUND_BEGIN / END.