I really don’t understand how complex programs like compilers and browsers have come to an existence.

From little what I know about 8086, it resembles a digital abacus in a way that we can set, push and do all the fancy magic with registers and store them in memories using buttons.

For the like of me, I cannot figure out how an OS was created out of thin air? Do they keep pushing, adding and popping registers back in the day to create OS or compiler? What about the TTY? Was there no such thing as booting? What about file systems? Partitions? How did any of that even work in the first place?

  • @velox_vulnusOP
    link
    12 months ago

    Wow, so by this, one could assume that there’s a lot of technical debt. And it’s almost impossible to keep track of each and every part that goes into a modern OS. Right now I do not have the luxury to play with RISC-V, but maybe in the near future, I’ll be buying one of their boards to learn hardware in depth.

    • @agent_flounder@lemmy.world
      link
      fedilink
      English
      22 months ago

      Based on your comment about technical debt, I should clarify.

      My descriptions aren’t historical at all. They’re just meant to show how it might be possible for you to do this as a personal project. I felt like that might kind of “scratch the itch” of your original question.

      The actual history of operating systems is fairly complex with many companies having developed them independently over time, but perhaps borrowing concepts from previous operating systems and academic papers.

      For example, Windows NT was built more or less from scratch. However, I think I read that a couple things are inspired by prior work of the devs on VAX/VMS.

      But yeah modern operating systems are pretty complex. Too much for any one person to fully and perfectly keep track of.

      Having written all this I think it would be cool to develop the process I described into a series of courses where you learn how computers work, hands on, from discrete transistor logic to logic chips to ICs and building an old school 8-bit computer, all the way up to writing the OS.