Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!husc6!mit-eddie!ll-xn!cit-vax!amdahl!amdcad!rpw3 From: rpw3@amdcad.UUCP (Rob Warnock) Newsgroups: net.unix Subject: Re: "tenex", where does the word come from? Message-ID: <13518@amdcad.UUCP> Date: Fri, 24-Oct-86 20:39:56 EDT Article-I.D.: amdcad.13518 Posted: Fri Oct 24 20:39:56 1986 Date-Received: Sat, 25-Oct-86 07:07:55 EDT References: <623@sdcc12.UUCP> Organization: AMDCAD, Sunnyvale, CA Lines: 51 Summary: Origin of "Tenex" In article <623@sdcc12.UUCP>, wa371@sdcc12.UUCP (Bernd Riechelmann) writes: > Recently learned about the tcsh shell, and the documentation says that > it is 'tenex' like. I can not find tenex in the dictionary. > Where does it come from and/or what does it mean? > Thanks. In the early 1970's, before DEC had ever built a paging version of the PDP-10 processor, Bolt Beranek and Newman (BBN) built and sold a thing called TENEX, for "PDP-10 EXtended", or some such. The TENEX hardware consisted of an entire additional cabinet to your KA-10 processor (which was already three boxes), plus around 150 wiring changes to the basic CPU which connected the CPU to the new box, added some instructions, changed the way some old instructions worked, etc. The main addition was a paging unit, which allowed the possibility of demand paging of user programs. The operating system which supported all of this was also called TENEX (or, "the TENEX Operating System"), and a very interesting article on it was published in CACM (I forget when). As I recall, the motivation was to support some very large research projects being done by ARPAnet members, for which BBN was (is?) a major contractor. The command decoder was a major departure from previous DEC command-line syntax, and had very advanced (for the day) features like command completion and filename completion (you type a piece of the command or filename and hit , and it would try to finish the word or filename for you), and various levels of help available at any time. Also, TENEX was "process oriented" (like Unix), rather than "job oriented", and had "fork()", essentially as Unix knows it (except that memory was by default SHARED between parent and child, which made cooperating processes like "cu" a lot easier to write -- but copy-on-write access was also available). Programs were demand paged out of their ".EXE" files, etc. Anyway, when DEC finally got around to adding paging to the PDP-10 line -- oops, by then the DECsystem-10 and DECsystem-20 line -- demand from users of TENEX (mostly ARPAnet sites?) helped cause DEC to make the operating system for the DECsystem-20 (TOPS-20) be more or less similar/equal to TENEX [and that's ANOTHER long story!], hence the origin of another word you may never see in a dictionary: "Twenex" (refers interchangably to TOPS-20 or TENEX). It is primarily the user-visible command-decoder syntax of Twenex which is being discussed when people are talking about "tcsh" or "ncsh", particularly the command- and filename-completion features. Rob Warnock Systems Architecture Consultant UUCP: {amdcad,fortune,sun}!redwood!rpw3 DDD: (415)572-2607 USPS: 627 26th Ave, San Mateo, CA 94403