====== 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]]