A secure, educational operating system kernel written in C for x86 architecture.
🎯 Educational Project: This kernel is designed for learning OS development concepts, security features, and low-level programming.
project/
├── src/ # Source code
│ ├── kernel/ # Core kernel
│ ├── mm/ # Memory management
│ ├── arch/x86/ # Architecture-specific code
│ ├── interrupts/ # Interrupt handling
│ ├── drivers/ # Hardware drivers
│ ├── security/ # Security features
│ ├── process/ # Process management
│ ├── lib/ # Standard library
│ └── shell/ # Shell interface
├── include/kernel/ # Public headers
├── build/ # Build artifacts
├── iso/boot/grub/ # Bootloader configuration
├── docs/ # Documentation
└── scripts/ # Build and utility scripts
- GCC cross-compiler (i686-elf-gcc)
- NASM assembler
- GRUB bootloader
- QEMU emulator (for testing)
make clean
makemake run- README - Full documentation
- Security Enhancements - Security features and roadmap
- Suggestions - Future improvements
- Reorganization Guide - Project structure details
- Ring-based protection (Ring 0/3)
- Memory isolation with paging
- Cryptographically secure random number generator (CSPRNG)
- Stack canaries
- Input validation
- Audit logging
- Rate limiting
- Kernel initialization
- GDT/IDT setup
- System panic handler
- Physical memory manager
- Virtual memory (paging)
- Kernel heap allocator
- VGA text mode driver
- PS/2 keyboard driver
- Security validation
- CSPRNG (Xorshift128+)
- Audit logging system
- Process control blocks
- Round-robin scheduler
- System call interface
Educational project - feel free to learn from and modify.
Enreal
- OSDev Wiki
- Intel Software Developer Manuals
- Linux kernel source code