Reply 20 of 36, by Jo22
- Rank
- l33t++
Grzyb wrote on 2024-05-21, 21:47:Jo22 wrote on 2024-05-21, 21:17:There were DOS compatible, i386-based multi-user operating systems like real/32 or PC-MOS/386.
They weren't using much 32-Bit code yet, but that wasn't needed at the time.[..] 32-bit was needed, and BADLY. [..]
32-Bit was being welcomed, but in the 80s, the primary objective was to get rid of 640KB barrier and code size limits for applications.
Support for EMS and Protected-Mode (any) allowed for this.
OS/2 1.x could handle about 512MB of RAM, if memory serves.
LIM EMS did support 32MB of RAM and variable page sizes (the old 4x 16KB remaining somewhat popular, though).
32-Bit code was being popular on Unix workstations at the time (late 80s), however, I suppose.
On PC though, the ability to keep using PC software was an important factor.
Things like Clipper, dBase, and other professional programs were what many businesses depend on.
Also, printers and networking were beibg based on proprietary DOS software sometimes.
Changing them wasn't so easy. That's when multi-user/multi-tasking systems like PC-MOS/386 came in handy.
They were DOS compatible, but also had their native interrupts with additional functionality.
That way, a high-end developer PC (or the PC of the company owner) could be integrated on an existing DOS based ecosystem.
The use of 16-Bit instructions, combined with use of 32-Bit Protected-Mode allowed virtualization similar to what EMM386 did later on.
With the difference that an OS like PC-MOS/386 could directly use 16-Bit BIOS service routines (v3 still can run on XTs, at least. Minus enhanced features.)
So there was no risk involved, as there wpuld have been with true blue 32-Bit OSes that use 32-Bit pointers and registers all time.
So all in all, going full 32-Bit wasn't an option yet, I think. At least not on DOS, in mid-late 80s.
Here, Xenix and Minix were other 16-Bit alternatives to PC users.
But if 32-Bit was really needed (relative, SQL style databases), DOS Extenders by Pharlap and
other companies were a workaround to have such high-performance programs on DOS, if occasionally needed.
Functionally, they were akin to Win32s running on top of Windows 3.1 (ok, not fully; Win32s uses lots of thunking).
They maintained communication with both host OS and the application.
Edit:
Grzyb wrote on 2024-05-21, 21:47:[..] […]
Jo22 wrote on 2024-05-21, 21:17:There were DOS compatible, i386-based multi-user operating systems like real/32 or PC-MOS/386.
They weren't using much 32-Bit code yet, but that wasn't needed at the time.[..]
And that's my point: if IBM and/or Microsoft released "32-bit DOS", it would have dominated the market as soon as 386+ machines got common, and everybody would have been forced to support it.
Majority of problems like "too much RAM" would have been easily resolved by upgrading the OS.
I'm not sure if that was ever going to happen.
IBM was afraid of the i386, also because of the mainframe business.
It was too powerful, simply. As far as IBM goes, the 80286 was limit for a desktop PC.
Also, IBM didn't support clone PCs before circa PC-DOS 3.30, released in '87.
And strictly speaking, MS-DOS 4 was meant to be the final DOS, anyway.
If it wasn't for Digital Research's DOS 5, the era of DOS had ended somewhere shortly after 1990.
Because nobody want to keep using DOS, once a good alternative was in sight.
That's why IBM created the Family API and wanted developers to move over to it.
It could help create programs that ran on then-current DOS, as well as future OS a ("real OS") like OS/2.
From a DOS 3.30 user's perspective, DOS was a very limited little single-tasking OS that was very cumbersome to use.
Unless Norton Commander, XTree Gold or GEM were being installed, I mean.
Meanwhile on Motorola 68000 computers, the matured CP/M-68k was available for years. Still 16-Bit, though, like DOS.
On the Atari ST, the TOS operating system was running on top of CP/M 68k, essentially.
Along with GEM as a GUI. So there was an powerful alternative to MS-DOS, already. It just wasn't x86 based.
The aforementioned PC-MOS/386 essentially was some sort of PC alternative to MP/M or MP/M-86, all in all.
Both had virtual consoles, could address lots of memory and so on.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//