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.