kernel/dev/ and provides low-level hardware abstraction for core system components.
Architecture
Device drivers in Aeolos are implemented as kernel-level modules that provide direct hardware access. Each driver exposes a simple API that higher-level kernel components can use without needing to understand the underlying hardware details.Available Drivers
Framebuffer
Graphics output using a linear framebuffer with double buffering support
Serial Port
RS-232 serial communication for debugging and logging
Terminal
Text-mode terminal with ANSI color support built on the framebuffer
Driver Initialization
Drivers are typically initialized during the kernel boot process. The initialization order is important:- Framebuffer - Initialized first to enable visual output
- Serial Port - Initialized for early debugging output
- Terminal - Initialized after framebuffer to provide text output
Design Philosophy
Aeolos drivers follow a minimalist design philosophy - they provide only the essential functionality needed for the OS to operate. This keeps the codebase simple and maintainable.
- Simplicity - Each driver does one thing well
- Direct Hardware Access - No complex abstraction layers
- Kernel-Space Only - All drivers run in kernel mode
- Minimal Dependencies - Drivers depend only on core kernel functions