wa371@sdcc12.UUCP (Bernd Riechelmann) (10/24/86)
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. Bernd UUCP: ...!sdcsvax!sdcc12!wa371, Internet: wa371%sdcc12@sdcsvax.ucsd.edu
campbell@maynard.UUCP (Larry Campbell) (10/25/86)
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? *SIGH* ... how quickly important work in the field is forgotten... TENEX is an operating system developed in the late 1960s by Bolt, Beranek, and Newman (BBN). It was one of the first demand-paged virtual memory timesharing systems. It ran on a DEC PDP-10 with a paging box built by BBN. In 1973 DEC bought the rights to it, redesigned the file system for better reliability, added lots of features, and called it TOPS-20. Throughout the 1970s, most of the major ARPANET sites ran either TENEX or TOPS-20. If TENEX isn't studied in every introductory operating systems course, it should be. Along with Multics, UNIX, and VM, TENEX is one of the seminal operating systems to have seen commercial use. In particular, it has the cleanest and most efficient virtual memory implementation I've seen. One of TENEX's most innovative features is its command processor, or EXEC. I think it's the friendliest user interface I've ever seen that doesn't get in your way. (Menus are friendly, but after about an hour you're ready to put your foot through the screen.) Now it's my turn to plead ignorance... I have heard of tcsh but never seen one. Is it public domain? Can I get a copy? I am a big fan of TENEX (TOPS-20 actually), and would love to have a similar user interface for UNIX. -- Larry Campbell MCI: LCAMPBELL The Boston Software Works, Inc. UUCP: {alliant,wjh12}!maynard!campbell 120 Fulton Street, Boston MA 02109 ARPA: campbell%maynard.uucp@harvisr.harvard.edu (617) 367-6846
rpw3@amdcad.UUCP (Rob Warnock) (10/25/86)
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 <ESC>, 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
cwruacm@cwruecmp.UUCP (Kronen Insultants) (10/25/86)
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? >Bernd "TENEX" was an operating system designed and implemented by Daniel Murphy and others at BBN (Bolt, Baranek, and Newman) in the early 1970's based on TOPS-10. It ran on a DECsystem-10 with special paging hardware added by BBN. DEC, as the story goes, bought the rights to TENEX and used it as a base for TOPS-20 ("Twenex"). A shell that is "tenex-like" would probably include some of the following characteristics: 1. <ESC> completion of filenames and commands 2. <ESC> to find out more information about a command (defaults, etc.) 3. Typing a question mark at any time will cause the EXEC to list the options at that point (e.g. typing "CO?" at the EXEC prompt will cause the exec to list all the commands that begin with "CO") 4. Typing a question mark after a command will cause the EXEC to list the available options and/or what type of argument is expected TENEX was written entirely in assembly language (the norm for that time, but still terrible to contemplate -- if you hadn't guessed, I only use assembler when absolutely necessary :-)). An article describing TENEX appears in "Communications of the ACM" in one of the 1972 issues. The article is by Murphy and the other implementors. Chet Ramey Trademark is a Disclaimer of Bell Labs ARPANET: cwruacm%case@csnet-relay.arpa or ramey%cwru-20%case@csnet-relay.arpa CSNET: cwruacm@case or ramey%cwru-20@case UUCP: {...}!decvax!cwruecmp!cwruacm or {...}!decvax!cwruecmp!ramey@cwru-20 BITNET: ramey%cwru20@cu20b "But we decide which is real and which is an illusion..." The Moody Blues
budd@bu-cs.BU.EDU (Philip Budne) (10/27/86)
TENEX stands for TEN EXecutive, an operating system developed for the PDP-10 in the early 1970's at BBN. A major goal was the production of a user friendly, user mode command interpreter (the EXEC) that had command completion and "incremental help"; at any time, in any command a user could type <ESC> to "complete" the keyword or filename being typed, or type "?" and see an explanation of valid options at this point in the command parse. The "Load Average" in BSD is a legacy of TENEX. TENEX (and TOPS-20 "Twenex"), share with Un*x the idea of a user mode command interpreter with user programs executing in 'forks'. Another similar point was the design decision that "no operating system maintained structures should exist in the user's adress space". However the T(w)ENEX monitor performs many operations in the supervior such as username translation and 'globbing' performed by libraries or the shell in Un*x. TENEX also has a rich set of terminal, virtual memory, and fork management primatives. An interesting abstraction is the equivalence of disk and memory pages; useful for databases and shared libraries. Ken Thompson acknowledged in his Turing award speech that if Dennis Bobrow's AI group had been poorer and had had to settle for a PDP-11, that Bobrow might be standing there instead of him.
jon@nsc.UUCP (Jon Ryshpan) (10/31/86)
Anyone who wants to get a small idea of what a "tenex like" interface looks like can run C Kermit, which has a user interface based on tenex. -- Jonathan Ryshpan MS D3645 USENET: ...hplabs!nsc!blit!jon National Semiconductor ARPA: decwrl!nsc!blit!jon@ucbvax.arpa Sunnyvale, CA 95052-8090 DOMAIN: jon@blit.sc.nsc.com