Projetar e desenvolver um sistema operacional embarcado que contemple os seguintes itens: Desenvolvido
-
Estrutura de dados para controle de TCBs (Task Control Block); Desenvolvido
-
Implementar os algoritmos de escalonamento de tarefas Round Robin e prioridades; Desenvolvido
-
Projetar e desenvolver um despachante que deverá salvar e restaurar o contexto das tarefas; Desenvolvido
-
Implementar um mecanismo de sincronização de tarefas (semáforo ou mutex); Desenvolvido
-
Implementar um mecanismo de troca de mensagens entre tarefas (fila de mensagens, PIPE etc); Desenvolvido
-
Permitir o gerenciamento de memória de dados e pilha com funções para a alocação e a liberação de memória de maneira dinâmica; Desenvolvido
-
Considerar na alocação dinâmica um dos seguintes algoritmos de alocação de segmentos de memória: best-fit, worst-fit ou first-fit, caso seja utilizado contígua; alocação baseada em paginação Desenvolvido
O trabalho deverá ser desenvolvido na linguagem de programação XC8 para microcontroladores da família PIC.