Metaescalonador de tempo real implementando em freertos para arduino
Autor(a) principal: | |
---|---|
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 |