Um microkernel x86_64 minimalista e preemptivo escrito em Rust. Construído do zero. Sem abstrações que desperdiçam recursos. Sem concessões.
O Jinn OS é construído sobre três pilares principais:
- Preempção sem desperdício — O kernel nunca permite que uma tarefa monopolize a CPU. O timer do APIC dispara a 100 Hz e o escalonador age a cada ciclo.
- Explícito ao invés de implícito — Sem alocações ocultas, sem surpresas em tempo de execução. Toda aquisição de recursos é intencional e transparente.
- Kernel mínimo, capacidade máxima — O kernel faz o mínimo necessário: escalonamento, IPC (Comunicação Inter-Processos), memória e chamadas de sistema (syscalls). Todo o resto roda no espaço do usuário (Ring 3).
┌────────────────────────────────────────────────────────────┐
│ Espaço do Usuário (Ring 3) │
│ ┌─────────┐ ┌─────────┐ ┌───────────┐ │
│ │ App A │ │ App B │ │ Shell │ │
└──────────────────┴────┬────┴──┴────┬────┴──┴─────┬─────┘───┘
│ int 0x80 │ │
┌────────────────────────▼──────────▼──────────────▼─────────┐
│ Camada de Syscalls (syscall.rs) │
│ exit │ write │ read │ yield │ getpid │ ipc_send │ spawn │
├────────────────────────────────────────────────────────────┤
│ IPC (ipc.rs) — Filas lock-free │
├──────────────────┬─────────────────────┬───────────────────┤
│ Escalonador │ Gerenciador Mem. │ VFS │
│ (scheduler.rs) │ (memory/) │ (vfs/) │
│ Round-Robin │ Alocador Físico │ ramfs / devfs │
│ Preemptivo │ Paginação (PML4) │ │
│ Prioridades │ Heap Customizado │ │
├──────────────────┴─────────────────────┴───────────────────┤
│ Subsistema de Interrupções (interrupts/) │
│ IDT │ Local APIC │ Teclado PS/2 │ PIC(off) │
├────────────────────────────────────────────────────────────┤
│ Abstração de Hardware (limine.rs, cpu.rs, vga.rs) │
└────────────────────────────────────────────────────────────┘
- Rust nightly com a target x86_64-unknown-none
- cargocom suporte a- -Zbuild-std
rustup toolchain install nightly
rustup target add x86_64-unknown-none --toolchain nightly
rustup component add rust-src --toolchain nightlyO Jinn OS utiliza scripts nativos em PowerShell, sem depender de ferramentas externas em C/C++:
.\scripts\build.ps1
.\scripts\make_iso.ps1A ISO será gerada como jinn.iso e é inicializável no VirtualBox ou QEMU.
qemu-system-x86_64 -cdrom jinn.iso -m 128M -serial stdioUma vez iniciado, o shell interativo (jinn>) suporta:
MIT — Veja o arquivo LICENSE.
Este projeto valoriza imensamente a comunidade de tecnologia brasileira. Estamos buscando desenvolvedores e entusiastas de sistemas operacionais. Veja o arquivo CONTRIBUTING.md para saber por onde começar.