A tiny operating system for the x86 architecture.
This is a small operating system targeting the x86 architecture (32-bit) based off of various online tutorials. The aim is primarily that of learning, and is far from a useable, modern operating system(!)
- Bootable! (using GRUB)
- Set up basic memory segmentation
- Set up paged virtual memory
- Can recieve and handle basic software and hardware (IRQ) interrupts
- Can print to the (VGA text-mode) screen
- Heaped memory
- File system
- User-mode processes and executable loading
- Install prerequisites
# Linux (Ubuntu)
$ apt install make gcc nasm genisoimage bochs-sdl
# macOS
$ brew install cdrtools bochs
- Restore external packages
$ ./init.sh
- Compile
$ make all
- Run in the Bochs emulator
$ make run
😊