Desenvolvimento de mecanismo para especificação de políticas de escalonamento em projetos de sistemas embarcados

Detalhes bibliográficos
Ano de defesa: 2011
Autor(a) principal: Patrícia Santos, Daniele
Orientador(a): Natividade da Silva Barros, Edna
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/2747
Resumo: Em sistemas embarcados, uma de suas partes críticas é o escalonador de tarefas. Este é responsável por determinar qual tarefa ocupará o processador em cada instante de tempo. Uma escolha de tarefa errada pode ter resultados que vão de uma diminuição de desempenho à perda de vidas humanas. Diante de sistemas cada vez mais complexos, surge a necessidade de criar escalonadores de tarefas especializados para aplicações específicas com o intuito de melhorar o desempenho desses sistemas. Sendo a implementação de escalonadores uma tarefa trabalhosa, que requer o uso de linguagens de baixo nível, esse trabalho de mestrado apresenta uma linguagem específica de domínio, a SchedLanguage, para facilitar a implementação de políticas de escalonamento dirigidas a prioridades. Com uma sintaxe simples, a SchedLanguage facilita a implementação de escalonadores, permitindo que estes sejam especificados em um nível de abstração maior. Além disso, também proporciona uma detecção precoce de erros relacionados ao entendimento e definição do sistema. Também é mostrado neste trabalho a ferramenta SchedTool, que gera um escalonador a partir de uma especificação em SchedLanguage. A utilização da linguagem proposta neste trabalho não é restrita a uma única plataforma. Por necessitar de algumas informações relacionadas à plataforma utilizada, uma mesma especificação nessa linguagem pode ser utilizada em diferentes plataformas. A linguagem e a ferramenta apresentadas neste trabalho foram validadas utilizando uma plataforma de referência ArchC, sendo utilizadas para escalonar diferentes tipos de tarefas