Até onde eu sei, a maneira como o sistema operacional e os computadores em geral operam é que o código da máquina é organizado pelo agendador em uma lista de instruções, que são executadas pela CPU.
Como a quantidade de tempo dedicada por processo é variável, parece que os programas devem ser executados em "taxas" não consistentes. No entanto, muitos programas nos quais isso seria um problema, como jogos, reprodutores de vídeo e drivers, parecem funcionar de maneira perfeitamente consistente. Claro, isso pode acontecer, sendo especialmente perceptível em jogos, mas eu diria que aconteceria com muito mais frequência e por longos períodos de tempo.
A única maneira de evitar isso parece ser dizer aos processos quanto de uma unidade de tempo é gasto executando seu código, já que também imagino que consultar o relógio do sistema periodicamente seria muito ineficiente e teria que acontecer com muita frequência.
Os sistemas operacionais fornecem essas informações aos processos? Em caso afirmativo, existe algum padrão de como ?
Eles fazem. Nos sistemas operacionais modernos, cada programa/processo recebe uma fatia do tempo de CPU disponível. Mas a maioria dos programas, especialmente serviços/daemons, requer menos tempo do que o atribuído, então outros programas/processos podem utilizar mais.
Você está certo: parece que sim.
Mas todo jogador sério sabe sobre o efeito de deterioração dos processos/programas em segundo plano. A regra geral é: quanto menos processos em segundo plano, mais velocidade/capacidade da CPU está disponível para o jogo (em primeiro plano). Normalmente, em uma situação de "jogo", a maioria das fatias de tempo de processamento da CPU não é usada por outros processos; e o principal consumidor é o jogo.
Aqui você está enganado. O conceito de Multitarefa Preemptiva evita a necessidade de cooperação dos processos entre si. O que você supõe que está acontecendo é chamado de multitarefa cooperativa, que "raramente é usado em sistemas maiores modernos" .
Ambas são abordagens diferentes, aqui está uma parte relevante da definição de multitarefa preemptiva :
Este é o conceito que você assumiu erroneamente como inválido:
Multitarefa preemptiva é exatamente isso:
interromper cada processo em um determinado momento induzido pela interrupção do timer e transferir a execução para o Scheduler (que então seleciona o próximo processo a ser executado).
A multitarefa preemptiva é usada pela maioria dos sistemas operacionais modernos, como Windows, Linux e MacOS.
Informações detalhadas sobre abordagens multitarefa podem ser encontradas aqui em OSDev .