Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
so:tarefa_main [2015/03/27 16:59] mazieroso:tarefa_main [2023/03/29 12:45] (atual) maziero
Linha 1: Linha 1:
 +====== Tarefa main ======
 +
 +:!: projeto obsoleto, pois ''main'' é uma tarefa igual às demais desde o projeto P3 
 +
 +{{ :so:ppos_07_main.mkv |Video deste projeto}}
 +
 +O objetivo deste projeto é modificar seu sistema de forma que a função main seja vista e escalonada como uma tarefa idêntica às demais tarefas (''ping'', ''pong'', etc).
 +
 +Para isso, as seguintes estruturas e mecanismos devem ser inicializadas na função ''ppos_init'':
 +
 +  * o descritor da tarefa ''main'',
 +  * o mecanismo de preempção por tempo,
 +  * a fila de tarefas prontas (que deve conter a tarefa ''main'').
 +
 +Os seguintes requisitos deverão ser atendidos:
 +
 +  * Como ponto de partida para o desenvolvimento deve ser usado o último código desenvolvido (contabilização).
 +  * O programa principal (''main'') deverá ser tratado como uma tarefa, sendo escalonável da mesma forma que as demais tarefas definidas.
 +  * Todas as tarefas poderão ser escalonadas a partir de sua criação.
 +  * O //dispatcher// deve estar ativo a partir de sua criação (em ''ppos_init''), não sendo mais necessário ativá-lo a partir da função ''main''.
 +
 +Sua implementação deverá funcionar com {{pingpong-maintask.c|este código}} e gerar uma saída similar a {{pingpong-maintask.txt|este exemplo}}.
 +
 +===== Outras informações =====
 +
 +  * Duração estimada: 2 horas.
 +  * Dependências:
 +    * [[Gestão de Tarefas]]
 +    * [[Dispatcher]]
 +    * [[Preempção por Tempo]]
 +    * [[Contabilização]]