From: kevin@sccsi.com (Kevin Brown) Subject: Re: Linux vs. OS2, DOS, Windows, PCGEOS, etc. (convince me) Date: Sun, 14 Mar 1993 07:10:08 GMT
Normally I would just email this to the poster, but there are enough people
who want to do the same basic thing and have the same basic questions
that I think it's at least appropriate to post it to the newsgroup.
Hope I don't get flamed too badly for bandwidth wastage, but I couldn't
pass this one up...
So what newsgroup should I have posted this to? :-)
In article <wwy488q@rpi.edu> burtp@aix.rpi.edu (Philip Nason Burt) writes:
>Forgive me if this sounds ignorant (i am a mechanical engineer)
>
>I will be graduating in May. If I find a job, I will probably buy a
>computer. Most likely, it will be a 386 or 486. I am trying to
>figure out what my main OS will be. Most likely, I will keep DOS
>around to run all that free stuff. I will be running: desktop
>publishing/word processing, spreadsheet, communications, CAD and
>finite element software. here is what I have seen:
Hmm...rather a wide range of needs enclosed by the applications you mention
above.
So let's look at each operating system in turn as it relates to the
applications you want to run, and see what comes out of it.
>DOS:
> Lots of old cheap software available. most CAD/FEM software
> made for the PC runs under DOS. no multi tasking. not much
> realy nice NEW software available.
DOS has so many limitations that it's really hard to find anything good
to say about it. About all I can say about it as an "operating system"
(the term doesn't really apply to DOS) is that it's adequate for launching
applications. Not *great*, mind you, but adequate. But that's about
it. Its limitations include: no standardization of *anything* but the
basic filesystem properties (e.g., what the filenames look like), no
multitasking, artificially low memory limitations on programs, a lousy
filesystem, a severely limited command line interface (something like 128
characters maximum on a command line. And, by the way, the command line
is central to the way DOS works), limited environment space, almost zero
support for hardware facilities, etc., etc. Reentrance is a foreign
concept in the DOS world (why would you ever want to use the same code
from more than one context simultaneously, right?). With that in mind...
Desktop publishing: software exists for DOS, but most desktop publishing
packages that I know of tend to work best when they interoperate with other
special-purpose programs like word processors and drawing/painting programs.
This makes DOS a loser because it lacks any sort of multitasking abilities,
and thus it's harder to interoperate various tools (unless you call firing
up the word processor, saving your work, exiting, and firing up your desk-
top publishing software to be "interoperating").
Word processing: not bad, as it turns out. The biggest problem here is
the lack of standardization means that everyone has their own ideas of how
to do graphics and GUIs. This doesn't seem to be a big problem, though.
Perhaps a more pressing problem is the fact that (again due to lack of
standardization and support facilities), everyone has their own ideas of
how to do printer drivers, so you end up with special printer drivers for
each word processing/desktop publishing/etc. program that you have. Highly
inefficient in terms of space utilization.
Spreadsheet: same as word processing, though printer drivers aren't much of
a concern here.
Communications: everyone wants to drive the serial lines themselves. Thus,
terminal programs that do every protocol imaginable and then some are common
in the DOS world. Then again, DOS is simple enough that there are programs
that allow you to "take over" another machine (which is running the same
package in server mode), even to the extent that you can run Windows on the
server machine and get reasonable responsiveness (going by hearsay, so
apologies in advance if I got something wrong). Of course, those of us who
are used to the idea of remote logins (or X over the network) are not at all
impressed by this capability.
CAD: Printer drivers are again an issue, as is the fact that everyone does
graphics and user interfaces their own way. A much bigger problem is the
memory limitation. CAD programs tend to like to eat space, and it shows.
Not as much of a problem as it used to be, since most CAD programs have been
taught to take advantage of extended memory, but you then end up having to
run extended memory managers and other such pieces in order to keep things
sane. Even then, there's no guarantee that your cache is safe (unless the
vendor explicitly says it is, and perhaps not even then!).
Finite element analysis: can't help you there, but you can assume that you'll
quickly run into the 640k barrier (or extended memory manager headaches).
>OS/2:
> Almost no software available. expensive software. runs some
> windows apps. true multi tasking.
1/2 an OS is essentially a loss, I'm afraid. I expect what little software
exists for it to remain expensive. You have to ask yourself what OS/2 gives
you that Windows wouldn't. The answers to that are probably hard to come by,
and that should be a warning sign that OS/2 is probably not worth much
consideration unless there's a special application that you *have* to run
that *only* runs under OS/2 (not bloody likely, given the lack of software
available for it). Even so...
Desktop publishing/word processing: interoperability can be assumed to be
very good, due to the multitasking and graphics-oriented nature of the
system. Assuming that you have any hard disk space left (I understand
that OS/2 eats *lots* of hard drive space), and assuming you can find the
software you need.
>Windows:
> Old technology. not true multi tasking. NICE GUI software
> available. decent prices. runs DOS apps in windows.
Well, Windows *is* "true" multitasking, but the task switcher is very
simpleminded. Don't expect to get good performance out of it under load.
There's a decent amount of software for it, and most of it is relatively
inexpensive, so all in all I would say it's probably a decent platform for
most of the things you want to do.
But it looks like it's hard to write programs for it, inasmuch as (from
what I remember) you *still* have to deal with memory model limitations
and the like. It's not clear to me that programs written for Windows run
in 386 mode. Rather, I suspect that they run in virtual 8088 mode, which
is a bad sign (this reasoning is based on the fact that Windows will run in
real mode, which implies that the programs that run under it must also be
able to run in real mode). I'll have to look at the documentation to say
for sure.
Windows even has virtual memory capabilities (using a file either of a
predefined size or a size determined at startup time, but of a static
size nonetheless), though I can't say that it's terribly efficient.
The biggest strike against it, of course, is that it's written by Microsoft.
Anyone who has read their software development kit manuals can tell you
why this is a Bad Thing. If this isn't enough to convince you, keep in
mind that these are the very same people who told you that you would never
want to run a program bigger than 640k, or want to type more than 128
characters on a command line, etc. In other words, these are the people
who thought DOS was a good idea (and apparently still do). Bleah.
>PCGEOS:
> True multi tasking. not much software available. decent GUI.
> only runs GEOS apps (i don't think it multitasks DOS apps?)
Never heard of it. Could you supply me with more details?
It's not inconceivable that it could multitask DOS applications. Even
Linux has a DOS emulator (though not very sophisticated. Doing a good
DOS emulator is *hard* when every DOS program wants to drive the hardware
directly).
>Linux:
> FREE. lots of public domain stuff around. nice GUIs
> implemented. commercial software prices through the roof
> (Framemaker for Windows - $500, for UNIX - $5000!!!!), you
> need a degree in systems administration to run it properly.
Linux has all of the power of a real Un*x operating system and few of the
problems. You get:
- *real* multitasking (the scheduler can be made arbitrarily
sophisticated. You have the source, after all :-).
- real multiuser capabilities. Basically, this means that you can
do the things you need to do with full protection of the operating
system, so that you minimize the risk of accidentally stepping on
your own, erm, feet. You can then invoke various commands to give
you full system access when (and only when) you need it. Or you
can run as superuser all the time. Whatever works for you.
- real support facilities for the hardware, e.g. print spoolers,
kernel device drivers, etc. A kmem device and a port device exist
for cases where you *really* want to talk directly to the hardware.
- full use of the hardware capabilities, e.g. memory. In essence,
you don't have to screw around with bogus memory models, since
there's only one here, and that one memory model enables you to
use as much memory as your machine has (and more! You have demand-
paged virtual memory, so your hard drive appears as memory). The
virtual memory system is actually reasonably efficient (probably
more efficient than I think, since I always page from a file and
thus incur filesystem overhead during paging).
- The ability to run X *and* its clients, an ability that DOS users
and Windows users can only dream of (Desqview/X aside. Even that
might not allow you to run clients of any significance on the same
machine).
- More support than you could even remotely hope to get with anything
else, and for free, even (assuming you have net access).
- Full source code to everything, if you want it. If you aren't
satisfied with the support you get from the net (or can't get
that support because you lack net access), you can do it yourself
if you have to.
The biggest problem is that little of the software you want to run exists
under Linux (well, the communications stuff exists in abundance, and there
*is* a spreadsheet, but desktop publishing and word processing aren't
exactly there in the same way as on Windows/DOS, and CAD isn't there at
all. There are probably quite a few finite element analysis programs for
it though, as it will run just about all source-available Unix programs
almost out of the box).
This isn't a problem, as it turns out. Linux doesn't demand exclusive use
of your hard disk, and neither does DOS/Windows. You can allocate however
much (or little) space you want for each and it won't be a problem. That's
what I do, though I obviously run Linux almost exclusively. It's only when
my girlfriend wants to do word processing that I fire up DOS.
>Please convince me to adopt one of these OSs as my main OS. And
>please speak in my terms. I would love to in the future get into C
>and C++ hacking with GCC and G++, but for now, I will need the apps I
>mentioned earlier.
Well, given the above, I would say your best bet is to get Windows (which
implicitly gets you DOS) and Linux and run them both. That way you can
run the applications you need, and then run a *real* operating system when
you start wanting to toss DOS and Windows in the trash.
>Thanks,
You're welcome.
>phil
-- Kevin Brown kevin@nuchat.sccsi.com This is your .signature virus: < begin 644 .signature (9V]T8VAA(0K0z end > This is your .signature virus on drugs: <> Any questions?