Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

TENEX (operating system)

From Wikipedia, the free encyclopedia
1969 Operating system by BBN
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(August 2025) (Learn how and when to remove this message)
Operating system
TENEX
DeveloperBBN
Written inAssembly language
Working stateHistoric
Initial release1969; 56 years ago (1969)
Marketing targetMainframe computers
Supported platformsPDP-10
Influenced byTOPS-10
Default
user interface
Command-line interface
LicenseProprietary
Succeeded byTOPS-20

TENEX is anoperating system developed in 1969 byBBN for thePDP-10, which later formed the basis forDigital Equipment Corporation'sTOPS-20 operating system.

Background

[edit]

In the 1960s,BBN was involved in a number ofLISP-basedartificial intelligence projects forDARPA, many of which had very large (for the era) memory requirements. One solution to this problem was to addpaging software to theLISP language, allowing it to write out unused portions of memory to disk for later recall if needed. One such system had been developed for thePDP-1 atMIT byDaniel Murphy before he joined BBN. EarlyDEC machines were based on an18-bit word, allowing addresses to encode for a 256kiloword memory. The machines were based on expensivecore memory and included nowhere near the required amount. The pager used the most significant bits of the address to index a table of blocks on amagnetic drum that acted as the pager'sbacking store. The software would fetch the pages if needed, and then resolve the address to the proper area ofRAM.

In 1964 DEC announced thePDP-6. DEC was still heavily involved with MIT's AI Lab, and many feature requests from the LISP hackers were moved into this machine. 36-bit computing was especially useful for LISP programming because with an 18-bit address space, a word of storage on these systems contained two addresses, a perfect match for the common LISPCAR and CDR operations. BBN became interested in buying one for their AI work when they became available, but wanted DEC to add a hardware version of Murphy's pager directly into the system. With such an addition, every program on the system would have paging support invisibly, making programming much easier. DEC was initially interested, however in 1966 they announced they would be discontinuing the PDP-6 and concentrating solely on their smaller 18-bit and new 16-bit lines. The PDP-6 was expensive and complex, and therefore had not sold well.

It was not long until it became clear that DEC was once again entering the36-bit business with what would become thePDP-10. BBN started talks with DEC to get a paging subsystem in the new machine, then known by its CPU name, the KA-10. DEC was not interested; however, one development of these talks was support in the PDP-10 for a second virtual memory segment, allowing half of the user address space to be mapped to a separate (potentially read-only) region of physical memory. Additionally, DEC insisted on keeping the cost of the machine as low as possible, such as supporting systems with a minimum of 16K words of core, and omitting the fast semiconductorregister option (substituting core), at the cost of a considerable performance decrease.

BBN and PDP-10s

[edit]
BBN Pager, circa 1970

BBN nevertheless went ahead with its purchase of several PDP-10s, and decided to build their own hardware pager.[1] 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-10 to support the paging system, and this seemed like a major problem. At the same time, TOPS-10 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 themDaniel Murphy andDaniel G. Bobrow—chose the name TENEX (TEN-EXtended) for the new system. It included a fullvirtual 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-orientedcommand line interpreter. Unlike typical systems of the era, TENEX deliberately used long command names and even included non-significantnoise words to further expand the commands for clarity. For instance, Unix usesls to print a list of files in a directory, whereas TENEX usedDIRECTORY (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 acommand completion system that understood unambiguously abbreviated command words, and expanded partial command words into complete words or phrases. For instance, the user could typeDIR and the escape key, at which point TENEX would replaceDIR 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 acommand 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 liketcsh.

From TENEX to TOPS-20

[edit]

TENEX became fairly popular in the small PDP-10 market, and the external pager hardware developed into a small business of its own. In early 1970 DEC started work on an upgrade to the PDP-10 processor, the KI-10. BBN once again attempted to get DEC to support a complex pager with indirect page tables, but instead DEC decided on a much simpler single-level page mapping system. This compromise impacted system sales; by this point TENEX was the most popular customer-written PDP-10 operating systems, but it would not run on the new, faster KI-10s.

To correct this problem, the DEC PDP-10 sales manager purchased the rights to TENEX from BBN and set up a project toport it to the new machine. At around this time Murphy moved from BBN to DEC as well, helping on the porting project. Most of the work centered on emulating the BBN pager hardware in a combination of software and the KI-10's simpler hardware. The speed of the KI-10 compared to the PDP-6 made this possible. Additionally the porting effort required a number of newdevice drivers to support the newer backing store devices being used.

Just as the new TENEX was shipping, DEC started work on the KL-10, intended to be a low-cost version of the KI-10. While this was going on,Stanford University AI programmers, many of themMIT alumni, were working on their own project to build a PDP-10 that was ten times faster than the original KA-10. The project evolved into theFoonly line of computers. DEC visited them and many of their ideas were then folded into the KL-10 project. The same year IBM also announced their own machine with virtual memory, making it a standard requirement for any computer. In the end the KL integrated a number of major changes to the system, but did not end up being any lower in cost. From the start, the newDECSYSTEM-20 would run a version of TENEX as its default operating system.

Functional upgrades for the KL-10 processor architecture were limited. The most significant new feature (calledextended addressing) was modified pager microcode running on aModel B hardware revision to enlarge the user virtual address space. Some effective address calculations by instructions located beyond the original 18-bit address space were performed to 30 significant bits, although only a 23-bit virtual address space was supported. Program code located in the original 18-bit address space had unchanged semantics, forbackward compatibility.

The first in-house code name for the operating system was VIROS (VIRtual memory Operating System); when customers started asking questions, the name was changed to SNARK so that DEC could truthfully deny that there was any project called VIROS. When the name SNARK became known, the name was briefly reversed to become KRANS; this was quickly abandoned when someone objected that "krans" meant "funeral wreath" inSwedish (though it simply means "wreath"; this part of the story may be apocryphal).

Ultimately DEC picked TOPS-20 as the name of the operating system, and it was as TOPS-20 that it was marketed. Thehacker community, mindful of its origins, quickly dubbed it TWENEX (aportmanteau of "twenty TENEX"), even though by this point very little of the original TENEX code remained (analogously to the differences betweenAT&T V7 Unix andBSD). DEC people cringed when they heard "TWENEX", but the term caught on nevertheless (the written abbreviation "20x" was also used).[2]

TWENEX was successful and very popular; in fact, there was a period in the early 1980s when it commanded as fervent a culture of partisans asUnix orITS—but DEC's decision to scrap all the internal rivals to theVAX architecture and itsVMS operating system killed the DEC-20 and put an end to TWENEX's brief period of popularity. DEC attempted to convince TOPS-20 users to convert to VMS, but instead, by the late 1980s, most of the TOPS-20 users had migrated to Unix. A loyal group of TOPS-20 enthusiasts kept working on various projects to preserve and extend TOPS-20, notablyMark Crispin and the Panda TOPS-20 distribution.

See also

[edit]

References

[edit]
  • Some text in this article was taken from The Jargon File entry on "TWENEX", which is in thepublic domain.
  1. ^Strollo, Theodore R.; Burchflel, Jerry D.;Tomlinson, Raymond S. (July 22, 1970)."Technical Details of the BBN Pager Model 701"(PDF).Bolt, Beranek and Newman.
  2. ^"TWENEX".

Further reading

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=TENEX_(operating_system)&oldid=1304579859"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp