Ive had an ambitious project for a while . About 3 years now, I have been studying operating system development, to write a hobby operating system with completely free software. I started with the entry code, which is written in assembly, and used grub to boot it. The entry code simply pushed a couple variables onto the stack, and then calls a function i wrote in C. That is where i can begin using C code. You can find the code here . It has a decent amount implemented for i686 processors. Im using elf as the format for the kernel. It will be monolithic, yet modular . The most interesting part at the moment is the runtime. I am writing the C runtime as compliant to the standard as i possibly can. I wonder if im suppose to write POSIX in the C Runtime? Or if that should be dealt with within the kernel. I got more research i need to do, but i also have a discord in which i have some discussions about it you can find it here .