A lightweight OS kernel with SMP, paging, and basic IO, written in C++ and x86 Assembly.
- x86_64 architecture
- Limine bootloader
- UEFI and BIOS support
- SSE/SSE2 support
- SMP and AP boot
- GDT
- Per-CPU TSS and IST stacks
- IDT with exceptions and IRQ handlers
- APIC, LAPIC, and IOAPIC support
- PCI/ACPI support with RSDP/RSDT/XSDT parsing
- 4-level paging (4KB/2MB/1GB)
- Bitmap frame allocator
- Spinlock
- Atomic operations
- Serial (UART) console output
- Framebuffer text + ANSI color output
- Keyboard driver (PS/2)
- PIT interrupts (timer and sleep functions)
- Mouse driver (PS/2)
- Kernel panic and stack trace
- Kernel heap allocator
- Virtual memory management
- Per-CPU data structures
- Scheduler
- Context switching
- Userspace syscall interface
- Per-process virtual address spaces
- Memory protection and COW
- ELF loader
- VFS layer
- Filesystem (FAT32, ext2, etc.)
- PCI enumeration and drivers
- Storage drivers (AHCI, NVMe, etc.)
- USB drivers
- Better terminal (scrolling, cursor, line editing, etc.)
- Framebuffer graphics primitives (2D drawing, mouse cursor, etc.)
- Window compositor
- Networking (TCP/IP stack, Ethernet drivers, etc.)
- IPC event system
- SMP task scheduling and load balancing
- Power management (ACPI S3 sleep, etc.)
- RTC/CMOS clock support
$ git clone --branch=v10.x https://github.com/limine-bootloader/limine.git
$ cd limine
$ ./bootstrap
$ ./configure
$ make
$ sudo make install$ ./limine.sh- Clone the repository
$ git clone https://github.com/Sid110307/Mesh.git
$ cd Mesh- Build and run on QEMU
$ ./run.sh