Knowledge

TENEX (operating system)

Source đź“ť

278: 265:. 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 semiconductor 837: 286:
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.
249:. 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 LISP 467:
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
396:
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
285:
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
305:
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
420:
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
412:
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
253:
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.
368:
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
376:
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
369:
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.
254:
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.
347:
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
356:), 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 339:
system that understood unambiguously abbreviated command words, and expanded partial command words into complete words or phrases. For instance, the user could type
601: 306:
pager also held access time information in order to tune performance. The resulting pager was fairly complex, filling a full-height 19" rackmount chassis.
451:
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 as
384:
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,
202:
language, allowing it to write out unused portions of memory to disk for later recall if needed. One such system had been developed for the
594: 230:
and included nowhere near the required amount. The pager used the most significant bits of the address to index a table of blocks on a
440:
of "twenty TENEX"), even though by this point very little of the original TENEX code remained (analogously to the differences between
392:, 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 the 333:" 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 448:). DEC people cringed when they heard "TWENEX", but the term caught on nevertheless (the written abbreviation "20x" was also used). 867: 862: 841: 587: 519: 697: 561: 290: 211: 662: 372:
To correct this problem, the DEC PDP-10 sales manager purchased the rights to TENEX from BBN and set up a project to
682: 432:
Ultimately DEC picked TOPS-20 as the name of the operating system, and it was as TOPS-20 that it was marketed. The
313:. Unlike typical systems of the era, TENEX deliberately used long command names and even included non-significant 687: 456: 404:
Functional upgrades for the KL-10 processor architecture were limited. The most significant new feature (called
657: 445: 433: 301:
system—that is, not only could programs access a full 18 bit address space of 262144 words of virtual memory,
802: 772: 692: 677: 624: 481: 215: 161: 192:, many of which had very large (for the era) memory requirements. One solution to this problem was to add 752: 642: 238:. The software would fetch the pages if needed, and then resolve the address to the proper area of 702: 672: 310: 637: 498: 335: 185: 872: 787: 722: 414: 115: 807: 747: 227: 127: 40: 8: 767: 441: 385: 266: 81: 45: 737: 613: 557: 526: 426: 294: 277: 258: 219: 177: 153: 149: 122: 33: 579: 494: 421:
reversed to become KRANS; this was quickly abandoned when someone objected that "
269:
option (substituting core), at the cost of a considerable performance decrease.
298: 108: 422: 856: 647: 565: 515: 429:(though it simply means "wreath"; this part of the story may be apocryphal). 378: 231: 540: 297:—chose the name TENEX (TEN-EXtended) for the new system. It included a full 610: 469: 398: 257:
It was not long until it became clear that DEC was once again entering the
437: 250: 652: 389: 28: 569: 317:
to further expand the commands for clarity. For instance, Unix uses
712: 493:
Some text in this article was taken from The Jargon File entry on "
377:
possible. Additionally the porting effort required a number of new
223: 782: 777: 732: 707: 464: 373: 165: 137: 101: 817: 812: 757: 742: 727: 667: 393: 262: 194: 157: 91: 401:
would run a version of TENEX as its default operating system.
822: 792: 717: 246: 203: 189: 459:—but DEC's decision to scrap all the internal rivals to the 397:
not end up being any lower in cost. From the start, the new
321:
to print a list of files in a directory, whereas TENEX used
797: 452: 357: 199: 181: 513: 460: 239: 207: 381:
to support the newer backing store devices being used.
343:
and the escape key, at which point TENEX would replace
436:, mindful of its origins, quickly dubbed it TWENEX (a 309:One notable feature of TENEX was its user-oriented 609: 413:18-bit address space had unchanged semantics, for 570:TENEX, A Paged Time Sharing System for the PDP-10 854: 520:"Technical Details of the BBN Pager Model 701" 595: 226:memory. The machines were based on expensive 222:word, allowing addresses to encode for a 256 408:) was modified pager microcode running on a 514:Strollo, Theodore R.; Burchflel, Jerry D.; 602: 588: 363: 276: 855: 658:Compatible Time-Sharing System (CTSS) 583: 576:, Vol. 15, pages 135–143, March 1972. 468:preserve and extend TOPS-20, notably 352:help system: typing a question mark ( 472:and the Panda TOPS-20 distribution. 261:business with what would become the 160:, which later formed the basis for 13: 551: 533: 272: 14: 884: 836: 835: 289:The developer team—amongst them 673:Cray Time Sharing System (CTSS) 868:Time-sharing operating systems 863:Discontinued operating systems 507: 1: 625:Time-sharing system evolution 487: 482:Time-sharing system evolution 388:AI programmers, many of them 171: 162:Digital Equipment Corporation 425:" meant "funeral wreath" in 214:before he joined BBN. Early 180:was involved in a number of 16:1969 Operating system by BBN 7: 643:Berkeley Timesharing System 475: 65:; 55 years ago 10: 889: 245:In 1964 DEC announced the 234:that acted as the pager's 218:machines were based on an 831: 633: 620: 574:Communications of the ACM 329:" was the command word, " 133: 121: 107: 97: 87: 77: 59: 51: 39: 27: 527:Bolt, Beranek and Newman 311:command line interpreter 638:BBN Time-Sharing System 186:artificial intelligence 560:, Jerry D. Burchfiel, 415:backward compatibility 282: 116:Command-line interface 566:Raymond S. Tomlinson 516:Tomlinson, Raymond S. 463:architecture and its 364:From TENEX to TOPS-20 281:BBN Pager, circa 1970 280: 152:developed in 1969 by 323:DIRECTORY (OF FILES) 497:", which is in the 406:extended addressing 386:Stanford University 350:command recognition 82:Mainframe computers 24: 336:command completion 283: 168:operating system. 22: 850: 849: 614:operating systems 518:(July 22, 1970). 143: 142: 46:Assembly language 880: 839: 838: 738:ORVYL and WYLBUR 604: 597: 590: 581: 580: 562:Daniel L. Murphy 558:Daniel G. Bobrow 545: 544: 537: 531: 530: 524: 511: 434:hacker community 355: 346: 342: 332: 328: 324: 320: 295:Daniel G. Bobrow 198:software to the 150:operating system 78:Marketing target 73: 71: 66: 25: 21: 19:Operating system 888: 887: 883: 882: 881: 879: 878: 877: 853: 852: 851: 846: 827: 629: 616: 608: 554: 552:Further reading 549: 548: 539: 538: 534: 522: 512: 508: 490: 478: 366: 353: 344: 340: 330: 326: 322: 318: 275: 273:BBN and PDP-10s 174: 110: 69: 67: 64: 60:Initial release 20: 17: 12: 11: 5: 886: 876: 875: 870: 865: 848: 847: 845: 844: 832: 829: 828: 826: 825: 820: 815: 810: 805: 800: 795: 790: 785: 780: 775: 770: 765: 760: 755: 750: 745: 740: 735: 730: 725: 720: 715: 710: 705: 700: 695: 690: 685: 680: 675: 670: 665: 660: 655: 650: 645: 640: 634: 631: 630: 628: 627: 621: 618: 617: 607: 606: 599: 592: 584: 578: 577: 553: 550: 547: 546: 532: 505: 504: 503: 502: 489: 486: 485: 484: 477: 474: 379:device drivers 365: 362: 299:virtual memory 274: 271: 176:In the 1960s, 173: 170: 141: 140: 135: 131: 130: 125: 119: 118: 113: 111:user interface 105: 104: 99: 95: 94: 89: 85: 84: 79: 75: 74: 61: 57: 56: 53: 49: 48: 43: 37: 36: 31: 18: 15: 9: 6: 4: 3: 2: 885: 874: 873:1969 software 871: 869: 866: 864: 861: 860: 858: 843: 834: 833: 830: 824: 821: 819: 816: 814: 811: 809: 806: 804: 801: 799: 796: 794: 791: 789: 786: 784: 781: 779: 776: 774: 771: 769: 766: 764: 761: 759: 756: 754: 751: 749: 746: 744: 741: 739: 736: 734: 731: 729: 726: 724: 721: 719: 716: 714: 711: 709: 706: 704: 701: 699: 696: 694: 691: 689: 686: 684: 681: 679: 676: 674: 671: 669: 666: 664: 661: 659: 656: 654: 651: 649: 648:Burroughs MCP 646: 644: 641: 639: 636: 635: 632: 626: 623: 622: 619: 615: 612: 605: 600: 598: 593: 591: 586: 585: 582: 575: 571: 567: 563: 559: 556: 555: 542: 536: 528: 521: 517: 510: 506: 500: 499:public domain 496: 492: 491: 483: 480: 479: 473: 471: 466: 462: 458: 454: 449: 447: 443: 439: 435: 430: 428: 424: 418: 416: 411: 407: 402: 400: 395: 391: 387: 382: 380: 375: 370: 361: 359: 351: 338: 337: 316: 312: 307: 304: 300: 296: 292: 291:Daniel Murphy 287: 279: 270: 268: 264: 260: 255: 252: 248: 243: 241: 237: 236:backing store 233: 232:magnetic drum 229: 225: 221: 217: 213: 212:Daniel Murphy 209: 205: 201: 197: 196: 191: 188:projects for 187: 183: 179: 169: 167: 163: 159: 155: 151: 147: 139: 136: 132: 129: 126: 124: 120: 117: 114: 112: 106: 103: 100: 98:Influenced by 96: 93: 90: 86: 83: 80: 76: 62: 58: 54: 52:Working state 50: 47: 44: 42: 38: 35: 32: 30: 26: 762: 611:Time-sharing 573: 535: 509: 470:Mark Crispin 450: 444:V7 Unix and 431: 419: 409: 405: 403: 399:DECSYSTEM-20 383: 371: 367: 349: 334: 314: 308: 302: 288: 284: 256: 244: 235: 193: 175: 145: 144: 134:Succeeded by 438:portmanteau 315:noise words 251:CAR and CDR 228:core memory 128:Proprietary 857:Categories 653:CDC Kronos 488:References 390:MIT alumni 331:(OF FILES) 172:Background 41:Written in 327:DIRECTORY 88:Platforms 29:Developer 842:Category 713:MUSIC/SP 541:"TWENEX" 476:See also 442:AT&T 267:register 224:kiloword 156:for the 55:Historic 783:TOPS-20 778:TOPS-10 733:OpenVMS 708:Multics 427:Swedish 410:Model B 184:-based 166:TOPS-20 138:TOPS-20 123:License 109:Default 102:TOPS-10 68: ( 840:  818:VPS/VM 813:VP/CSS 758:RSTS/E 743:OS4000 728:NOS/VE 668:CP/CMS 495:TWENEX 394:Foonly 263:PDP-10 259:36-bit 220:18-bit 195:paging 158:PDP-10 148:is an 92:PDP-10 823:WAITS 793:TSS/8 763:TENEX 718:NLTSS 698:MCTSS 523:(PDF) 423:krans 303:every 247:PDP-6 204:PDP-1 190:DARPA 146:TENEX 23:TENEX 798:Unix 773:TSOS 748:Pick 693:LTSS 683:EMAS 678:DTSS 453:Unix 374:port 358:tcsh 293:and 200:LISP 182:LISP 70:1969 63:1969 803:UTS 788:TSS 768:TSO 753:RAX 723:NOS 703:MTS 688:ITS 663:COS 572:", 568:, " 465:VMS 461:VAX 457:ITS 455:or 446:BSD 345:DIR 341:DIR 325:. " 240:RAM 216:DEC 210:by 208:MIT 206:at 178:BBN 164:'s 154:BBN 34:BBN 859:: 808:VM 564:, 525:. 417:. 360:. 319:ls 242:. 603:e 596:t 589:v 543:. 529:. 501:. 354:? 72:)

Index

Developer
BBN
Written in
Assembly language
Mainframe computers
PDP-10
TOPS-10
Default
user interface

Command-line interface
License
Proprietary
TOPS-20
operating system
BBN
PDP-10
Digital Equipment Corporation
TOPS-20
BBN
LISP
artificial intelligence
DARPA
paging
LISP
PDP-1
MIT
Daniel Murphy
DEC
18-bit
kiloword
core memory

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑