- Nome do Recurso: FreeRTOS Task Visualizer
- Autor: Prof. Manuel Barros
- Instituição: Universidade Politécnica de Tomar (UPTomar) / Instituto Politécnico de Tomar (IPT)
- Unidade Curricular: Sistemas Distribuídos de Controlo (SDC)
- Áreas Científicas: Engenharia Informática · Engenharia Eletrotécnica · Sistemas Embebidos e Tempo Real
- Estado: Produção Pedagógica Ativa (Disponibilizado para o ano letivo 2026/2027)
- Versão Atual:
v1.0.0 - Data de Publicação: 8 de Outubro de 2026
- Repositório Oficial: https://github.com/fmbarros/FreeRTOS-Task-Visualizer
O FreeRTOS Task Visualizer é uma ferramenta computacional interativa projetada para desmistificar o comportamento em tempo real do núcleo (kernel) do FreeRTOS num processador mononúcleo (Single-Core).
Os estudantes conseguem explorar experimentalmente:
- A mecânica do escalonador preemptivo por prioridades fixas;
- O ciclo de vida e a máquina de transição de estados de tarefas (Running, Ready, Blocked, Suspended);
- O impacto temporal do temporizador de sistema (System Ticks, com resolução virtual de
$1\text{ ms}$ ); - O comportamento determinístico de chamadas de API essenciais como
vTaskDelay(),vTaskSuspend()evTaskResume(); - A ocorrência e mitigação de anomalias temporais como a inanição de tarefas (Task Starvation);
- A cronologia detalhada através de um analisador lógico virtual incorporado.
Primeira versão oficial disponibilizada, integrando:
- Simulação de 4 tarefas concorrentes com parametrização em tempo real;
- Núcleo de CPU com exibição da tarefa ativa e estados ociosos (Idle);
- Diagrama vetorial SVG de estados interativo com realce dinâmico de transições;
- Analisador lógico com janela de amostragem configurável de 100 ms a 5 s;
- Registo cronológico de eventos com auditoria de decisões de escalonamento;
- Manual de utilizador bilingue (Português / Inglês) em janela modal;
- Mecanismos de integridade e ofuscação com proteção contra cópia no navegador;
- Comprovativos datados de criação e integridade criptográfica SHA-256 no diretório
evidence/.
v1.1.0(Next): Nova funcionalidade de comunicação entre tarefas (Filas de Mensagens e Semáforos do FreeRTOS) e novo conjunto de exercícios práticos guiados para sessões de laboratório.v1.1.1(Next): Otimizações e correções de renderização gráfica sem alteração dos objetivos pedagógicos fundamentais.v2.0.0(Next): Alteração substancial da arquitetura visual, suporte a sistemas com múltiplos núcleos (FreeRTOS SMP) e módulo de desafios interativos com avaliação formativa automática.
FreeRTOS-Task-Visualizer/
├── README.md # Identificação, objetivos, estado, versão e condições
├── LICENSE.md # Direitos de autor e termos CC BY-NC-ND 4.0
├── CITATION.cff # Ficheiro de citação académica normalizada
├── CHANGELOG.md # Histórico detalhado de alterações por versão
├── LEIA-ME.txt # Resumo rápido em texto simples
├── USER_MANUAL.md # Manual de utilização completo e guiões práticos
├── .gitignore # Filtros de exclusão de ficheiros temporários
│
├── index.html # Aplicação de produção pronta a executar (ofuscada/minificada)
├── freertos-task-visualizer.html # Ficheiro pedagógico com metadados e marca de água
│
├── src/ # Ficheiros-fonte integrais e rascunhos datados
│ └── freertos-task-visualizer.html
├── dist/ # Ficheiros distribuíveis minificados e ofuscados
│ └── freertos-task-visualizer.min.html
├── assets/ # Recursos gráficos e logótipo institucional da UPTomar
│ └── logo-uptomar.png
├── scripts/ # Scripts de compilação, minificação e ofuscação
│ └── build.js
└── evidence/ # Provas de criação, exportações, metadados e hashes SHA-256
├── PROVA-DE-CRIACAO.md
└── checksums-v1.0.0.sha256
O projeto foi construído para funcionar de forma 100% autónoma, sem necessidade de instalação de dependências, servidores Web ou configurações complexas:
- Execução Direta no Navegador:
- Faça duplo clique no ficheiro
index.htmlou abra-o em qualquer navegador moderno (Chrome, Firefox, Safari, Edge).
- Faça duplo clique no ficheiro
- Execução Local com Servidor Leve (Opcional):
Aceda a
npx serve . # ou python3 -m http.server 8000
http://localhost:8000.
Para assegurar a integridade do recurso de ensino e preservar a autoria pedagógica:
- Ofuscação de JavaScript: O código executável da distribuição é ofuscado com técnicas de transformação de fluxo de controlo e proteção de literais;
- Minificação de CSS/HTML: Os estilos foram comprimidos para maximizar o desempenho de renderização;
- Dificultação de Cópia no Navegador: Foram implementadas regras que desativam o menu de contexto do rato (botão direito) e bloqueiam os atalhos típicos de inspeção de código (
F12,Ctrl+U,Ctrl+Shift+I,Cmd+Alt+I, etc.) e cópia arbitrária.
Copyright © 2026 Manuel Barros, Instituto Politécnico de Tomar / Universidade Politécnica de Tomar.
Todos os direitos reservados.
2026 Manuel Barros — Instituto Politécnico de Tomar.
Todos os direitos reservados. Não é permitida a redistribuição
ou adaptação sem autorização.
Este recurso didático é disponibilizado sob a licença Creative Commons Atribuição-NãoComercial-SemDerivações 4.0 Internacional (CC BY-NC-ND 4.0).
- Permitido: Consulta, execução e utilização estritamente pedagógica pelos estudantes matriculados nas unidades curriculares indicadas.
- Proibido: Reprodução, redistribuição pública, espelhamento, modificação, engenharia reversa ou qualquer utilização de índole comercial sem autorização expressa e por escrito do autor.
Consulte o documento completo em LICENSE.md.
Se utilizar este simulador em artigos científicos, relatórios técnicos, dissertações ou trabalhos académicos, consulte o ficheiro CITATION.cff ou utilize a referência:
Barros, Manuel (2026). FreeRTOS Task Visualizer: Ferramenta Didática Interativa de Escalonamento em Tempo Real (Versão 1.0.0). Universidade Politécnica de Tomar. DOI/URL: https://github.com/fmbarros/FreeRTOS-Task-Visualizer
- Docente Responsável: Prof. Manuel Barros
- E-mail Institucional: fmbarros@univpt.pt
- Instituição: Universidade Politécnica de Tomar (UPTomar) / Instituto Politécnico de Tomar (IPT)
- Localização: Estrada da Serra, Quinta do Contador, 2300-313 Tomar, Portugal
