Metaescalonador de tempo real implementando em freertos para arduino

Detalhes bibliográficos
Autor(a) principal: Xavier, Guilherme Bruno da Silva
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da Universidade Federal Fluminense (RIUFF)
Texto Completo: http://app.uff.br/riuff/handle/1/30831
Resumo: O desenvolvimento usando microcontroladores afetam a nossa vida de uma forma ou de outra, desde câmeras digitais, tocadores de discos até os mais complexos e avançados sistemas de controle de voo e sistemas de orientação de mísseis, e este é um caminho sem volta por conta dos sistemas embarcados que ganham cada vez mais espaço e ficam cada vez mais próximos do nosso cotidiano. Em sistemas de tempo real críticos, a carga de trabalho pode mudar em virtude de eventos externos, exigindo do sistema a capacidade de escalonamento dinâmico. Porém, nos sistemas embarcados mais simples é extremamente difícil implementar algoritmos de escalonamento dinâmico, muitas vezes é necessário alterar o Kernel do sistema operacional de tempo real que já tem seu próprio algoritmo de escalonamento, mas que no entanto não satisfaz as exigências da aplicação. Este trabalho apresenta um Metaescalonador implementado em FreeRTOS para Arduino, que permite ao seu usuário implementar e usar seu próprio algoritmo de escalonamento apenas adicionando esta simples e leve biblioteca ao seu código fonte. Esta biblioteca fornece uma abstração dos recursos do FreeRTOS para facilitar seu uso e prover uma portabilidade tanto do código do Metaescalonador quanto do algoritmo de escalonamento desenvolvido pelo seu utilizador. Mostrou-se a logica por trás da sua funcionalidade, seu algoritmo e demonstrou-se que a capacidade de customizar o algoritmo de escalonamento para satisfazer as restrições de tempo da aplicação superam o processamento adicional do sistema é ínfimo consumo de memória
id UFF-2_726aaf4f56a733e4a105ef1c92948931
oai_identifier_str oai:app.uff.br:1/30831
network_acronym_str UFF-2
network_name_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository_id_str 2120
spelling Metaescalonador de tempo real implementando em freertos para arduinoMetaescalonadorSistemas de tempo realSistemas operacionais de tempo realEscalonamento de tempo realFreeRTOSArduinoArduino (Controlador programável)Algoritmo de escalonamentoMetaescalonadorReal-time operating systemsReal-time schedulingReal-time systemsMeta-schedulerO desenvolvimento usando microcontroladores afetam a nossa vida de uma forma ou de outra, desde câmeras digitais, tocadores de discos até os mais complexos e avançados sistemas de controle de voo e sistemas de orientação de mísseis, e este é um caminho sem volta por conta dos sistemas embarcados que ganham cada vez mais espaço e ficam cada vez mais próximos do nosso cotidiano. Em sistemas de tempo real críticos, a carga de trabalho pode mudar em virtude de eventos externos, exigindo do sistema a capacidade de escalonamento dinâmico. Porém, nos sistemas embarcados mais simples é extremamente difícil implementar algoritmos de escalonamento dinâmico, muitas vezes é necessário alterar o Kernel do sistema operacional de tempo real que já tem seu próprio algoritmo de escalonamento, mas que no entanto não satisfaz as exigências da aplicação. Este trabalho apresenta um Metaescalonador implementado em FreeRTOS para Arduino, que permite ao seu usuário implementar e usar seu próprio algoritmo de escalonamento apenas adicionando esta simples e leve biblioteca ao seu código fonte. Esta biblioteca fornece uma abstração dos recursos do FreeRTOS para facilitar seu uso e prover uma portabilidade tanto do código do Metaescalonador quanto do algoritmo de escalonamento desenvolvido pelo seu utilizador. Mostrou-se a logica por trás da sua funcionalidade, seu algoritmo e demonstrou-se que a capacidade de customizar o algoritmo de escalonamento para satisfazer as restrições de tempo da aplicação superam o processamento adicional do sistema é ínfimo consumo de memóriaThe development using microcontrollers affect our lives in one way or another, from digital cameras, disk players to the most complex and advanced flight control systems and missile guidance systems, and there is no way to rollback because embedded systems became significantly part of our daily lives. In hard real-time systems, the workload may change due to external events, requiring the system a dynamic scheduler. However in simpler embedded systems it is extremely difficult to implement dynamic scheduling algorithms, it is often necessary to change the kernel of real-time operating system that already has it own scheduling algorithm, however it does not satisfies the requirements of the application. This work presents a meta-scheduler implemented in FreeRTOS for Arduino, which allows its user to implement and use its own scheduling algorithm just by adding this simple and lightweight framework to the source code. This framework provides an abstraction of the features of FreeRTOS to facilitate its use and provide portability of both the meta scheduler code and the scheduling algorithms developed. This paper explains the logic behind this functionality, the meta-scheduler’s algorithm and demonstrates that the capacity of customizing the scheduling algorithm to satisfy applications timings overcome its overhead and small memory consumption27 p.Guerra, Raphael Pereira de OliveiraDrummond, Lucia Maria de AssupçãoBoeres, Maria Cristina SilvaXavier, Guilherme Bruno da Silva2023-10-17T20:51:46Z2023-10-17T20:51:46Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfXAVIER, Guilherme Bruno da Silva. Metaescalonador de tempo real implementando em freertos para arduino. 2018. 27 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2018.http://app.uff.br/riuff/handle/1/30831CC-BY-SAinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)instname:Universidade Federal Fluminense (UFF)instacron:UFF2023-10-17T20:51:51Zoai:app.uff.br:1/30831Repositório InstitucionalPUBhttps://app.uff.br/oai/requestriuff@id.uff.bropendoar:21202024-08-19T10:49:04.086668Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)false
dc.title.none.fl_str_mv Metaescalonador de tempo real implementando em freertos para arduino
title Metaescalonador de tempo real implementando em freertos para arduino
spellingShingle Metaescalonador de tempo real implementando em freertos para arduino
Xavier, Guilherme Bruno da Silva
Metaescalonador
Sistemas de tempo real
Sistemas operacionais de tempo real
Escalonamento de tempo real
FreeRTOS
Arduino
Arduino (Controlador programável)
Algoritmo de escalonamento
Metaescalonador
Real-time operating systems
Real-time scheduling
Real-time systems
Meta-scheduler
title_short Metaescalonador de tempo real implementando em freertos para arduino
title_full Metaescalonador de tempo real implementando em freertos para arduino
title_fullStr Metaescalonador de tempo real implementando em freertos para arduino
title_full_unstemmed Metaescalonador de tempo real implementando em freertos para arduino
title_sort Metaescalonador de tempo real implementando em freertos para arduino
author Xavier, Guilherme Bruno da Silva
author_facet Xavier, Guilherme Bruno da Silva
author_role author
dc.contributor.none.fl_str_mv Guerra, Raphael Pereira de Oliveira
Drummond, Lucia Maria de Assupção
Boeres, Maria Cristina Silva
dc.contributor.author.fl_str_mv Xavier, Guilherme Bruno da Silva
dc.subject.por.fl_str_mv Metaescalonador
Sistemas de tempo real
Sistemas operacionais de tempo real
Escalonamento de tempo real
FreeRTOS
Arduino
Arduino (Controlador programável)
Algoritmo de escalonamento
Metaescalonador
Real-time operating systems
Real-time scheduling
Real-time systems
Meta-scheduler
topic Metaescalonador
Sistemas de tempo real
Sistemas operacionais de tempo real
Escalonamento de tempo real
FreeRTOS
Arduino
Arduino (Controlador programável)
Algoritmo de escalonamento
Metaescalonador
Real-time operating systems
Real-time scheduling
Real-time systems
Meta-scheduler
description O desenvolvimento usando microcontroladores afetam a nossa vida de uma forma ou de outra, desde câmeras digitais, tocadores de discos até os mais complexos e avançados sistemas de controle de voo e sistemas de orientação de mísseis, e este é um caminho sem volta por conta dos sistemas embarcados que ganham cada vez mais espaço e ficam cada vez mais próximos do nosso cotidiano. Em sistemas de tempo real críticos, a carga de trabalho pode mudar em virtude de eventos externos, exigindo do sistema a capacidade de escalonamento dinâmico. Porém, nos sistemas embarcados mais simples é extremamente difícil implementar algoritmos de escalonamento dinâmico, muitas vezes é necessário alterar o Kernel do sistema operacional de tempo real que já tem seu próprio algoritmo de escalonamento, mas que no entanto não satisfaz as exigências da aplicação. Este trabalho apresenta um Metaescalonador implementado em FreeRTOS para Arduino, que permite ao seu usuário implementar e usar seu próprio algoritmo de escalonamento apenas adicionando esta simples e leve biblioteca ao seu código fonte. Esta biblioteca fornece uma abstração dos recursos do FreeRTOS para facilitar seu uso e prover uma portabilidade tanto do código do Metaescalonador quanto do algoritmo de escalonamento desenvolvido pelo seu utilizador. Mostrou-se a logica por trás da sua funcionalidade, seu algoritmo e demonstrou-se que a capacidade de customizar o algoritmo de escalonamento para satisfazer as restrições de tempo da aplicação superam o processamento adicional do sistema é ínfimo consumo de memória
publishDate 2023
dc.date.none.fl_str_mv 2023-10-17T20:51:46Z
2023-10-17T20:51:46Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv XAVIER, Guilherme Bruno da Silva. Metaescalonador de tempo real implementando em freertos para arduino. 2018. 27 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2018.
http://app.uff.br/riuff/handle/1/30831
identifier_str_mv XAVIER, Guilherme Bruno da Silva. Metaescalonador de tempo real implementando em freertos para arduino. 2018. 27 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2018.
url http://app.uff.br/riuff/handle/1/30831
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv CC-BY-SA
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC-BY-SA
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)
instname:Universidade Federal Fluminense (UFF)
instacron:UFF
instname_str Universidade Federal Fluminense (UFF)
instacron_str UFF
institution UFF
reponame_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
collection Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository.name.fl_str_mv Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)
repository.mail.fl_str_mv riuff@id.uff.br
_version_ 1811823577937215488