This project involves developing a custom operating system (OS) that includes a bootloader and a kernel. The OS is written in Assembly and C and is intended to run on both real hardware and virtual machines. The project features a basic bootloader using Limine.
- Dynamic Memory Allocation
- File System
- Process Scheduling
- User Space
- System Calls
To run the OS in a virtual environment, simply execute:
make all & make run
-
Identify the address of your flash drive (e.g.,
/dev/sdX
). -
Run the following command, this will create image.hdd file
./flash.sh
-
Use the
prepare_flash.sh
script with two command-line parameters:sudo ./prepare_flash.sh image.hdd /dev/sdX
-
Once the OS is burned onto the flash drive, you can boot it on real hardware.