Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Considering MS-DOG (inside NTVDM) (Users)

posted by Dennis, 06.08.2011, 04:01

> > > OS/2 was supposed to be that OS, but IBM and MS couldn't agree on
> > > direction. MS wanted to skip over the 286 and develop for the 386
> > > instead.
> > > IBM said "No, we're developing for the 286." In retrospect, this was
> > > an> > error.
> >
> > Maybe it was an error to make the 80286 (mostly) 8086 compatible ?
> > keep the 64 KiB segment limit ? Or to invent M$-DOG and M$-Windaube(both
> > were already out when OSama/2 started, and influenced it) ? Or to
> > implement support for the old M$-DOG and M$-Windaube legacy crap in the
> > new cool OSama/2 ? It's always easy to criticize historical decisions of
> > other people :-)
>
> This is afaik all known. IBM simply wanted to clear out 286 inventory, and
> keep the 386 at a premium for a time longer. Nice tiered pricing schemes
> as they were used to in mainframes.

Not really. IBM did not design the 80386, Intel did. One of the sea changes in the industry when the 386 came out was just who made it. Before the 386, the industry norm had been to license the design so there was more than one source of product. A major customer's concern was "What do we do if their factory burns down?" IBM licensed the right to produce Intel design CPUs in their own foundries, until the 386 was released. Intel declined to license the design to other producers. They wanted the entire revenue stream, and bet (correctly) that they had the capacity to meet the demand.

> Then Compaq started mass selling 386 clones, and being quite succesful at
> it.

And for a time was able to charge a higher price than IBM, and were considered the gold standard.

IBM created the standard with the original PC, and others built to it. The result was the PC becoming a commodity with commodity pricing, where the lowest cost producer won. IBM was never the lowest cost producer, and finally sold the PC operations to Lenovo.

> > > While the 286 offered additional capabilities, it was essentially a
> > > transitional step, and the 386 was a far better platform.
> >
> > So why did M$ and Boreland develop for 80286 for that many years (Win16,
> > DPMI16) ?

Because it was there, and there was a market. They didn't see a point to waiting. they made programming tools, and supported the hardware programmers wrote for.

The original question wasn't about particular programs or programming tools. It was about the development of a new OS that could use the capabilities of the new processor.

In IBM's defense, they had promised support for the 286 to their customer base, and intended to keep the promise.

> Because it took some time for 386 to receive full penetration. Also the
> price of memory was still prohibitive. (and 386 OSes ate more memory).

386's were more expensive. Everything was. But back when, an original IBM PC with 4.77mhz 8088 CPU, dual 360K floppy drives, 256KB of RAM, and a mono monitor cost about twice what a fairly high end 3ghx multi-core Pentium box with 500MB of disk and 6GB or RAM does now. Everything is relative.

> > > While the 286 had features, it had limitations. Like you could only
> > > run one "real mode" application at a time
> >
> > You could implement multitasking in RM too (maybe not that reliable) or
> > use the new cool PM :-)

Yes, things like DesqView did it. But you were better off if you could do your multitasking in protected mode space. The problems arose when something you did had to be done from real mode.

The 386 offered the hardware memory management to have multiple virtual real mode sessions, and that issue went away.

> > > and while there was an instruction to enter Protected mode, there
> > > was none to leave it - you had to do a CPU reset.
> >
> > + no CPUID, no RDTSC/WRTSC, no CRC32, and the horrible 64 KiB segment
> limit
> > :clap:

> The 64kb thing was indeed horrible. Though some of the horrors were self
> inflicted in retrospect, like keeping to try assembler code running with
> different memory models (tiny/compact/large/huge etc)

> Not being able to pass a pointer in a single register made register
> parameters hard.

When you are dealing with a segmented architecture, and you are trying to squeeze the last bit of performance out of the platform, you code in assembler, and deal with the horrors. One of the reasons for coding in an HLL is to let the compiler take care of that stuff for you.

> > > In your position, I'd look at a VM solution, rather than trying to
> > multi-boot
> >
> > The HORROR of booting DOS :clap:

Whether it's a horror depends on what you want to do. If you just want to run the odd DOS app, and you can run that in emulation at acceptable speed in your current environment, setting up to boot to actual DOS may be more trouble than it's worth.

If for some reason you want or need a full genuine MS-DOS installation to run stuff "native", it isn't.

> It depends on the uses. If you do major compilation work, a VM is only
> slowing. OTOH that could be done under XP too, and there is no need for
> native dos.

If you have a fast enough system and a VM, you might not care. You let your slow compilation occur in another process (or even another VM), while you do other things. Or you have more than one system, and devote one as a build system while you develop elsewhere.

> So that leaves testing the result. I would do that on an old system, and
> not the new one.

So would I.

(Back when, the lead developer for the XyWrite word processor used to write in assembler, and do his development on an original 4.77 mhz IBM PC, well after 16-25 mhz 286's become the standard platform. He figured it he could get it to run acceptably on a 4.77mhz box, it would fly on what the customer probably had.)
______
Dennis

 

Complete thread:

Back to the forum
Board view  Mix view
21998 Postings in 2024 Threads, 395 registered users, 194 users online (0 registered, 194 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum