A modern, modular, and learning-oriented operating system kernel project.
OpenKernel is a kernel development project designed to improve low-level system programming skills and to understand modern operating system architecture.
This project aims to:
- Interact directly with hardware
- Develop kernel-level services
- Build a minimal and understandable architecture
- 🧠 Simple and learnable kernel architecture
- ⚙️ Development of core kernel services
- 🖥️ Low-level hardware control (CPU, memory, I/O)
- 📦 Modular structure (expandable and maintainable)
- 🔒 Secure and controlled system behavior
- Language: C / x86 Assembly
- Compiler: GCC (i686-elf)
- Assembler: NASM
- Emulator: QEMU / VMware
OpenKernel/
│── Boot/ # Bootloader and initialization code
│── Kernel/ # Kernel core
│── Drivers/ # Hardware drivers
│── SystemLib/ # Helper functions (string, memory, etc.)- VGA text mode output system
- Basic CPU control (CLI, HLT, etc.)
- Kernel service infrastructure
- Memory management
- Interrupt handling (IDT)
- Keyboard driver
- File system (basic FS)
gcc (cross-compiler)nasmqemu
makemake runThis project is intended for educational and development purposes.
The user assumes all responsibility for any potential issues or damages caused by using this software.
Contributions are always welcome!
- Fork the repository
- Create a new branch
- Make your changes
- Submit a Pull Request
This project is open source.
For more details, see the LICENSE file.
OpenSoftware-World
OpenKernel is not just a project,
it is a starting point for those who want to learn low-level system development.