3 ms·
Just speculating, but I think the reason for this is that MS-DOS was originally written on 4.77Mhz 8088 machines, both the OS itself and the core utilities, in
by billforsternz 5y ago
Just speculating, but I think the reason for this is that MS-DOS was originally written on 4.77Mhz 8088 machines, both the OS itself and the core utilities, in assembly language. I know from my own experience that it's actually a perfectly fine platform, and you can write performant software that does simple things well. But if you take software written 15-20 years later, on much much faster 386/486/Pentium class machines in C and put it on those early boxes... Well, it's unsurprising it's not going to be performant on 8088s unless that was a specific goal that would absorb a lot of special effort.
- kingcharles 5y agoYes, pure assembler for the early versions of MS-DOS (and its precursors). Microsoft has open-sourced them: https://github.com/microsoft/MS-DOS https://github.com/microsoft/MS-DOS
- temac 5y agoLate versions of MS-DOS are also full of assembly langage. Hell even QBasic and QuickBasic were written in assembly IIRC. There were a few tools in C though I don't really remember which ones; but the vast majority of the OS stayed written in assembly language.
- rnd0 5y ago>But if you take software written 15-20 years later, on much much faster 386/486/Pentium class machines in C and put it on those early boxes... Just for the sake of perspective: 15 years later, you had NT 3.51 running on pentiums with NT 4.0 coming just around the corner and Windows 95 had already been out for a year. 20 years later Windows XP was released and MS held an event celebrating the end of MS-DOS Even ten years later, you had Windows 3.1 running on 486s and OS/2 2.0 was a year away from release. So the 8088 and assembly window was really, really small. And people were over dos by the time Windows 3.0 was released (1990 -nine years after the first IBM PC)
- rnd0 5y agoCorrection; Windows 3.1 wasn't released until 1992 -eleven years later. So it would have been Windows 3.0 (probably in Standard or Enhanced mode) people were running in 1991.
- billforsternz 5y agoIn the original article the author talks of posting a statement of intent in 1994 (13 years after the IPM-PC's debut) and kind of skips over the the next 12 years in a couple of paragraphs, getting to 2006 (25 years after the IBM-PC debut) and FreeDOS V1.0. I was referring to the time FreeDOS was written vs the time MS-DOS was written so I think my 15-20 years range was reasonably accurate. It did take a while for the PC revolution to really pick up speed. The 1981 genesis involved a floppy only machine. The 1983 PC-XT was the practical workhorse that changed everything. The 1984 PC-AT was insanely expensive originally and the average knowledge worker could well have skipped straight to a 386 machine in the late 80s at which point the dramatic speed increases year on year became the norm for a while. Many people continued using MS-DOS alone into the 90s, I know I did. Windows prior to V3.1 was impractical and nobody used it. Windows 3.1 was a successful product and a good experience if you had a really powerful machine. Windows 95 in, that's right 1995, was the real beginning of the end of MS-DOS alone as a mass market office workers' operating system. I would put the golden years of MS-DOS software targeted primarily at 8088 8/16 bit CPUs (in some ways the 8088 had 8 bit hardware and the comparitively uncommon 8086 was the real 16 bit CPU) as 1983-1988. By 1988 much more powerful 32 bit machines were affordable and becoming ubiquitous, but for a while they were mainly used to run 16 bit software much faster. By 1994 when FreeDOS got underway, 8088 machines were not worth targeting and I'm not surprised FreeDOS doesn't work as well as MS-DOS on them, as I already stated.
- flomo 5y ago> So the 8088 and assembly window was really, really small It really wasn't. Ten years later you could walk into a shop and still purchase an XT-class system. It ran WordPerfect (written in asm) just fine. Newer stuff had come out, but it was always more expensive. It wasn't until Windows 3.1 took off circa 1992ish that PC hardware started getting faster and cheaper very rapidly. > And people were over dos by the time Windows 3.0 was released As a practical matter, Windows 3.x required a lot of DOS configuration. It really wasn't until Windows 95 you could mostly ignore it.