I've seen a number of "build an OS" tutorials pop up recently, and that's awesome! Building an OS will definitely help you understand how to write better user-space programs, and it's fun.<p>One thing I wish is that more of them would feature UEFI instead of BIOS, or at least come with a warning, as Intel plans to drop support for legacy BIOS in 2020.<p>Going through UEFI is actually easier anyway, IMHO. ... Maybe I should stop complaining and write that tutorial myself instead. Hmm.
“Once you pass college, excessive theory is worse than no theory because it makes things seem more difficult than they really are.”<p>About every third minute I’ve changed my mind about this quote. I think that means it’s a good quote.
Writing an OS is a fun exercise and it makes you appreciate all the effort that goes into making something like Linux usable and relatively robust and performant. It's also interesting to look at how Linux (or other open source OS) implements some of these features once you've tried implementing them on your own. You'll find that much of Linux is understandable once you know what problem the code in question is trying to solve.
Hi, author here. I’m humbled by the kind words. This is a project I started when I was in between jobs and unfortunately it’s kind of stalled because I had difficulties implementing the file system. Really want to get back to it some time.<p>Anyway, feel free to leave your comments, I appreciate them a lot.
I'm currently traversing through Linux From Scratch, <a href="http://www.linuxfromscratch.org/lfs/" rel="nofollow">http://www.linuxfromscratch.org/lfs/</a>. Not necessarily because I wanted to build a Linux OS but because it was the best guide I could find. But at a first glance this looks promising to me, so I'd definitely check it out and try out a few "chapters" when time comes.
I'll be the guy to mention Forth as it is the only system I know of that a single person can fully understand and build up a fully functional and REPL interactive system using just assembly and a microcontroller. Most Forthers are doing embedded work though and don't need everything that comes with an OS.
Does any one have other resources I can look into as well. I’m still a relatively new programmer but I really want to get a deeper understanding of how OSes work.
I’m assuming I need to use either C/C++ or Rust? I only Python and am currently learning C++.