From: mrmike@michelotti.ae.ge.com ("Mr. Mike" Passaretti)
Newsgroups: comp.sys.amiga.advocacy
Subject: Re: Future Amiga chipsets
Date: 30 Dec 92 17:37:42 GMT
Reply-To: Mike Passaretti <passaretti@crd.ge.com>
Organization: GE Aircraft Engines, Cincinnati OH

# In article <1992Dec29.170201.5092@sol.ctr.columbia.edu>, 
# jerry@msi.com (Jerry Shekhel) writes:

jerry> Mike, you said that you are a developer of real-time
jerry> embedded systems.  I agree that this makes you uniquely
jerry> qualified to compare such systems and judge which one
jerry> is the most well-designed.  But does it mean that you
jerry> have any more right than I to say what is an OS and
jerry> what is not?  Or even what is a good OS?

It means I have a well founded notion of what goes into a
basic OS (micro kernel if you wish), what features _must_ be
present to build other layers on top of it, and how they
should be designed in.  That's where I'm arguing from.

jerry> Suppose I am not interested in real-time embedded
jerry> systems.  Let's say I need an OS which supports the
jerry> most varying hardware, can handle the largest, most
jerry> feature-packed commercial applications, and has an
jerry> easy-to-use GUI.  Does your real-time embedded OS
jerry> qualify as a good OS in my case?  No, it doesn't, but

Yes, it does.  "My" real time OS supports NFS, X-Windows, UN*X
file systems, and runs on most x86, 680x0, or i860 products with
minimal device driver and board support work.  I've personally
"ported" it to 12 or so different machines.  It also fits in
less than 1MB of ROM.  

jerry> Windows certainly does.

It doesn't support my Amiga.  I've run my real-time kernel
(most of it anyway) on Ami as a task.  Which supports the most
varying hardware again?

jerry> During all these OS discussions, I've noticed that most
jerry> people here consider some OS features more "noble" than
jerry> others.  More often than not, the features that Amiga
jerry> users praise are those which AmigaOS happens to have,
jerry> and the features that they consider worthless are
jerry> conveniently those which AmigaOS lacks.  For example,
jerry> the preemptive multitasking and fast context switch.

Actually, all my examples were of resource allocation.
An OS _must_ do several things; It must allocate resources,
including but not limited to displays, storage devices and
input devices.  It must provide for the loading and execution
of other programs which utilize its features.  It must
provide a consistent, useful interface to those features for
the application programmer.
(I cribbed that from my course notes on OS design)

jerry> Amiga users seem to believe that because AmigaOS has
jerry> these, it's OK that it doesn't have VM, MP, or DIG.
jerry> This is precisely what I disagree with.  I'm not saying
jerry> that it's the other way around; I'm just saying that it
jerry> depends on what you use your computer for.  Just like
jerry> there is room in the marketplace for several different
jerry> classes of automobile, there is room (and
jerry> justification) for several different OS designs.

Agreed.  That doesn't make a motorcycle with a sidecar and a
trailer a hatchback, though.  I am saying that MSDOS does not
provide (among other things) adequate resource management to
be used as a multitasking system, and Windows, for all its
efforts, cannot "fix" this.  This does not make Windows
useless, as some might say, but it does make it cumbersome and
kludgy.  Some people also feel this way about BSD UN*X.  And
System 7.  So far I haven't gotten the "glued-on" feeling from
the Amiga, though the font handling and print management is
still a little squirrely.  

The simple fact of the matter is that Windows supports no less
than three different APIs, and that's confusing to say the
least.  To top that off, there is still the "ghost" of MSDOS
running under Windows as it stands now, and that adds another
layer of complexity to the equation.  Windows NT is a step in
the right direction, as is OS/2.  Why are you so resistant to
the idea that Windows was not designed to be a single OS?  It
was designed to give App programmers some room to breathe and
to allow the users to keep their investment in software.  Like
most attempts at pleasing too many people, it does an adequate
job to everyone, but it's hardly the best solution possible.
It is, and here we agree, one of the best solutions available
to the PC marketplace right now.  OS/2 is just beginning to
come up the curve...

me> The OS developer, by : definition, decides what goes in his
me> OS.  The API is all that matters to the applications
me> programmer, and the applications are all that matter to the
me> user.

jerry> I strongly disagree on this point.  Why is it that a
jerry> GUI is now part of Unix?  Because the *users* demanded
jerry> it.  

Actually, although X-Windows is delivered with many UN*X
systems, it is _not_ part of the OS.  This is the point I have
been making.  UN*X does _not_ support DIG (unless you count
curses).  The X _environment_ supports DIG, but *this is not
part of the OS* it's a toolkit grafted on the side.  Do you
get it yet?  And X is _hardly_ the example you want to hold up
as a useful GUI.  It works, but it's not real elegant either
and it has its own baggage to cart around.  

jerry> Why were scalable fonts finally added to MacOS?
jerry> For the same reason.  

Actually, to answer your question, it was because Apple saw
that conflicting Application standards for scaling fonts were
causing conflicts and they stepped in to resolve the issue.
The users already had scalable fonts.  What they wanted was a
_standard_.  The point, however, is valid.

There's a big difference between designing a feature in and
sticking it on later, but that's another story.  If you could
see some of the code in the MacOS (Yes I have), you would
cringe.  Or maybe not.  I'm an aesthete when it comes to
programming.

jerry> You say that the OS developer
jerry> decides what goes into his OS?  That's absurd!
jerry> Certainly, you have the final decision, but if you
jerry> don't listen to your market (users and app developers),
jerry> you won't be an OS developer for long.  

Tell it to Sun.  Ask them what % of their customers didn't
want the SPARC or SysVr4 switchs.  Sometimes the size of a
company means they've got you by the short hairs.  

jerry> Ever heard of market research?  No product exists
jerry> without there being some need for it in the
jerry> marketplace.

Right.  That doesn't mean every product is well designed or
thought out.  I still think the PC world would have been
better off with a new, designed from the ground up with no
baggage, OS.  The pain involved in the changeover would have
been great, but I think you would have ended up with a better
product.  None of the big boys would stick their neck out that
far, though, and it ain't a job for a two man company...

jerry> And believe me, only in dreamland does the
jerry> implementation of the API not concern the application
jerry> programmer, and only in dreamland does the OS's
jerry> ease-of-use not concern the user.

Well, then, I must live in dreamland 'cause my App programmers
don't care how the OS gets the info to the output device as
long as it gets there, and my users don't care as long as they
can read it.  I care, 'cause I have to support UN*X and
real-time versions of the same software with minimal effort,
but that usually means _I_, as OS/Systems guy, have to make it
work the way they expect.  As long as it does what they want
(function) they don't care how it does it (implementation).
Now if it did it real slow, or in a broken fashion that's
another matter, and maybe that's what you're talking about.
Also, to some extent, if the API is too arcane, that's a
problem as well.  See my discussion on Windows above...

We agree on more than we disagree on here, Jerry.  Don't lose
sight of the point I'm making 'cause you think I'm bashing one
system and holding another up for sainthood.  AmigaOS has its
baggage too (Mostly BCPL scats and chippy things), but the
folks at Commodore are working to clear it away.  Just like
the folks at Microsoft are trying to do with Windows NT.  I
just know (from personal experience with members of both staff
groups) that the Commodore folks have a lot more people who
are concerned with doing it cleanly and efficiently than the
Microsoft folks (who want to get product out the door).
Maybe the argument here is really between the aesthetes and
the folks who care more about function than form...  Both
groups have valid points, but radically different views.  Hmm.
Something to ponder.  

                                                        - MM
-- 
passaretti@crd.ge.com           {whatever}!crdgw1!copernicus!passaret
mrmike@michelotti.ae.ge.com     {whatever}!crdgw1!copernicus!michelotti!mrmike
Newsgroups: comp.sys.amiga.advocacy