Este projeto faz parte do PPOS v2.
O objetivo deste projeto é criar uma função task_sleep, que faz com que a tarefa atual fique suspensa durante o intervalo indicado (tempo em milissegundos), sem perturbar a execução das demais tarefas:
void task_sleep(int t)
Para implementar essa funcionalidade é necessário:
task_sleep, que calcula o instante em que a tarefa atual deverá ser acordada e a suspende na fila de tarefas adormecidas, usando task_suspend;task_awake.Os seguintes arquivos são relevantes para este projeto:
kernel/dispatcher.ckernel/tcb.htest/pingpong-sleep.c: programa de testetest/pingpong-sleep.txt: saída esperada do teste
Na saída, observe que o campo “t=xxx” no início de cada linha indica o instante “atual”, em milissegundos; verifique se os períodos de “sono” de cada tarefa estão coerentes com os valores de tempo indicados nas linhas da saída.