Jo22 wrote:[...]Yup. I believe that at some point of view, DOS kind of was legitimated to take over the professional/industrial fields, though. It was the spiritual sucessor of CP/M, after all.
More like a quick & dirty rip-off. Even in its later incarnations it was less mature than CP/M. It just did sort of the same job, sort of well enough.
If some developers didn't focus on IBM so much, in particular on the IBM PC, then maybe DOS would have had become more of a vend […]
Show full quote
If some developers didn't focus on IBM so much, in particular on the IBM PC, then maybe DOS would have had become more of a vendor and platform independant OS.
There are some hints that this was amiong Microsoft's original intentions. From reserving the rights to sell DOS on its own to the other customers to the
fact that MS provided source code for PC makers of MS-DOS up to version ~3.0. Early x86 PCs were describing themselves as "DOS compatible", also.
PCs like the Victor 9000/Sirius 1, BBC Master 512 or Sanyo MBC-555 never wanted to be copycats of the IBM PC, originally.
Thing is, DOS could never have become platform-independent because it didn't do any hardware abstraction whatsoever. All applications had to talk directly to hardware, or go via BIOS routines, which were part of the platform, not the operating system. Consequence is that yes, you could theoretically have the exact same user interface on other platforms as you did under x86, but all application code would have to be specifically written for/ported to the other platforms, meaning you wouldn't gain any advantage in portability. Even with considerable modification and more abstraction that would still apply - take a look at Window NT - it was ported to both MIPS and Alpha platforms, but binaries were not portable, which was one of the main reasons the ports flopped. Having a Windows desktop was interesting, but with no software there was no compelling reason to run it. Even today with Windows 10 Arm vs x86 apps aren't interchangeable.
You can only achieve that with completely virtual environments like Java, which is miles away from what DOS was.
I imagine PC manufactureres initially still believed that the personal computing world would continue the tradition of which mer […]
Show full quote
I imagine PC manufactureres initially still believed that the personal computing world would continue the tradition of which merely the OS core
(BIOS in case of CP/M) would have had to be adapted and user software would continue to rely on API (ABI) calls (more or less).
Unfortunately, the times had changed from the old CP/M days and it was nolonger pratice to adapt an OS to the individual PC, but rather to clone a reference hardware.
By contrast, in the 1970s, it wasn't uncommon to select the terminal device (ANSI, VT100) inside the application.
As late as 1995 it was perfectly normal to select the sound hardware from within the game running under DOS.
Thing is, this is just about selecting whatever hangs on the end of an I/O port. You can't do the same for the guts of a machine. 68000 is a totally different architecture to x86, software couldn't run to the point of being able to select it. They even read their bytes the other way round... even within a given CPU the system architecture is unique and limiting. A PC binary cannot run unmodified in native Sun/386 for example, not even far enough to choose which one to use. And even assuming someone could do just that, a developer would essentially have to develop two completely different applications that get called after that switch.
Edit: Who knows, if things went differently, maybe DOS would have gotten a simple graphics API, even.
Like CP/M Plus or MP/M later got with the GSX system.. Who knows ? 😀
I believe it did. We called it "Windows" or rather "DirectDraw" 😉