5 ms·
A single-core single-tasking (or co-operative multitasking) OS kernel is fairly easy. You just need a memory allocator, syscalls, maybe some virtual memory or p
by wizzwizz4 5y ago
A single-core single-tasking (or co-operative multitasking) OS kernel is fairly easy. You just need a memory allocator, syscalls, maybe some virtual memory or process isolation (as a treat), and a basic display driver.
Writing the USB stack would probably take longer than the whole rest of the OS combined. (Though you'd be hard-pressed to write a USB stack in less than four months.)
- tombert 5y agoThat might be true (I don't know, I've never done it), but my point is that I would have thought that I could implement something as large as Linux or macOS in a few months, when in reality that's certainly not true even with my ~decade of experience, let alone when I first dropped out of college in 2012.
- wizzwizz4 5y agoThere's no reason you shouldn't have been able to. Programming basic things like an operating system shouldn't be as hard as it is. (Honestly, programming an entire OS is easier than programming within existing systems, at this point, for many applications – but only if you can cope with bare-bones serial I/O.)
- NoPicklez 5y agoYou're completely missing his point. He was simply using "programming operating systems" as an example. His point still stands regardless of how easy you think something is or should be.
- wizzwizz4 5y agoIf your goal is to produce Linux, you've picked the wrong goal; just use Linux! But back when computers were simpler, in the months April – August 1991, one absolutely could make an OS kernel where things “seem to work” in four months.
- tombert 5y agoOk, you're very clever. Replace "building an OS" with "proving the Goldbach hypothesis" or something. I was just giving an example of what I thought was a challenging project. Clearly for you it wouldn't be challenging.
- deleted 5y ago[deleted]