Osmanthus
Osmanthus copied to clipboard
A developing operating system
Osmanthus
Osmanthus is a developing ~~almost~~ unix-like toy kernel.
Here are the features that has been implemented (or not) :
- [x] Boot with GRUB
- [x] Basic VGA driver
- [x] Format printing functions
- [x] Kernel debug functions
- [x] Interrupt handling library (partially)
- [x] Enable paging
- [x] Kernel heap allocator
- [x] Kernel level multithreading
- [x] Create thread via
kthread_create
- [x] Join thread via
kthread_join
- [x] Thread scheduling (simplest algorithm :joy: )
- [x] Mutex ! (Bakery algorithm)
- [x] Create thread via
- [ ] Multiprocessing (Maybe we need a file system)
Build
Requirements:
-
GCC
>= 4.7.1 -
GDB
-
yasm
-
qemu-system-i386
to run the system -
xorriso
&&grub
&&mtools
to build ISO file
After you install the requirements, just type make debug
, then you can
-
make run
to test the system directly -
make gdb
to debug the system withgdb
-
make gdbgui
to debug the system withgdbgui
IF YOU WANT TO KNOW MORE ABOUT THE PROJECT, CLICK THE FOLLOWING LINK