learn how to write a operating system in C