https://github.com/inonitz/bruhos
Operating System Bootloader & Kernel
https://github.com/inonitz/bruhos
acpi assembly-x86-64 avl-tree bootloader buddy-allocator c efi gnu-efi interrupts kernel long-mode memory-allocator operating-system qemu slab-allocator smp uefi
Last synced: 18 days ago
JSON representation
Operating System Bootloader & Kernel
- Host: GitHub
- URL: https://github.com/inonitz/bruhos
- Owner: inonitz
- License: mit
- Created: 2021-06-09T14:28:36.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-07T23:55:36.000Z (4 months ago)
- Last Synced: 2025-03-08T00:27:12.391Z (4 months ago)
- Topics: acpi, assembly-x86-64, avl-tree, bootloader, buddy-allocator, c, efi, gnu-efi, interrupts, kernel, long-mode, memory-allocator, operating-system, qemu, slab-allocator, smp, uefi
- Language: C
- Homepage:
- Size: 3.49 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bruhOS
Homebrew x86_64 Operating System (Originally Forked From ***[PonchoOS](https://github.com/Absurdponcho/PonchoOS)***)
**Build:**
- [Success] QEMU
- [Fail] VirtualBox Bare Metal (***Bootloader Issues :|***)
**Currently Implemented:**
1. UEFI Bootloader
2. Graphics (Through UEFI GraphicsOutputProtocol)
3. Higher Half Kernel (Last 512GiB of Virtual Address Space)
4. Basic Bitmap Character Printing & printk
5. GDT
6. IDT
7. TSS
8. ACPI Support - I/O APIC, LAPIC.
09. HPET Timer
10. LAPIC Timer
11. Physical Memory Manager - Array of Buddy Allocators
12. Per-Process Virtual Memory Manager/Mapper using AVL Trees (Currently Untested, Haven't used it yet)
13. Atomic Mini-Library using GCC Extensions
14. SMP
**Roadmap/TODO:**
1. Syscalls
2. Context Switches
3. ext2 File System
4. USB 3.0 Driver Support
5. PCIe Driver Support
6. USB Keyboard & Mouse
7. Userspace
8. Scheduler (MLFQ, Not finished yet...)
9. ???