Um projeto de aprendizagem para compreender os fundamentos de um sistema operativo x86, camada a camada.
Objetivo · Percurso · Começar · Estado
O Simple OS é um projeto pessoal de aprendizagem dedicado à construção de um sistema operativo simples para arquitetura x86. O foco está em compreender, de forma prática, a ligação entre o boot, a memória, o processador e as primeiras abstrações de um sistema operativo.
Princípio do projeto: aprender os fundamentos ao reduzir cada camada a um problema compreensível, verificável e documentado.
| Etapa | Questões a explorar |
|---|---|
| Arranque | Como passa a execução do firmware para o código do sistema? |
| Processador | Como funcionam os modos de execução, interrupções e exceções? |
| Memória | Como organizar acesso, regiões e proteção de memória? |
| Núcleo | Como criar as bases de gestão de processos, entradas e saídas? |
| Interface | Como expor uma forma simples de interagir com o sistema? |
Este repositório serve também como um registo do processo: decisões técnicas, limitações encontradas e notas de implementação serão adicionadas à medida que o sistema evoluir.
O projeto inclui agora o seu primeiro marco executável: um sector de arranque BIOS x86 de 512 bytes. A imagem inicializa o ambiente de modo real, escreve uma mensagem de confirmação e entra num estado seguro de paragem. É um ponto de partida pequeno, mas totalmente reproduzível e testado em emulador.
| Atualmente disponível | Próximo marco planeado |
|---|---|
Sector de arranque em NASM, Makefile, teste não gráfico em QEMU e workflow de CI. |
Consola reutilizável, GDT mínima e transição documentada para modo protegido de 32 bits. |
É necessário instalar NASM, Make e QEMU para x86. Em Ubuntu ou Debian:
sudo apt install nasm make qemu-system-x86# Produz build/simple-os.img (512 bytes)
make build
# Verifica tamanho, assinatura BIOS e arranque não gráfico no QEMU
make test
# Abre a imagem no emulador gráfico
make runO teste não escreve em discos reais nem exige hardware físico. A imagem e os artefactos de compilação permanecem em build/, que está excluído do controlo de versões.
A explicação detalhada do modelo de arranque encontra-se em docs/architecture.md.
O Simple OS privilegiará progresso incremental, experimentação em ambiente isolado e documentação junto de cada componente. Qualquer instrução futura deverá indicar ferramentas, arquitetura de destino, modo de teste e limitações conhecidas, para que o projeto seja útil tanto como exercício pessoal como como material de estudo.
Desenvolvido por Alexandre Santos Inácio.
