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!