• @Yaztromo
    link
    English
    267 months ago

    As someone who has done some OS dev, it’s not likely to be of much help. DOS didn’t have much of any of the defining features of most modern OS’s — it barely had a kernel, there was no multitasking, no memory management, no memory protection, no networking, and everything ran at the same privilege level. What little bit of an API was there was purely through a handful of software interrupts — otherwise, it was up to your code to communicate with nearly all the hardware directly (or to communicate with whatever bespoke device driver your hardware required).

    This is great for anyone that wants to provide old-school DOS compatibility, and could be useful in the far future to aid in “digital archaeology” (i.e.: being able to run old 80’s and early 90’s software for research and archival purposes on “real DOS”) — but that’s about it. DOS wasn’t even all that modern for its time — we have much better tools to use and learn from for designing OS’s today.

    As a sort of historical perspective this is useful, but not likely for anything else.

    • @TootSweet
      link
      English
      57 months ago

      Extremely enlightening comment here.

      Sounds like IBM kindof got ripped off. Seems about right for Gates/Ballmer/Microsoft.

      And I bet a lot more of that jank is still in modern Windows than I’d like to think about.

      • @Yaztromo
        link
        English
        127 months ago

        To put things into context, IBM didn’t get ripped off in any way (at least not from DOS - the whole IBM/Microsoft OS/2 debacle is a different story). The earliest PCs (IBM PC, IBM PC XT, IBM PC Jr., and associated clones) didn’t really have the hardware capabilities needed to permit a more advanced operating system. There was no flat memory model, no protection rings, and no Translation Look-aside Buffer (TLB). The low maximum unpaged memory addressing limit (1MB) made it difficult to run more than one process at a time, and really limits how much OS you can have active on the machine (modern Windows by way of example reserves 1GB of virtual RAM per process just for kernel memory mapping).

        These things did exist on mainframe and mini computers of the day — so the ideas and techniques weren’t unknown — but the cheaper IBM PCs had so many limitations that those techniques were mostly detrimental (there were some pre-emptive OSs for 8086/8088 based PCs, but they had a lot of limitations, particularly around memory management and protection), if not outright impossible. Hence the popularity of DOS in its day — it was simple, cheap, didn’t require a lot of resources, and mostly stayed out of the way of application development. It worked reasonably well given the limitations of the platforms it ran on, and the expectations of users.

        So IBM did just fine from that deal — it was when they went in with Microsoft to replace DOS with a new OS that did feature pre-emptive multitasking, memory protection, and other modern techniques that they got royally screwed over by Microsoft (vis: the history of OS/2 development).

    • Toes♀
      link
      fedilink
      English
      1
      edit-2
      7 months ago

      I’d like to see the same for 5 and dos4gw. Could potentially help with maintaining legacy stuff.

      • @Yaztromo
        link
        English
        47 months ago

        I’m not sure what’s keeping Microsoft and ibm from Open Sourcing all the rest of the DOS versions as well — the 3.x series was very influential, 5 added disk compression, and 6 was the most modern of them all. I can’t remember if Stac’s lawsuit against Microsoft would require them to take out the disk compression parts (although AFAIK the relevant patents are probably long expired now), but even if that’s the case having these available as OSS would also be useful — even if only for a historical context.