Building an operating system
I spent this special summer building an operating system. It starts with me taking the Operating Systems II seminar. Here we were given several projects to work on and we decided in a group of 5 people to build a network stack (TCP/IP) for LEGO Mindstorms robots. We were given a basis: A bootloader, a scheduler and timer interrupts for it.
Based on this we built inter-process communication and implemented syscalls, while another part of the group tackled network communication. In this project you could understand very well how an operating system can be built, especially I improved my knowledge of C, ARM assembly and the handling of gdb. I can recommend anyone interested in the topic to start with a “ToyOS”, not for productive use but for teaching. As soon as the resulting paper is finished, I will link it here.