[comp.sys.ibm.pc] Windows 3.0 etc

phys169@canterbury.ac.nz (07/18/90)

In various articles various people wrote...
>... if I buy Windows 3.0, I can take any mix of exes and coms...
Windows, like many ????view products, places restrictions on what can run.
Whether it excludes too many useful programs is debatable (and largely in the
eye of the beholder), rather like Apple saying their Mac II would run 80-90% of
existing software when it came out - but the 10-20% it didn't run were all the
popular ones! In general, fancy, popular software "bypasses" the official way
of doing things, hence has problems. 

The whole problem is that it has taken *too long* for systems like Windows 3 
to come along; software developers have become accustomed to having the whole 
machine to themselves. Not only is there the problem of incompatibility, but
some types of programming on PC's is inefficient under multi-tasking systems,
e.g. wizzing around in a loop waiting for something (like a keystroke) to
happen, when there should be a system call that waits and lets another process
get a time slice. 

> ... for many people the *PC can't multitask* position is repeated ...
The PC hardware and BIOS is perfectly suitable (although the 640K memory
barrier is a wee bit of a problem, but remember minicomputers ran really good
multitasking systems with only 10-20% of that RAM decades ago). 
The problem is that MS/PC-DOS has some silly implementation flaws that make it
darned difficult to have multi-tasking and multi-processing. You could re-write
MSDOS with re-entrant code and so forth, but probably lots of existing programs
will object, that have grown to expect the undocumented "unsupported" features.
That's why it is "safer" to tack the multitasking on in an optional package
that runs on top of MSDOS, even though it is inefficient.

> You don't need to understand any particular o/s to know what multitasking 
>means, it's not a buzzword but has a clear meaning.
Quite right, but the environment in which you put it is very significant to the
way you think about multi-tasking, multi-processing, and multi-user systems.
The PC is a *Personal* computer, which means one person running it, normally.
There are practical limitations on attaching extra terminals, but that doesn't
stop it from being capable of multitasking, just unpleasant as a multi-user
system. People tend to think of trying to implement multi-tasking on a PC in
terms of what a minicomputer o/s does, which is irrelevant. Most PC users want 
to be able to start a program running at low priority that doesn't need the
console, e.g. printing or database tidying, invisible to the user (that is,
background processing, or low priority multi-processing), and they may want to
run programs with roughly equal priority, on screen at once (what I call
windowed multi-processing), and they may even want to have one program perform
two or more jobs at once (e.g. read from device into a buffer, and write to
another; or typical process control tasks), which is what I think of as
multi-tasking. That is, tasks are within a program, can share subroutines and
files, and are loaded/removed as a whole. Processes or jobs are independant,
and often associated with separate users, but not always, and never on a PC.

>  "DOS is not multitasking" 
Quite right. But it could be. It looks like the trend is
towards new versions of DOS that are significantly incompatible with previous
versions, so there is no reason why true multi-tasking couldn't be introduced 
in some future version (except, perhaps, the fear of competing software from
the same company sufferring).

> "A Sparcstation costs about the same as a comparably-equipped PC"
It is difficult to get configurations that close. For instance, the normal mono
screen that comes with the likes of a Sparcstation is very expensive for a PC,
but for a few dollars more you can put a very high resolution colour screen on
a PC. And then, some software is very cheap (or included) in the Unix world,
but a lot is very expensive compared with PC versions. You can get a reasonable
PC configuration much cheaper than the cheapest Unix box, but a large-screen
14Mips networked system is very expensive to get in a PC box. It is all to do
with targetted buyers and mass production, and what people *expect* from the
system.  If people demanded large screens and windows ten years ago, PC's would
do that cheaply now. But they didn't, so they don't. Moral of story: Demand now
what you'll want in ten years time!

Mark Aitchison, Physics, University of Canterbury, New Zealand.