Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!genrad!mit-eddi!mit-vax!eagle!harpo!floyd!vax135!ariel!houti!hogpc!houxm!ihnp4!ixn5c!inuxc!pur-ee!uiucdcs!bcase
From: bcase@uiucdcs.UUCP
Newsgroups: net.arch
Subject: RISC operating system - (nf)
Message-ID: <2243@uiucdcs.UUCP>
Date: Thu, 16-Jun-83 04:25:58 EDT
Article-I.D.: uiucdcs.2243
Posted: Thu Jun 16 04:25:58 1983
Date-Received: Sat, 18-Jun-83 02:23:30 EDT
Lines: 31

#N:uiucdcs:27800010:000:1394
uiucdcs!bcase    Jun 15 23:54:00 1983

This is nothing important, just an observation.

While reading the UNIX (tm Bell Labs) issue of the BSTJ and writing
my thesis (on RISC architectures) concurrently, the following lines
from "UNIX Implementation" stuck in my mind:

    The kernel is the only UNIX code that cannot be substituted
    by a user to his own liking.  For this reason, the kernel
    should make as few real decisions as possible.  This does not
    mean to allow the user a million options to do the same thing.
    Rather, it means to allow only one way to do one thing, but
    have that way be the least-common divisor of all the options
    that might have been provided.

If "hardware" is substituted for "kernel" and "compiler" for "user,"
then these remarks begin to sound a lot like some comments from 
a paper by Wulf, "Compilers and Computer Architecture" (IEEE Computer,
July 1981):

    - One vs. all.  There should be precisely one way to do something,
      or all ways should be possible.
    - Provide primitives, not solutions.  It is far better to provide
      good primitives from which solutions to code generation problems
      can be synthesized than to provide the solutions themselves.

So there it is.  The basis for RISC architectures was present all along
in the design of the UNIX operating system.  Does this make UNIX the
RISC operating system?  Sure does....  Thanks Ken and Dennis.