PROTÓTIPO DE UM MICROKERNEL PARA MELHORAR O DESENVOLVIMENTO MULTITHREADING SOBRE MICROCONTROLADORES

RICARDO MELO CZEKSTER, EVERTON EDUARDO NAGEL

Resumo


Este resumo condiz com o Trabalho de Conclusão II do Curso de Engenharia de Computação que, no presente momento, está em pleno desenvolvimento, desta forma, é preciso deixar previamente claro que ainda não existem resultados finais sobre o projeto e a implementação do protótipo proposto. Entretanto, existem tópicos interessantes a serem apresentados, como, por exemplo, o contexto em que o trabalho está incluído, o planejamento adotado, as etapas e desafios enfrentados até o presente momento, bem como o que ainda será realizado. O Multithreading é uma realidade no desenvolvimento de aplicações para sistemas embarcados e os requisitos das aplicações estão se tornando cada vez mais complexos, exigindo a execução de tarefas concorrentes em conjunto com premissas de tempo real. Algoritmos de escalonamento podem ser considerados como um dos pontos mais importantes no desenvolvimento de um sistema operacional. No âmbito dos sistemas embarcados, é essencial considerar o escalonador como um fator determinante, capaz de causar um forte impacto no comportamento das aplicações, devido aos finitos recursos de hardware, é preciso utilizar métodos mais flexíveis, de forma a garantir otimização e eficiência do sistema. Atualmente, existem projetos de microkernels para microcontroladores, porém estes implementam o algoritmo de escalonamento juntamente com outras funcionalidades do sistema, não permitindo que o desenvolvedor troque ou adicione novos métodos de escalonamento sem que isso demande muitas modificações, ou seja, não há flexibilidade para alternar entre diferentes algoritmos e determinar qual melhor se adapta á necessidade da aplicação. Desta forma, muitas aplicações são desenvolvidas, apesar de estarem limitadas a um algoritmo específico de escalonamento. Nesse sentido, o objetivo deste trabalho é planejar e desenvolver um protótipo de microkernel que permita realizar a execução de uma determinada aplicação utilizando diferentes algoritmos de escalonamento. A ideia é tornar mais flexível para o desenvolvedor o procedimento de alternar entre diferentes algoritmos de escalonamento, através da recompilação do projeto, a fim de poder determinar qual o método que melhor se adapta às necessidades da aplicação. Através disto, espera-se que seja possível explorar a capacidade de um hardware de baixo custo, que possa ser utilizado na resolução de problemas mais complexos, em que são empregados conceitos de paralelismo e concorrência de tarefas. Este estudo consiste, ainda, na aplicação de técnicas modernas, combinando conceitos de multithreading e escalonamento em sistemas embarcados. Logo, existe um enorme potencial a ser explorado em termos de pesquisas futuras e novas adições ao sistema que será implementado. Cabe ressaltar, também, que o protótipo do microkernel é um trabalho em andamento e está em fase de desenvolvimento. A base do sistema encontra-se devidamente organizada em suas camadas e módulos, dessa forma, as implementações respectivas da parte do microkernel, mais especificamente dos algoritmos de escalonamento, estão em progresso. Após concluir o desenvolvimento de pelo menos dois algoritmos de escalonamento será possível obter resultados práticos, comparando a execução de uma aplicação exemplo, utilizando cada um destes algoritmos.


Apontamentos

  • Não há apontamentos.