• Please review our updated Terms and Rules here

How long did CP/M have a hold before MS-DOS became a thing

Netware had a similar start in DOS and then mostly do its own thing that protected mode Windows did. There aren't any debates about Netware being an operating system.

16-bit Windows continued to be a major development target through about 2000. Wordperfect 7 for Windows 3.1 was the version that ran best on NT variants for about 2 years. The 32-bit version was infamous for being Win95 only and very buggy until the 7.02 update.

CP/M system manufacturers in the early 80s benefitted from a similar run of application companies hedging their bets with improvements to CP/M versions matching the early and somewhat limited MSDOS versions before much more capable DOS versions were produced.
 
Last edited:
Hawk's bar notwithstanding, if one was in Windows 3 or 3.1 and you entered 'Exit' at the command prompt then you were in DOS. The difference was the graphical interface and color. The masses loved it and the unwashed would-be computer user soon discovered that there was something they could do without a degree and technical training.
"
 
Windows 3.x (in 386 mode) is a proper hypervisor with preemptive multitasking between a single Windows and multiple DOS virtual machines. In all modes, it fully takes over the hardware, with the notable exception of the disk and file subsystems. But Windows 3.1 could take over the former and Windows for Workgroups 3.11 could also take over the latter - at that point, Windows does not rely on DOS drivers at all. Which makes it a proper Operating System(TM) by any reasonable definition.

However, Windows 3.x (as well as Windows 95/98 and ME) did use MS-DOS for bootstrapping purposes. It also kept enough of MS-DOS alive to use its drivers for unsupported hardware and to stuff it into newly created virtual machines.

Note that Minix - which is undoubtedly a proper Operating System(TM) - could do the same. The DOSMINIX package is loaded from DOS, takes over the machine, continues to use the DOS disk and file system drivers, and can return to DOS after shutdown. When used this way, the Minix file systems are stored as image files on regular DOS partitions.

Furthermore, Linux could be run on top of regular DOS partitions using its UMSDOS file system. It can also be loaded from DOS through LOADLIN. Additionally, I remember some PCMCIA and audio hardware which required loading the DOS drivers first (and then loading Linux from DOS without rebooting) in order for the hardware to work. For these configurations, Linux also kinda relies on DOS drivers to prepare the hardware, yet it also is a proper Operating System(TM).

And then there is MacMinix, which runs the complete Minix kernel as an application on top of System 6/7 on a Macintosh. It uses the MacOS services for I/O, and is cooperatively scheduled with other Mac applications - yet Minix applications are scheduled preemptively. Is this version of Minix an Operating System in this case?

Asking ChatGPT is just admitting defeat - by asking a clueless liar.
 
Why am I dragging DRI into the conversation?

Because that's the thread topic... The thread is literally talking about the CP/M "hold" over OS choice - and so pointing out that DRI operating sysetms, and DOS related technologies they made were still entirely relevant until 1995. By which time, Gary Kildall was *very* wealthy. Which, if you go back to what I posted that sparked this controversy, is what I said!

Perhaps I phrased that a bit clumsily. Maybe I should have said something about why are you white-knighting for DRI so hard and pretending that the fact that, sure, DR-DOS was still technically on the market, meant the company was even remotely relevant in any conversation, now or at the time, about what the future of personal computer operating systems were going to be? I can still go down to the hardware store and buy a zinc washtub, but do I think that the company that stamps those out deserves serious consideration when considering what the future of laundry technology is going to be in the year 2025?

The OP's question (which was six months ago, I'm not sure why this popped back up) was simply "how long did CP/M 'rule' before MS-DOS became a thing", and, well, that's a really easy answer: it was born in 1974 and was friggin' *toast* by 1984, with a heyday that spanned roughly between 1977 and 1983. Sure, it shambled along as a zombie in various Pottsylvanian markets up to around 1990, but so did the Apple II and Commodore 64; nobody was pretending that those platforms held any promise as being the "next big thing" in computer or operating system technologies. You're the one who popped into this thread and started spouting this crazy notion that computers weren't "mainstream" until after the turn of the 20th Century and decided to pick 1995 as being some magic juncture in time where if things had gone just a little bit differently Novell (because DRI was *long dead* at this point) could have somehow become the future of computing with... what technology, exactly? Don't say DR-DOS, be serious.

Anyway. If I'm sounding a bit impatient it's because I feel like the fact you're so stuck on this absurd argument about what exactly we should call Windows 3.x ("shell", "operating environment", "operating system") is an argument that's being made either out of deep ignorance or very bad faith. Calling Windows the same thing as Norton Commander is either immensely stupid or a naked troll, I'm sorry... And again, it's entirely missing the point I was making about those stupid market share graphs. The thing I pointed out about that the 1995 graph is obscuring the fact that a huge percentage of the 80%+ market share that it was calling DOS also included a massive number of Windows users. Whether those people are running those Windows programs on a "shell", an "environment", an "operating system", or a friggin' potato, the relevant takeaway is the reality that when the users of those "DOS" machines go shopping for a new computer it's going to be a consideration for them whether that new computer is going to be able to run their old software, and that pile of software is going to include software that requires Windows.

The one lame response you had to that was the assertion that, hey, DR-DOS can run Windows. Which is so much missing the point it hurts.

Under Windows 3.11. You want to install a new drive, but it's not compatible with the BIOS, so you load drivers. You include the driver.sys file on config.sys, and maybe some other parts in autoexec.bat. These shim themselves into the OS - Does Windows recognize these drivers? These DOS drivers?

Okay, let's talk about this just a bit. Second part first: "Does Windows recognize these drivers? These DOS drivers?" The answer to this is, no, actually, it really doesn't. Have you ever actually used Windows 3.x? Windows uses its own built-in device drivers for essentially every part of the computer; video drivers, sound, printer, mouse, none of these use any DOS driver directly. There is some gray area here, in that, for instance, you might have some devices that use a DOS driver to initialize the hardware and the Windows driver inherits the settings, but a Windows program using these devices isn't going to be making API calls to DOS, it's going to be using the Windows API, and in the vast majority of cases that thing is going to be diddling the bits on the hardware directly instead of making a Real Mode call to any resident code that was loaded in config.sys.

The one standout here would be filesystem drivers; Windows before 3.1 always uses the DOS API calls for file access and the actual low-level access to the hard disk, because doing otherwise would have required admitting that Windows was a full operating system(* I'll get back to this) and Microsoft would have to deal with getting drivers for every oddball EDSI and SCSI disk controller that someone might have lurking inside their computer. In some cases they possibly could have made real-mode calls to whatever int13h driver was included with cards that had option ROMs, but you're still taking that hit of having to F-around with a mode switch. (IBM had a solution to this with the PS/2; it was called ABIOS, a native Protected Mode BIOS that offered a standardized multitaking-safe interface to hardware... that unfortunately did not exist on the vast majority of PC compatibles.) But even this barrier was broken with Windows 3.11, which had optional native protected-mode drivers for accessing "standard" Western Digital-compatible MFM/RLL/IDE disk drives.

Let's be crystal clear about this: if you tick the 386 disk access box in Windows 3.11 you are running an exact equivalent of how Windows 95 operates; you're using a native Windows driver for everything including disk access. On the flip side, if you boot Windows 9x into Safe Mode then you're running that so-called "Operating System" in exactly the same way as Windows 3.0 in 386 Enhanced mode runs, IE, protected mode native drivers for everything but the filesystem calls, which are being piped through the same DOS/BIOS calls as the older systems. Do you know what a VxD is? That's the native 386 protected mode device driver API that's was available in Windows up through the end of Windows ME. It was present in Windows/386 2.x. Here's an old reference page talking about alternative VxD drivers to enable 386 Disk access on machines with disks bigger than the limit built into Microsoft's driver.

So I guess I can ask here: now that you know that ticking on that 32 bit disk access box pretty much puts DOS entirely to sleep, is it your position now that Windows 3.1 is both "an operating system" and "not an operating system" depending on whether said box is ticked? Is that the hair you're looking for? This is entirely the same as how Windows 95 operates. So either Windows 3.1 is an operating system, or Windows 95 isn't. Pick your poison.

Such clear delineation is hard to ask for. Microsoft calling Windows 1/2/3 an OS in DOS age would be a political statement too. And they did not want to compete against their own product which was a market leader, rather supplement it.

This is a very important point that hasn't really been drilled into. When Microsoft started doing the technical research into converting Windows into a protected-mode operating system they were in fact violating a pile of agreements they'd made with IBM regarding the development commitments to OS/2, and if MS had actually called Windows 3.0 an "OS" instead of an "operating environment" or whatever other weasel words Bill Gates chose to use for it at the time in interviews it almost certainly would have triggered a contract lawsuit that IBM would have won in a heartbeat.

Microsoft was positively ruthless during this period. They had a contract with IBM that said "operating system" on it, so they didn't build one. Obviously it's somewhat more complicated than that, but in essence that's really what this dumb dance of words boils down to. The divorce was final by the time Windows 95 came out, so they could drop the pretense that what they'd built wasn't full-fledged OS.

This just isn't true. Not by any measure. It didn't launch until late AUGUST 1995 ! By 1995 has a clear and unambiguous meaning. It means 1 Jan 1995. I don't know how many PCs released with Windows 95 by 1st Jan 1996, but I would have no reason to believe that isn't true if you want to change the year you've claimed.

Uhm... it's interesting that you actually included in the quote for this response that I'm very explicitly talking about that fact that WINDOWS, meaning Windows 3.x, was coming preinstalled on almost every new PC by 1995 and had been for years at this point, not 95. Here's a typical ad from a January 1995 PC Magazine:

Screenshot 2024-09-13 at 1.27.31 PM.png

And here's January 1993:

Screenshot 2024-09-13 at 1.30.14 PM.png

And, look: Windows again! Included on everything but the 286 all the way back in January 1992:

Screenshot 2024-09-13 at 1.37.28 PM.png

You have to go back more than three years from 1995 before it starts getting easier to buy a PC without Windows included than with it. THIS is what I was referring to.
 
Last edited:
When Microsoft started doing the technical research into converting Windows into a protected-mode operating system they were in fact violating a pile of agreements they'd made with IBM regarding the development commitments to OS/2. If Microsoft had actually called Windows 3.0 an "operating system" instead of an "operating environment" or whatever other weasel words Bill Gates chose to use for it at the time in interviews it almost certainly would have triggered a contract lawsuit that IBM would have won in a heartbeat.


Microsoft was postively ruthless during this period. They had a contract with IBM that said "operating system" on it, so they didn't build an operating system. Obviously it's somewhat more complicated than that, but in essence that's really what this dumb dance of words boils down to. The divorce was final by the time Windows 95 came out, so they could drop the pretense that what they'd built wasn't full-fledged OS.

Exactly.

Soviet aircraft carriers had antiship missile complement and cruiser designation. This slight change in design and arbitrary terminology allowed them to sail out those ships from Black Sea to Mediterranean; by treaty forbidden for anyone to do with normal aircraft carrier.

Here I see at least three groups of people - stakeholders of said technology who have their own reasons to call it this or that, common users that will have a very abstract and simple definition of what the technology is, and technical users that will dwell on technicalities.

Today people are more oblivious to operating systems than they ever were, they even don't know/care what browser they use and most of them doesn't even use the URL bar. They expect it to look familiar.
 
Just to be yet more pedantic, I'm just going to drop this in here. I mentioned "Safe Mode" already, but: having one or more of the disk drives in your computer stuck in "MS-DOS Compatibility Mode" was a depressingly common bugaboo with Windows 95. As this URL describes, any file system accessed this way is using the MS-DOS INT21h filesystem and BIOS INT13h low-level disk access APIs. Thereby converting Windows 95, the OPERATING SYSTEM Microsoft Windows 95, back into just being exactly the same thing as Norton Commander. I mean, I guess, whatever.
 
The support for MS-DOS based disk drivers in Windows 3.1/95/98 also gave Windows the ability to handle any kind of non-standard, oddball CD-ROM or network server solution people may have shelled out tons of money for. It is a compatibility thing. Sure, system performance while using those drives went down substantially on faster systems, but they worked. That's what counts.

edit: The fact that Windows 3.1 contains a 32-bit IDE disk driver is proof that Microsoft could do it. But hardware vendors didn't care, so compatibility shims were needed.

Oh, and IBM OS/2 has an IBMINT13.I13 disk access driver - which uses the same INT13h API that DOS uses. Minix also uses it, and when operating in real mode, it's even the fastest and most compatible driver it offers.

The "market share" video has pretty animations, but I question the data. That is content farming, not a reliable source.
 
Oh, and IBM OS/2 has an IBMINT13.I13 disk access driver - which uses the same INT13h API that DOS uses. Minix also uses it, and when operating in real mode, it's even the fastest and most compatible driver it offers.

I suppose the hair you can split here is using INT13h is leveraging the BIOS code of the computer, while Windows in full "MS-DOS Compatibility Mode" is using both BIOS and MS-DOS INT21h calls. IE, the latter is actually relying on MS-DOS code to be present in memory somewhere. But that's the funny thing here; Windows 3.11 actually had separate checkboxes for "32 bit DISK access" and "32 bit FILE access". If you had the latter enabled without the former then Windows used protected-mode replacements for the DOS INT21h calls but still used INT13 for the actual low-level I/O...

So, okay, if you have Windows 3.11 with 32-bit file access enabled but 32-bit disk access disabled is whether it's an "OS" or not reliant on whether the INT13h driver for your actual disk device is sitting in a BIOS ROM, or if it was loaded into memory via CONFIG.SYS? ;)
 
Asking ChatGPT is just admitting defeat - by asking a clueless liar.

Chat GPT makes a great razor, while allowing that it can be (and often is) incorrect.... It's a bit of a digital man on the clapham omnibus.

Hence why I kept on looking for an authoritative declaration for what Windows 3 was compared to 95. In the end I found one from Bill Gates.
 
Perhaps I phrased that a bit clumsily. Maybe I should have said something about why are you white-knighting for DRI so hard and pretending that the fact that, sure, DR-DOS was still technically on the market, meant the company was even remotely relevant in any conversation, now or at the time, about what the future of personal computer operating systems were going to be? I can still go down to the hardware store and buy a zinc washtub, but do I think that the company that stamps those out deserves serious consideration when considering what the future of laundry technology is going to be in the year 2025?

I wasn't aware that I appeared to be white-knighting. I guess my perspective is that a lot of the pioneers in computing, especially people like Gary Kildall, are viewed through this narrow lens of "They could have been Bill Gates". From having worked with CP/M of late, and having read much on the topic, I really doubt that was ever possible. Hence, CP/M was going to die out to DOS and newer OS regardless (The first OS to beat it was TRSDOS), and had CP/M become DOS, I don't think we would have ended upw ith Kildall as a modern gates either, and he still would not have had the success of Microsoft. He might have made a little more money, but I don't believe the story that he missed out on becomming the world's richest man... So my next book to read is his book, because everything points to him thinking perhaps he should have been what Bill Gates became, which doesn't seem possible. I have an interest in the history there.

But I don't think they made mistakes. I think they reached an appropriate conclusion in their negotiations with IBM and there's a lot of mental retconning going on with the people directly involved at the time as the lens through which they view their context changes with success or failure.

I do think that there were paths that could have challenged the PC-dominant path, but I don't imagine DRI would have been the champion of those "alternative-history-what-if" paths.

I'm not sure that's white-knighting. Maybe it is. I have a lot of respect and criticism for early DRI, but the same can be said of Microsoft.

I recall installing many Windows 3.0 builds. I was building PCs since 1987, and working for manufacturers a few years later. I remember the installs. I never really thought about whether the OS was DOS or Windows back then, but when I did think about it, I remember it being DOS until Windows 95, and still I'd say it was XP before that truly ended. I worked as a game reviewer from around 1994 onwards... Two years for a video game magazine, four years for a major local newspaper, then I went out of IT and into other areas for a while. For me, the real change from DOS to Windows as the OS occured with XP.

I used DOS/4GW games right up until DirectX completely took over. It was a drawn out change over time, with more games moving to Windows. I still remember the first Windows games I reviewed back then. I think looking at Windows as the OS is a very narrow and limiting perspective since I remember so much of what I did needed the original DOS driver access for so very long. Even after windows 95 came out - though the issues started to accrue after that point and compatability was lost with older systems as the pre-95 ways were abandoned. Same again when Windows 8 came out.

And specifically talking about drivers for disk access with awareness for the change to 32bit access in Windows 3.11 for 386 and above machines was intentional. Generally at the time, I used DOS for DOS applications and Windows for Windows Applications.

I've still yet to find a compelling argument to say Windows 3.11 was it's own OS. But I certainly agree that it wasn't that much different to Windows 95, which I do consider it's own OS. On reflecting, I think I like Microsoft's version of classification. :)

Hence in the OS-timeline, I think DOS dominated until 1996 and then Windoes95 became the new standard...

That most DOS machines could become Windows95 machines? Wow... That thought still blows me away. Windows 3.x was obviously responsible for that alignment 100%... But it's an incredible thought that the entire world switched OS so suddenly back then and nearly no machine was left behind ( except really old machines - XTs, ATs, early 386s ).
 
I've still yet to find a compelling argument to say Windows 3.11 was it's own OS. But I certainly agree that it wasn't that much different to Windows 95, which I do consider it's own OS. On reflecting, I think I like Microsoft's version of classification. :)

I mean, whatever works for you to preserve your favorite narrative.
 
I've still yet to find a compelling argument to say Windows 3.11 was it's own OS. But I certainly agree that it wasn't that much different to Windows 95, which I do consider it's own OS. On reflecting, I think I like Microsoft's version of classification. :)
Andrew Schulman's book Unauthorized Windows 95 goes into great detail about the differences, and even guides through the process of taking a Windows 95 install and turning it into a 32-bit protected mode MS-DOS.

Schulmann makes a convincing argument that by the time VMM386 loads all the 32-bit VXDs for drivers and then loads IFSHELP you have replaced virtually all of MS-DOS with 'thunks' into 32-bit mode via illegal instruction traps...in Windows for Workgroups 3.11 with 32-bit disk and file access turned on... you have everything Win95 brings, except that hard coded call to load the GUI instead of an autoexec running win.com and the new GUI look, plus the Win32API. And it is possible to get Windows 95 to exit to a COMMAND.COM prompt, in real mode DOS.

The VMM386 operating system kernel (yes, it's a full bore kernel, and was even in 386 mode Windows 2 and enhanced (sorry, pun intended) in Windows 3's 386 enhanced mode) lasted all the way until Windows ME.

There are other vintage OSes that use another OS to load the actual OS: the Uzi unix like system was loaded as a COM file in CP/M. EDIT: at least on CPU280, that booted CP/M from ROM, but could run UZI280 from CP/M....
 
Last edited:
I've still yet to find a compelling argument to say Windows 3.11 was it's own OS.
There are oddball cases and 16-bit Windows is certainly one of them. Contempory sources did not agree on it either, and there is a certain amount of politics involved.

If you don't want Windows 3.x to be an OS, it won't ever be one for you, no matter the facts.
 
This microsoft.com page on the company achievements for 1993 says it three times, all summarised in the first paragraph. Are we done with this yet?
https://learn.microsoft.com/en-us/shows/history/history-of-microsoft-1993

Great link, written in 2009 - hence my earlier comment on reconning. Thanks for mentioning it - it does form a reasonable argument that Microsoft have changed their perspective on Windows since.

There are oddball cases and 16-bit Windows is certainly one of them. Contempory sources did not agree on it either, and there is a certain amount of politics involved.

If you don't want Windows 3.x to be an OS, it won't ever be one for you, no matter the facts.

Actually, I think it would have been nice to find any framework pre-1996 that clarified Windows as an OS. The difference between 3.11 and 95 is too close for my comfort to mark a clear differentiation, but I can't find a good framework that is contemporarily correct that goes anywhere near that conclusion.

Given all of the links and references I could find lump Windows up to 3.x in with DOS, it looks like whatever opposition the idea had back in the day wasn't well recorded.
 
Yeah that 2009 link just verifies Win 3 is an OS but they did not want to call it that originally.

@cj7hawk due to all the things discussed here I don't think we'll find such a framework.
Here's a link for that term -> https://en.wikipedia.org/wiki/Operating_environment , it's obviously not sourced well. Per Wikipedia Win 1 was the first release of Windows the Operating System; but in it's history it explains how Microsoft wanted to add GUI to DOS.

It wasn't important for a producer of GUI "OS" back in the day to be bootloaded, reusing DOS was a bonus, backward compatibility and you get to be a shell/runner/file manager for old DOS programs. They didn't have to or need to overwrite DOS, just build on it. Windows 1 is not just a shell because it has lineage - multitasking pattern, and WM message bus. Whatever fast I/O access these DOS hosted "environments" wanted, DOS was out of the way. If DOS stood in the way with some graphics stack of it's own, it would be hacked over or just avoided.

Indeed Microsoft developed DOS and Windows in parallel as this operating system/operating environment combo. Windows 95 could've easily ran on non-discrete DOS version like Windows 3. It was choice of Microsoft to close up that venue, like they closed up the DOS access in version 8.

It was a complex a buggy ecosystem where real and protected modes coexisted, and it was usual to not have a choice. What @Svenska said, is definitely what I personally experienced back in the day, my two controller SCSI driven computer I just couldn't get to work with 32bit drivers and Win95 had to reuse DOS drivers. In the end such system behaves largely like Windows 3.x in protected mode. Anything up and including Win 98 would potentially have an important DOS layer working somewhere, people upgraded their computers, there was no Internet, if some guy did not get a Windows driver floppy with some storage controller, the computer techs would just move his DOS driver as he buys a new base platform and upgrades the OS.

I don't know if anyone answered the original question but it's a simple answer. CP/M was still popular after DOS release because of the existing codebase. The same reason DOS was still popular after Windows were released.
I've not experienced that era, seems to me CP/M dragged along as long as it could next to DOS, there were PC's shipped with CP/M in later 80s. But in the same era DOS was becoming a thing we're now discussing, a 16-bit piece of a 32-bit protected mode puzzle. CP/M could not be used for this, so it got obsolete.

As I've said I don't have enough historical experience and in my country personal/home computer revolution came with C64 and IBM PC in early 80s. I've not seen, or heard anyone around me, using CP/M ever. I don't know what happened in America which is the most relevant territory for this kind of measurement. I believe the first part of OP's question should be asked on a CP/M dedicated forum where there may be real people that stuck with CP/M in mid 80s. However it should be noted that OP first sets up an subjective assertion, by his own addmission, about existance of eras that begin and end in a certain year, which I do not agree with. IMO it's not a year but a period of decresaing usage and importance.
 
Yeah that 2009 link just verifies Win 3 is an OS but they did not want to call it that originally.

@cj7hawk due to all the things discussed here I don't think we'll find such a framework.
Here's a link for that term -> https://en.wikipedia.org/wiki/Operating_environment , it's obviously not sourced well. Per Wikipedia Win 1 was the first release of Windows the Operating System; but in it's history it explains how Microsoft wanted to add GUI to DOS.

I did track down where "Operating Environment" came from... It was Windows 1.

Windows 1 OE.jpg
But by 3.1, the box told another story.

Windows 31 OS.jpg

It's small text, but it's pretty readable.

I guess if it's on the box, it's on the box. Anyone have a pic of a Windows 2 or Windows 3.0 box?
 
So I guess I can ask here: now that you know that ticking on that 32 bit disk access box pretty much puts DOS entirely to sleep, is it your position now that Windows 3.1 is both "an operating system" and "not an operating system" depending on whether said box is ticked? Is that the hair you're looking for? This is entirely the same as how Windows 95 operates. So either Windows 3.1 is an operating system, or Windows 95 isn't. Pick your poison.

As I mentioned earlier, this didn't sit comfortably with me either. There's so few references that until I looked at a box and went back to Windows 1, I didn't notice what the official position was.

Seems Microsoft changed from "Operating Environment" and "Graphical Environment" to "Operating System" when they got rid of real-mode support. No more backwards compatability with the XT, and a greater need to get away from DOS.

This fits a little better.
 
And the XT could've ran CP/M, that's why the version 3 box has "for DOS systems" on it.
By 1992 everyone had DOS on their PC.
 
Back
Top