[net.micro.mac] BYTE "68000" issue

gnu@hoptoad.uucp (John Gilmore) (09/04/86)

[Followups should go only to net.micro.68k.]

> UNIX and the MC68000 (by Andrew L. Rood, Robert C. Cline, Jon Brewster)
> 	The powerful yet simple programmer's model offered by the 68000's
> 	architecture makes UNIX implementation easy.

Flame on.

This article is the worst one I've seen in BYTE in a long time.  A shame,
since it's probably the one closest to the interests of us on net.micro.68k.
The authors work for HP in Corvallis, Oregon; maybe they are on the net.
If so, guys, stand up and defend your article -- if you can.

Here's a sample paragraph from page 198:

"COPROCESSORS

The MC68000 family allows for multiple CPU environments.  In the UNIX
environment there is the possibility for much parallel processing if
multiple processors are available.  The MC68000 bus operates
asynchronously.  This aids in configuring buses with a multimaster
capability that support multiple CPUs using the same memory and
peripherals.  Many types of coprocessors are common to UNIX
implementations, including floating-point coprocessors, graphics
coprocessors, and DMA (direct memory access) processors.  Because UNIX
is a multitasking system with multiple processes executing at any time,
the operating system easily manages multiprocessor envionments."

A few of the errors in just this paragraph:

* Having an asynchronous bus has nothing to do with whether it supports
multiple masters.

* The authors are confused among coprocessors, multiprocessing, DMA,
and multitasking.  A coprocessor as the word is typically used means a
specialized chip which executes some instructions for the CPU, e.g. the
float instructions.  Multiprocessing refers to having two or more
identical or similar CPUs working in parallel, as on a Sequent machine
or on large ibm "MP" machines.  DMA (Direct Memory Access) allows I/O
devices to read or write memory without CPU intervention.  Multitasking
means having more than one program appearing to run at once, as on all
Unix machines.

* Being able to do one of the above does not make the rest easy.

* The 68000 does not provide direct support for any of these; they are
implemented by software and/or external hardware.  (The 68020 directly
supports coprocessors, but they are talking about the 68000.)

* Unix has a lot of trouble with multiprocessor environments.  People
who run Unix on MP hardware did a lot of hard work on Unix to get
there.

The above paragraph, while worse than most, is typical.  The authors
demonstrate how little they know about Unix and system design
throughout the article.  I thought BYTE was refereed and edited better
than this, but it isn't.  With people like this "explaining" Unix to
the masses, no wonder people don't understand it.  Flame off.

-- 
John Gilmore  {sun,ptsfa,lll-crg,ihnp4}!hoptoad!gnu   jgilmore@lll-crg.arpa
		     May the Source be with you!