Skip to content
/ KnutOS Public

An x86_64 hobbyist OS written in C and Assembly

License

Notifications You must be signed in to change notification settings

Tix3Dev/KnutOS

Repository files navigation

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

Contributing

For those interested in contributing, please refer to the contributing guidelines.