I just saw on your profile that you aspire to write an operating system. That's cool.
Most people who say this actually want to make their own window manager (y'know, just the "pretty" part of the OS!), or their own terminal system, or similar. Because building an OS from the ground up is... a wildly impractical thing for most people to do.
But if you're serious about it, I can highly recommend Richard A. Burgess's 1995 book "Developing Your Own 32-bit Operating System" (later editions were often called "MMURTL 1.0", I believe, which is the name of the OS he develops over the course of the book). It's incredibly hard reading but there's a lot to learn: I remember the moment, when reading it, that I first managed to build enough of a toolchain that I could make a bootloader: software that a PC can "just run" without anything else. The first thing I did with my new found power was to write a Towers Of Hanoi solver, just to see how fast a (single-threaded) processor could work on the problem when it wasn't constrained by doing all of the usual things an OS has to do (memory management, process management, interrupt handling, etc.). I don't think my "Hanoi OS" should count as an operating system, mind!
Anyway: over the course of hundreds of pages of Assembly and C, Burgess eventually builds an operating system. It's not great, but it works, and that's amazing.
That book, plus a course in compiler theory when I was at university, taught me that I'm probably never going to write my own operating system! If I were to have that dream again, I'd probably just build "on top" of BSD or GNU/Linux or something!
But while it's hard, "building your own" operating system is possible! Richard A. Burgess proves it, as did Terry A. Davis (creator of TempleOS), Ville M. Turjanmaa (MenuetOS), BareMetal (which has a bonkers process management system), Jeremy Soller (Redox), and Robert Szeleney (SkyOS). Many of those are open-source for folks who really want to get their hands dirty.
Good luck!
Most people who say this actually want to make their own window manager (y'know, just the "pretty" part of the OS!), or their own terminal system, or similar. Because building an OS from the ground up is... a wildly impractical thing for most people to do.
But if you're serious about it, I can highly recommend Richard A. Burgess's 1995 book "Developing Your Own 32-bit Operating System" (later editions were often called "MMURTL 1.0", I believe, which is the name of the OS he develops over the course of the book). It's incredibly hard reading but there's a lot to learn: I remember the moment, when reading it, that I first managed to build enough of a toolchain that I could make a bootloader: software that a PC can "just run" without anything else. The first thing I did with my new found power was to write a Towers Of Hanoi solver, just to see how fast a (single-threaded) processor could work on the problem when it wasn't constrained by doing all of the usual things an OS has to do (memory management, process management, interrupt handling, etc.). I don't think my "Hanoi OS" should count as an operating system, mind!
Anyway: over the course of hundreds of pages of Assembly and C, Burgess eventually builds an operating system. It's not great, but it works, and that's amazing.
That book, plus a course in compiler theory when I was at university, taught me that I'm probably never going to write my own operating system! If I were to have that dream again, I'd probably just build "on top" of BSD or GNU/Linux or something!
But while it's hard, "building your own" operating system is possible! Richard A. Burgess proves it, as did Terry A. Davis (creator of TempleOS), Ville M. Turjanmaa (MenuetOS), BareMetal (which has a bonkers process management system), Jeremy Soller (Redox), and Robert Szeleney (SkyOS). Many of those are open-source for folks who really want to get their hands dirty.
Good luck!












Posts & Arts: 137/1k.beats ~












