A security-first operating system built from scratch with real memory protection, cryptography, and a deterministic programming language.
AtomicOS is an educational operating system that prioritizes security over performance. Unlike many hobby OS projects, it implements real security features including AES-128 encryption, SHA-256 hashing, and a complete Memory Management Unit (MMU).
Philosophy: "Seguridad primero, luego estabilidad y luego performance" (Security first, then stability, then performance)
- ✅ Custom bootloader (Multiboot compliant)
- ✅ Protected mode with stack protection
- ✅ Memory Management Unit (MMU) with 2-level paging
- ✅ Physical and virtual memory management
- ✅ VGA text mode with color support
- ✅ Real AES-128 encryption (not XOR!)
- ✅ SHA-256 cryptographic hashing
- ✅ Memory guards and bounds checking
- ✅ W^X (Write XOR Execute) enforcement
- ✅ Secure memory wiping on free
- ✅ Page-level access control
- ✅ Deterministic execution
- ✅ Worst-Case Execution Time (WCET) analysis
- ✅ Compiles to x86 assembly
- ✅ Integrated runtime in kernel
i686-elf-gcc
(cross-compiler for x86)nasm
(Netwide Assembler)qemu-system-i386
(for testing)make
# Build AtomicOS v0.4 with MMU
make -f Makefile.v4
# Run in QEMU
./run_mmu.sh
# v0.3 - Security-first design
make -f Makefile.v3
./run_atomicos.sh
# Simple visual demo
make -f Makefile.demo
./ver_demo.sh
AtomicOS/
├── kernel/
│ ├── kernel_v4_mmu.c # Latest kernel with MMU
│ ├── mmu.c # Memory Management Unit
│ ├── crypto_real.c # AES-128 & SHA-256
│ ├── boot.asm # Bootloader
│ └── ...
├── tempo/
│ ├── tempo_compiler.c # Tempo language compiler
│ ├── LANGUAGE_SPEC.md # Language specification
│ └── examples/
└── docs/
├── REALITY_CHECK.md # Honest assessment
└── EVIDENCE_*.md # Test results
0x00000000 - 0x003FFFFF : Kernel Space (4MB)
0x00400000 - 0xBFFFFFFF : User Space
0xC0000000 - 0xFFFFFFFF : Kernel Mirror (Higher Half)
- AES-128: Full implementation with S-boxes, MixColumns, and key scheduling
- SHA-256: Complete with 64 rounds and proper constants
- MMU: Hardware-enforced memory protection via page tables
This is an educational project. While it implements real security concepts, it is NOT production-ready:
- No network stack
- No file system
- No device drivers (except basic VGA)
- Single-threaded execution
- Limited error handling
MIT License with attribution requirements. See LICENSE file.
Key points:
- ✅ Open source - you can use, modify, and distribute
- ✅ Attribution required - must credit original project
- ✅ Name protection - forks must use different name
- ✅ Change disclosure - modifications must be documented
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Document your changes
- Submit a pull request
Original Author: Ignacio Peña Created: 2024
AtomicOS Boot Demo on YouTube - Boot demonstration and features
"No exploits, no crashes, no lies." - AtomicOS motto