bombcar a day ago

It’s not easy, but it’s more approachable than many realize.

Much of modern operating systems are the hordes and hordes of drivers; the fundamentals aren’t terribly complicated; just lots of detail.

  • II2II a day ago

    It would also depend upon what you are trying to accomplish. You have simple filesystems and complex filesystems. You have simple video drivers, and you have complex video drivers. Simplicity gets the job done, but complexity may offer better reliability or performance or features.

    Then there is the question of what one means by an operating system. While I'm sure that most people would agree that much of the software shipped with Windows, Mac OS, or the typical Linux distribution isn't part of an operating system proper, few would agree upon where the boundary lies.

  • tcbawo 10 hours ago

    Here is a dumb question. In an OS with user-space drivers, can't many existing drivers be wrapped and repurposed? Does this shorten the path to mainstreaming more new OSes?

  • sitzkrieg a day ago

    as others have pointed out "just" is doin big overtime here. but also x86_64 saps the fun out by forcing you into archaic irrelevant details IMMEDIATELY. but really, it's a good filter

    making toy os for a nice small board on a nice architecture like riscv is night and day more enjoyable. not that modern boards that have more device tree overlays than senses are a good starting point either.

    a more modern mmix that builds further up, or nand2tetris, xv6 or any other riscv project going all the way to a user mode ui would be really cool

  • ModernMech a day ago

    > just lots of detail.

    "Just" is understating it.

    It's the kind of project that takes 20 years to accomplish on your own, and everything seems doable from moment to moment because you have to work very slowly, and the stepwise changes aren't hard.

    Just get the thing to boot. Just boot into extended mode. Just get graphics running. Just get a userspace. Just implement cooperative multitasking. Every step is "just", but when you take a step back the complexity is enormous, and it becomes hard to explain to anyone how it works in its entirety.

    Although it seems easy to the author because that's just how his brain works now -- by then end of it, you and the OS are one and the same, where your brain is essentially a map of the codebase and nothing more, because nothing else can fit.

grepfru_it 2 days ago

take a look at AtheOS it's successor SyllableOS. created by a single developer, another single developer took it over (syllable) and it shortly became an open source project before it went defunct again. But it made impressive gains in the 3 years of initial development.

i miss those days of everyone and their mom creating an OS for giggles

  • wowczarek a day ago

    Don't forget SkyOS. And there's plenty more, with SerenityOS being one of the latest notable examples. Those days never ended. Also ekhem ekhem TempleOS, as single developer as you can get.

    • pkphilip a day ago

      SkyOS ? I actually paid to be on the Beta program and then suddenly out of the blue the developer pulled the plug on the project completely. Not sure what happened but there were rumours that the code may have "borrowed" from other operating systems but I am not sure.

pjmlp a day ago

CP/M was also created by one person.

  • anthk a day ago

    CP/M was far more simpler.

    • II2II a day ago

      In all probability, yes. I'm not sure how much easier it would be to develop though. Back then, most (if not all) of the operating system was developed in assembly language while there was far more to consider when it came down to performance and memory usage (which is often in conflict with each other). CP/M was also notorious for running on hardware that was incompatible with each other, relying upon the BIOS to smooth out those irregularities. While that may simplify the development in some respects, such as the hardware vendor developing hardware drivers, it complicates development in other respects, since CP/M development could not make assumptions about the underlying hardware.

    • pjmlp a day ago

      OP didn't mentioned complexity, nor any kind of comparison.

      • anthk a day ago

        Nice then. OTOH, CP/M 2.2 has been open sourced, but I think there are no libre assemblers for it.

        Cross-assemblers, there's one: http://john.ccac.rwth-aachen.de:8000/as/ but it's tedious to build under OpenBSD.

        As for software, the ZMachine and V3 games don't count as 'libre examples'.

        • pjmlp a day ago

          Libre was also not part of the comment I replied to.

desi_ninja a day ago

You will be blown away by Serenity OS then.

  • vhhn a day ago

    Or Linux

    • panki27 a day ago

      I believe you are referring to GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.