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.