Based on x64BareBones, a basic setup to develop operating systems for the Intel 64 bits architecture.
This project is based on a UNIX based operating system where we implement many key OS features such as:
- Multiprocess Scheduling
- Memory Management with 2 different managers: Buddy and K&R
- Interruption Handling
- Keyboard Driver
- Interprocess Communication via Pipes
user@linux:$ nasm qemu gcc make
Execute the following commands on the x64BareBones project directory:
user@linux:$ cd Toolchain
user@linux:$ make all
From the project directory run one of the following:
If you want to use the default (K&R) Memory Manager:
user@linux:$ make all
If you want to use the Buddy Memory Manager:
user@linux:$ make MM=BUDDY all
From the project directory run:
user@linux:$ ./run.sh