[HN Gopher] The Life of MS-DOS
___________________________________________________________________
 
The Life of MS-DOS
 
Author : ingve
Score  : 69 points
Date   : 2022-02-13 16:45 UTC (6 hours ago)
 
web link (b13rg.github.io)
w3m dump (b13rg.github.io)
 
| pdenton wrote:
| The article omits the incompatibility issues with Lotus, and the
| patent infringement lawsuit about DoubleSpace.
 
  | mrlonglong wrote:
  | It also omits mention about things like FreeDOS that's still
  | being worked on today!
 
    | paulryanrogers wrote:
    | It is strange though I suppose it could be considered an
    | independent reimplementation since there is no shared source.
    | There's also DOSEmu and DOSBox, which while not directly
    | bootable, are DOS environments.
 
| achairapart wrote:
| Well, the article misses version 5.0, which according to its rap-
| promo commercial[0] freed "45kb of memory at least"(!).
| 
| [0]: https://www.youtube.com/watch?v=dmEvPZUdAVI
 
| malkia wrote:
| When I discovered ProDos for Apple ][/e (Actually what I had the
| was the bulgarian clone called Pravetz 8C) I was so overjoyed
| (because at school MS-DOS is what we used on PC/AT/XT machines)
| and it was closer. Then I learned that there were even more
| options!
 
| mrlonglong wrote:
| I've wanted to re-implement DOS in pure assembler for years to
| have that lean and mean that uses less memory than MS-DOS but
| never had the time.
 
  | ok123456 wrote:
  | The sources for MS-DOS have been floating around the net
  | basically forever. The original first few releases are even on
  | Microsoft's github. It largely is already in ASM. Some of the
  | user programs are written in C.
  | 
  | To me, it would be far more interesting to see what modern
  | compilers and development tooling could do towards producing
  | DOS programs and operating system extensions. The tooling from
  | back in the day was very baroque. You had to rely on different
  | mutually incomparable dos extenders to get around all the
  | limitations. (Just try to find the documentation to Phar Lap
  | 386 in 2022.)
 
    | mrlonglong wrote:
    | Personally for me it would be an interesting experience to
    | see what and why they chose to do things they did with MS-
    | DOS. One thing to try is to see if it's possible to write a
    | 64 bit DOS extender.
 
      | oso2k wrote:
      | There's a couple attempts at running 64-bit in DOS. It
      | usually has no benefits for old code and very little new
      | 64-bit is being written and there are no libraries for
      | common compilers.
      | 
      | https://github.com/Baron-von-Riedesel/Dos64-stub
      | 
      | https://www.bttr-software.de/forum/board_entry.php?id=15853
 
        | mrlonglong wrote:
        | Nice one, thanks.
 
    | tored wrote:
    | What would writing DOS programs and extenders with modern
    | tooling accomplish? Trying to understand the goal.
 
      | ok123456 wrote:
      | Making easy to understand and maintain programs in C++,
      | with compilers that can that can do aggressive
      | optimizations and inlining that compilers of the day could
      | not do.
      | 
      | The STL didn't exist until the late 90s, and before C++98
      | it was a wild-west.
 
        | krkixohjk wrote:
        | But what is the goal in having maintainable ms-dos
        | software?
        | 
        | The OS is still ancient and lacks most every possible
        | security measure.
        | 
        | Every program can r/w any memory and so on...
 
        | Koshkin wrote:
        | > _lacks most every possible security measure_
        | 
        | So do calculators and typewriters. (Some people use
        | computers to, gasp, perform computations, and low or no
        | overhead is nice.)
 
        | ok123456 wrote:
        | The fact that it gets out of your way is a feature. Why
        | does security matter on a single user, non-multitasked
        | environment with no networking?
        | 
        | The netsec industrial complex has really set back
        | computing.
 
        | xunn0026 wrote:
        | I agree with the sentiment but note there were still
        | viruses being circulated through floppy disks. So, 3rd
        | party code may still be executed on a non-networked
        | machine.
        | 
        | Indeed, it would be awesome to see how much a machine can
        | do without all the layers. Even the Intel CPU security
        | fixes could be bypassed and gain some extra speed.
 
        | tored wrote:
        | Stuxnet is the modern variant.
        | 
        | Regardless of the qualities of DOS, the user interfaces
        | of the graphical programs was in many cases superior
        | compared to today, everything keyboard controlled,
        | clearly labeled shortcut keys, views that usually only
        | did one thing, distinctive coloring.
 
        | ok123456 wrote:
        | Stuxnet happened even with all of those protection
        | mechanisms in place.
 
        | wyldfire wrote:
        | MSDOS did have MMU support since 80386, IIRC. So I think
        | GPs claim might be inaccurate. But it wasn't a security
        | feature, it was a productivity feature. It protected your
        | programs from defects in other programs and vice versa.
        | This helps programmers find defects during design and
        | helps users for defects that escape testing.
 
        | kevin_thibedeau wrote:
        | DOS serves as a good bootloader for an embedded system.
 
        | Koshkin wrote:
        | E.g. https://en.wikipedia.org/wiki/Loadlin
 
    | hulitu wrote:
    | Taken into account how the modern compilers evolved, i don't
    | have big hopes. They seem to become more bloated with every
    | release.
 
      | boznz wrote:
      | The compilers have probably got better but the C language
      | has definitely bloated since the 80s
 
      | oso2k wrote:
      | gcc-ia16 and OpenWatcom are both modern compilers that
      | generate as good a set of code as any compiler ever did for
      | Pentium and older processors. But using a higher level
      | language like C means there's more than one compiler that
      | can compile your DOS. That's a reason to be hopeful if
      | you're a DOS developer.
 
      | ok123456 wrote:
      | constexpr code and move semantics didn't exist until
      | relatively recently. These are steps towards less bloat and
      | more aggressive optimization. They also can elide
      | gratuitous copy construction.
      | 
      | There are a lot of these little optimizations that are
      | found in modern compilers that you could only dream about
      | in 1991.
 
  | bitigchi wrote:
  | Why not contribute to FreeDOS?
 
  | 13of40 wrote:
  | It was written in assembly code:
  | https://github.com/microsoft/MS-DOS/tree/master/v2.0/source
  | 
  | This is a very old version, but I've seen bits and pieces of
  | the last one they shipped and things like command.com and the
  | "kernel" were nearly the same as this, except for maybe some
  | memory management changes. What part did you want to
  | reimplement?
 
| timbit42 wrote:
| There's not much about the life of MS-DOS there. It's mostly pre-
| history.
 
| marcodiego wrote:
| The DOS family tree lacks FreeDOS, the last remaining maintained
| DOS implementation.
 
  | cout wrote:
  | Where in the chart would you put FreeDOS? AFAIK it's not a
  | direct descendant of any version of DOS on the chart but is a
  | separate implementation.
 
| Yhippa wrote:
| I was a kid with not much else to do. We had a home PC and no
| internet connectivity. I spent so much time going through the MS-
| DOS manual and trying out all the commands. If only I had spent
| that time learning Linux commands...
 
  | sedatk wrote:
  | Luckily, my older brother had brought home a "Learning UNIX"
  | book when I was a kid, which helped me learn about UNIX
  | fundamentals years before getting my hands on a machine with
  | it. I was fascinated with the book because UNIX sounded too
  | advanced compared to what I was using back then (an 8-bit
  | Amstrad CPC464). I still use the same knowledge such as
  | managing shell background jobs, exiting vi, using tar,
  | permissions, and so forth 30 years later. UNIX is quite magical
  | in its consistency.
 
    | unixhero wrote:
    | I rarely bring in anecdotes from my mum, but she said it
    | seemed like I was learning something so arcane, as if I was
    | learning how to run nuclear powerplants when I studied Unix
    | at the age of 16. I still use the knowledge I learned from
    | those books, thanks IDC and O'Reilly. I still think Sendmail
    | and bind DNS is a bitch. I still also ridicule Microsoft,
    | although on various points I know I am at least partially
    | wrong.
    | 
    | Unix and Linux, what a world.
 
  | yokoprime wrote:
  | Same. MS-DOS was such a turd of an operating system. So much
  | time fiddling with IRQ settings and disabling stuff to squeeze
  | out just a little more conventional memory so I could play
  | Warcraft II
 
    | 13of40 wrote:
    | I was at a conference or something one time and saw a talk by
    | Bill Gates, where he said that they'd tried to convince IBM
    | to use a 68000 CPU in the original PC. Imagine what DOS could
    | have been with a 32-bit instruction set and 16MB address
    | space from day one. A lot of the eccentricities of DOS at the
    | API level stem from the limitations of the hardware.
 
      | kwhitefoot wrote:
      | Then you have to explain why CP/M running on 8 bit hardware
      | was so much better than DOS on 16 bit.
 
        | 13of40 wrote:
        | I've had pretty limited experience using CP/M - I think
        | the last time I actually played with it was in the early
        | 90s when some old guy I knew was still using it to run a
        | BBS. As far as I recall it was just as atrocious as DOS
        | and other things of that era, at least from a UX point of
        | view. DOS's int 21h API is a close cousin of the system
        | library in CP/M, so I'd expect the developer experience
        | to be kind of similar. Is there something specific you
        | think CP/M was doing better?
 
| rascul wrote:
| The article mentions MS-DOS 6.3 as the latest standalone version,
| but I can't find anything about it anywhere.
| 
| PC-DOS had a 6.3, but as far as I know, MS-DOS only went to 6.22
| before going to 7 (which was not shipped standalone).
 
  | jmclnx wrote:
  | IBM came out with PC-DOS 7.0 around 2000, it had fixes for the
  | Year 2000 plus REX language. I still a copy of it somewhere.
 
  | mobilio wrote:
  | I also note that.
  | 
  | Probably typo mistake from author?
 
___________________________________________________________________
(page generated 2022-02-13 23:00 UTC)