tuhdo / os01 A free book teaching the foundations needed to write an operating system from scratch on x86_64. books learning-resources reverse-engineering