Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
| ppos-v2:escalonador_por_prioridades [2026/03/27 16:18] – [Arquivos] maziero | ppos-v2:escalonador_por_prioridades [2026/05/06 22:31] (atual) – maziero | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | ====== Escalonamento por prioridades ====== | ||
| + | |||
| + | Este projeto faz parte do [[PPOS-v2: | ||
| + | |||
| + | Este projeto consiste em adicionar um escalonador baseado em prioridades com envelhecimento ao nosso sistema operacional. | ||
| + | |||
| + | As seguintes operações devem ser implementadas no arquivo '' | ||
| + | |||
| + | * uma função '' | ||
| + | * uma função '' | ||
| + | * funções '' | ||
| + | |||
| + | <code c> | ||
| + | void sched_setprio (task_t *task, int prio) | ||
| + | </ | ||
| + | |||
| + | Esta função ajusta a prioridade **estática**((Pode ajustar a prioridade dinâmica também, para que o efeito da mudança seja imediato.)) da tarefa '' | ||
| + | |||
| + | <code c> | ||
| + | int sched_getprio (task_t *task) | ||
| + | </ | ||
| + | |||
| + | Esta função devolve o valor da prioridade **estática** da tarefa '' | ||
| + | |||
| + | ===== Arquivos ===== | ||
| + | |||
| + | Os seguintes arquivos são relevantes para este projeto: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | <note tip> | ||
| + | Na saída esperada, observe que a tarefa '' | ||
| + | </ | ||
| + | |||
| + | ===== Observações ===== | ||
| + | |||
| + | * O escalonador deve usar prioridades no estilo UNIX (valores entre -20 e +20, com escala negativa). | ||
| + | * Ao ser criada, cada tarefa recebe a prioridade default (0). | ||
| + | * Para que o escalonador funcione corretamente, | ||
| + | * O envelhecimento deve ser implementado **dentro do escalonador**. | ||
| + | |||
| + | ===== Outras informações ===== | ||
| + | |||
| + | * Duração estimada: 3 horas. | ||
| + | * Dependências: | ||
| + | * [[Tarefas cooperativas]] | ||
| + | * [[Despachante de tarefas]] | ||