Skip to content

Sid110307/Mesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mesh

A lightweight OS kernel with SMP, paging, and basic IO, written in C++ and x86 Assembly.

Features

Current

  • 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)

Planned

  • 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

Future

  • 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

Requirements

Installing Limine

$ git clone --branch=v10.x https://github.com/limine-bootloader/limine.git
$ cd limine
$ ./bootstrap
$ ./configure
$ make
$ sudo make install
$ ./limine.sh

Quick Start

  • Clone the repository
$ git clone https://github.com/Sid110307/Mesh.git
$ cd Mesh
  • Build and run on QEMU
$ ./run.sh

License

MIT

About

A lightweight OS kernel with SMP, paging, and basic IO, written in C++ and x86 Assembly.

Resources

License

Stars

Watchers

Forks

Contributors