It is extremely challenging to build a working operating system.
It is extremely challenging to build a working operating system.
Developing a bootable system is relatively straightforward, but you won't need to assemble it yourself—C or any other compiled language works well. Adding POSIX system calls and a good scheduler can let you run some GNU tools, which is quite impressive. Going further might require significant effort for one person, and trying to build a full Linux competitor on your own is unlikely. For personal projects it's definitely interesting. Creating drivers is a different challenge, and depending on your goals you might not be able to handle it alone, except for very basic I/O or video functions. Linux is primarily written in C, so building something functional back then was simpler than it is today, and achieving success would have been a lucky endeavor even for pioneers like Gates and Allen.
If you're curious about that, Redox is worth exploring: https://redox-os.org/. It's been developing for a few years, aiming to build an entire operating system in Rust. Currently it functions on specific hardware and virtual machines, though you shouldn't expect Wi-Fi connectivity.
Gates acquired the OS from Seattle Computer Products, which means if you're keen on OS, explore the Illumos initiative.
Most of it is C and you can certainly run it in pure C, though it would be slower and lack some architecture-specific capabilities. 900 inline calls pale in comparison to over 10 million lines of code, and even if those files contained an average of 1000 lines of assembly (just... no), they would represent less than 10% of the source. If you're interested in a real-world example of an operating system built entirely in C, UNIX is a great reference.