KnutOS
KnutOS copied to clipboard
An x86_64 hobbyist OS written in C and Assembly
KnutOS
An x86_64 hobbyist OS made for FUN and LEARNING! It is written in C and Assembly and features a monolithic kernel.
Screenshots
⤷ Silent boot
⤷ Verbose boot
⤷ Shell
⤷ Interrupt screen
⤷ Local terminal showing serial communication
Features
- Limine bootloader
- Stivale2 boot protocol
- GDT
- TSS
- IDT & ISR's
- Physical memory manager -> Bitmap based
- Virtual memory manager -> 4- & 5-level paging
- Slab allocator
- ACPI table parsing
- Local APIC
- Serial communication
- Basic framebuffer
- Basic keyboard driver with a small shell
- Basic kernel libraries
Future Features
- ACPI Parser (custom or ACPICA)
- C standard library port
- ELF loader
- IPC support
- SMP
- Double buffering
- Compositor
- GUI library
Dependencies
NOTE: Depending on your Linux Distribution the package names might be different (supposing you are using Linux)
- x86_64-elf-binutils
- x86_64-elf-gcc
- nasm-git
- make
- xorriso
- qemu
Installation
- Install the dependencies
- Get the repository
- git clone https://github.com/Tix3Dev/KnutOS --recursive
- cd KnutOS
- Build it
- make all
- Run it
- make run
Contributing
For those interested in contributing, please refer to the contributing guidelines.