Osmanthus

A developing operating system

MIT License

Stars
36

Osmanthus

Osmanthus is a developing almost unix-like toy kernel.

Here are the features that has been implemented (or not) :

  • Boot with GRUB
  • Basic VGA driver
  • Format printing functions
  • Kernel debug functions
  • Interrupt handling library (partially)
  • Enable paging
  • Kernel heap allocator
  • Kernel level multithreading
    • Create thread via kthread_create
    • Join thread via kthread_join
    • Thread scheduling (simplest algorithm 😂 )
    • Mutex ! (Bakery algorithm)
  • Multiprocessing (Maybe we need a file system)

Build

Requirements:

  1. GCC >= 4.7.1
  2. GDB
  3. yasm
  4. qemu-system-i386 to run the system
  5. xorriso && grub && mtools to build ISO file

After you install the requirements, just type make debug, then you can

  1. make run to test the system directly
  2. make gdb to debug the system with gdb
  3. make gdbgui to debug the system with gdbgui

IF YOU WANT TO KNOW MORE ABOUT THE PROJECT, CLICK THE FOLLOWING LINK

Osmanthus Wiki