The code is ugly. It is rather dirty, but it works. I created a Unix-like toy operating system based on my learning objectives.
Supported Features
-
I created a basic kernel with the following kernel features。 bootloader 、Memory Management、process 、Interrupts 、Filesystem Support 、Keyboard
-
I expanded my operating system into user-space and add support for programs System Calls 、Fork and Execute 、 Shell
-
With above basic features, I writed other features. x86_64 、VMX 、 Symmetric Multiprocessing
-
My operating systems don't operate in the basic gui mode, I'll write graphics drivers.
Compilation
You can build the kernel by make. After compilation is done, an image file called xxx.img will be generated by makediskimg.
Running
After you have finished compiling the operating system, you can run the following command to launch it in the qemu emulator: make qemu
Makefile Options
make clean - Removes all intermediate and final build output