Monitor de sistema em C freestanding + Assembly x86_64 para Linux.
O projeto lê dados reais de /proc e renderiza uma interface de terminal no estilo DOS/UNIX. As camadas de fluxo, coleta e UI ficam em C minimalista; as chamadas críticas ao kernel permanecem em Assembly NASM com syscalls diretas.
- Exibir nome do processador.
- Exibir memória total e memória disponível.
- Exibir uptime do sistema.
- Manter uma base modular para evoluir parsing, interface, logs e coleta de métricas.
- Separar lógica de produto em C e infraestrutura crítica em Assembly.
make
./build/asm-sysmonPara sair:
q + Enter
include/constants.inc Constantes de syscall, buffers e refresh
include/sysmon.h Contrato C/Assembly e constantes do monitor
src/core/main.c Loop principal freestanding
src/core/proc.c Leitura de /proc
src/ui/ui.c Renderização ANSI no terminal
src/input/input.c Entrada de teclado e saída limpa
src/syscalls/syscalls.asm Wrappers de syscalls Linux
docs/ Documentação técnica e planejamento
- Índice documental
- Histórico e evolução
- Arquitetura
- UML
- Casos de uso
- Padrões modernos aplicados
- Testes e validação
- Diagramas SVG
ASM-SysMon é útil como estudo prático de baixo nível: mostra como um programa Linux pode coletar dados do sistema, controlar terminal e organizar módulos com C freestanding e Assembly crítico, sem depender de runtime externo.