Implementation following the tutorial at https://operating-system-in-1000-lines.vercel.app/en/ (GitHub: https://github.com/nuta/operating-system-in-1000-lines).
The initial commit is a slightly reorganized version of the code from the tutorial. I may or may not pick this up at some point in the future, so further clean it up and add some new features.
I'm thinking that it might be interesting to add an ELF loader to this, so you don't need to bake the shell into the kernel.