Baseando-se nos três níveis de prioridade introduzidos no segundo trabalho, deve ser criado um mecanismo que altere dinamicamente a prioridade de cada processo de acordo com seu uso recente do recurso CPU. Mais especificamente, o sistema deve aumentar a prioridade de processos que não tenham sido executados nos últimos X segundos, onde X pode se facilmente redefinido na recompilação do sistema. Ao sair do estado "em execução", a prioridade do processo deve voltar a ser a originalmente definida (em sua criação ou pela última chamada a nice).
Nessa nova versão, o sistema deve oferecer garantia contra starvation, ou seja, se forem disparado n processos de prioridade mais alta e m com prioridade mais baixa, todos os n+m processos devem eventualmente conseguir executar (sem necessidade da finalização dos processos de maior prioridade). No entanto, a prioridade dos processos deve ser refletida na quantidade de recurso CPU alocada a cada um deles. A forma exata como o efeito descrito será implementado fica por conta de cada grupo.
A nova versão do trabalho deve também corrigir todos os problemas encontrados nas versões já entregues do segundo trabalho.
Deve ser desenvolvida uma aplicação que mostre claramente a diferença entre os tratamentos dados no trabalho 2 e no trabalho 3 (exceto para grupos para quem isso não faça sentido) e que demonstre o comportamento descrito anteriormente. Além disso, também será usada uma aplicação padrão como exemplo. Assim, na demonstração, cada grupo deve trazer, além do disco de boot (essencial!), todos os arquivos necessários para a recompilação desta aplicação exemplo. Esses arquivos devem ser trazidos em um disquete que reflita a árvore de diretórios original (por exemplo, o disquete deve conter um diretório /usr/include com os arquivos que devem ser colocados nesse diretório, e assim por diante). Também devem ser incluídos nesse disquete todos os fontes alterados. A ausência de arquivos necessários para a correta compilação de uma aplicação será considerada um problema grave no trabalho. Qualquer programa de demonstração desenvolvido pelo grupo deve ser trazido já compilado, além de também em código original.