page_title: TENEX (operating system)
section_title: BBN and PDP-10s
hierarchical_section_title: TENEX (operating system) / BBN and PDP-10s
caption_attribution_description: English: BBN Pager, required to run the Tenex operating system. This equipment implemented paging for the PDP-10 computer.
context_page_description: TENEX was an operating system developed in 1969 by BBN for the PDP-10, which later formed the basis for Digital Equipment Corporation's TOPS-20 operating system.
context_section_description: BBN nevertheless went ahead with its purchase of several PDP-10s, and decided to build their own hardware pager. During this period a debate began on what operating system to run on the new machines. Strong arguments were made for the continued use of TOPS-10, in order to keep their existing software running with minimum effort. This would require a re-write of TOPS to support the paging system, and this seemed like a major problem. At the same time, TOPS did not support a number of features the developers wanted. In the end they decided to make a new system, but include an emulation library that would allow it to run existing TOPS-10 software with minor effort.
  The developer team—amongst them Daniel Murphy and Daniel G. Bobrow—chose the name TENEX (TEN-EXtended) for the new system. It included a full virtual memory system—that is, not only could programs access a full 18 bit address space of 262144 words of virtual memory, every program could do so at the same time. The pager system would handle mapping as it would always, copying data to and from the backing store as needed. The only change needed was for the pager to be able to hold several sets of mappings between RAM and store, one for each program using the system. The pager also held access time information in order to tune performance. The resulting pager was fairly complex, filling a full-height 19" rackmount chassis.
  One notable feature of TENEX was its user-oriented command line interpreter. Unlike typical systems of the era, TENEX deliberately used long command names and even included non-significant noise words to further expand the commands for clarity. For instance, Unix uses ls to print a list of files in a directory, whereas TENEX used DIRECTORY (OF FILES). "DIRECTORY" was the command word, "(OF FILES)" was noise added to make the purpose of the command clearer.  To relieve users of the need to type these long commands, TENEX used a command completion system that understood unambiguously abbreviated command words, and expanded partial command words into complete words or phrases. For instance, the user could type DIR and the escape key, at which point TENEX would replace DIR with the full command. The completion feature also worked with file names, which took some effort on the part of the interpreter, and the system allowed for long file names with human-readable descriptions. TENEX also included a command recognition help system: typing a question mark (?), printed out a list of possible matching commands and then return the user to the command line with the question mark removed. The command line completion and help live on in current CLIs like tcsh.
caption: BBN Pager, circa 1970
exif: {}