Complement OS - A minimal operating system targeting 32-bit x86 (IA-32) architecture.
The main reason behind developing an OS from scratch is to grasp and practice the main concepts behind software, hardware, low-level development, assemblers, compilers, linkers, loaders, and specifically IA-32 architecture.
I believe that reinventing the wheel is beneficial in many aspects.
- 32-bit protected mode
- ELF support
- Custom bootloader (No GRUB)
- VGA (25x80)
- PS/2 keyboard
- PS/2 mouse
- Sound card
- Network interface controller
- CPU Exceptions
- IRQs
- Programmable Interval Timer
- Segmentation
- Virtual memory (with paging)
- Dynamic allocation (malloc)
- Processes
- Threads
- Scheduling
- Locks
- Shell
- System clock
- Custom GUI