This is an small custom operating system based on Unix that also uses GRUB.
It is based in x86 (32 bits) architecture and it was / it is still being developed following the https://wiki.osdev.org/ as base of study, also the "The little book about OS Development".
- QEMU to emulate 32 bits instructions.
- NASM for assembling mnemonics.
- GCC for C language (i686 as preference to support x86 architecture).
- LD for linking .asm and .c files.
- mkisofs to generate .iso file with the .elf inside.
- Simple VGA mode [x]
- Simple IDT [x]
- Simple terminal [x]
- Simple memory manager [x]
- Reimplementation of some LibC files like strings.h and stdio.h [ ]
- Simple GDT [ ]
- Unit tests [ ]
- Simple file system [ ]
- Simple interpreter for loading custom programs [ ]
- Simple scheduler [ ]
We won't add audio, bluetooth and internet support. Perhaps, in the future, we can discuss to add into it.
Feel free to open new pull requests to improve the current code or to implement new features.
Some rules you must follow before opening a new pull request:
- Always specify what you are going to change or to add in the PR's description.
- If you aren't changing some code inside the LibC based files, you must use snake_case. It includes for new type definitions. Constants are UPPER_CASE.