MyOS is a hobbyist operating system project that targets the x86 (32-bit) architecture. It is composed by a monolithic kernel (written mainly in C programming language) and a C standard library (libc) used by applications to access the functionalities provided by the kernel. The source-code is available under the GPLv3 license.
By being a Unix-like kernel, it's capable of suportting the execution of the following software*:
- Gawk - version 3.1.8
- GNU Bash - version 5.1
- GNU bc - version 1.07.1 (and dc version 1.4.1)
- GNU Binutils - version 2.37
- GNU core utilities - version 5.0
- GNU Make - version 4.3
- GNU Nano - version 5.5
- GNU Readline Library - version 8.1.2
- ncurses library - version 6.2
* In some cases not all components or functionalities of the software are supported by MyOS kernel.
There is a video that demonstrates part of the previous software listed above having their execution supported by MyOS.
In order to build and run MyOS, the following software is required:
- Bochs or Qemu
- GCC
- GRUB
- NASM
The commands above should be executed to build and run MyOS. Note some steps will require root access (to create and mount the file systems).
./create_hard_disk_image.sh
make qemu # Or "make bochs"
The following material are the main references used throughout this project: