Universal Time-Sharing System

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Universal Timesharing System
Xerox Data Systems.png
Company / developer Xerox Data Systems
Written in Assembly Language(Meta Symbol)
OS family Not Applicable
Working state Discontinued
Source model Unknown
Initial release 1966
Latest release D00 / Q1, 1973
Platforms Xerox Data Systems Sigma 6, Sigma 7, Sigma 9
Default user interface Command-line interface
License Unknown

The Universal Time-Sharing System (UTS) was an operating system for the XDS Sigma series of computers, succeeding Batch Processing Monitor (BPM)/Batch Time-Sharing Monitor (BTM). UTS was announced in 1966, but because of delays did not actually ship until 1971. It was designed to provide multi-programming services for online (interactive) user programs in addition to batch-mode production jobs, symbiont (spooled) I/O, and critical real-time processes. System Daemons, called "ghost jobs" were used to run monitor code in user space. The final release, D00, shipped in January, 1973. It was succeeded by the CP-V operating system, which combined UTS with the heavily batch-oriented Xerox Operating System (XOS).


The CP-V (pronounced sea-pea-five) operating system, the compatible successor to UTS, was released in August 1973.[1] CP-V supported the same CPUs as UTS plus the Xerox 560. CP-V offered "single-stream and multiprogrammed batch; timesharing; and the remote processing mode, including intelligent remote batch." Realtime processing was added in release B00 in April 1974, and transaction processing in release C00 in November 1974.[2][3]


CP-R (Control Program for Real-Time) was a realtime operating system for Xerox 550 and Sigma 9 computer systems. CP-R supported three types of tasks: Foreground Primary Tasks, Foreground Secondary Tasks, and Batch Tasks.


In 1975, Xerox decided to exit the computer business which it had purchased from Scientific Data Systems in 1969. Honeywell decided to purchase Xerox Data Systems initially to provide field service support to the existing customer base.

Honeywell was no stranger to the computer business. Not only had it bought the GE computer business, but it had its own line of business data processing computers and had built the H200 machine, which together with software, sold a huge number of machines as the “1401 killer”. Much earlier Honeywell had broken the Eckert-Mauchly patents that claimed to cover all forms of computing.

The CP-6 system including OS and program products was developed, beginning in 1976, by Honeywell to convert Xerox CP-V users to run on Honeywell equipment. Honeywell employed an initial team of 60 programmers from Xerox, augmenting it with another 30 programmers plus management and staff. The team was housed at an old Xerox marketing office on Century Blvd in Los Angeles, and became known as the Los Angeles Development Center (LADC). LADC reported administratively to the Honeywell computer group in Phoenix, a facility, which Honeywell had acquired from GE in 1970.

Harry Sweatt, son of the first chairman of Minneapolis-Honeywell Regulator Co knew an opportunity when he saw it. Xerox had decided to exit the computer business with as little planning as they had applied to acquiring it. They needed capital to build new computers and also to build a new copier, the 9300. Naturally the copier won, but Xerox didn’t want to leave its computer users completely in the lurch. Harry cut the deal with Xerox: For $1 Honeywell agreed, in mid-1975 to take on the Xerox sales and field computer support staff. Xerox made available all the spare equipment and supplies and the warehouses containing them. Xerox customers could be supported, at least for the short term, handily. Revenues were shared 60/40 Xerox until CP-6 General Release, and 60/40 Honeywell for three years thereafter. Following that all revenue went to Honeywell.

In the fall of 1975, Honeywell accepted a proposal from Hank Hoagland and Shel Klee to form LADC in an old Xerox office building rented for 50 cents a square foot(about 20% of the market rate at the time) and acquire the programming group for CP-V from Xerox. In July 1976 the 60 people from Xerox’s CP-V development team moved into the LADC facility on Century Blvd in Los Angeles and began work on CP-6. This work was included under the same $1 agreement that Harry cut in 1975.

Comshare, a major Xerox customer, but with their own operating system, badly needed more capacity to service their rapidly expanding timesharing business. So, with the help of LADC hardware engineers and using the Xerox specs, Honeywell engineers in Phoenix built 30 Sigma 9 computers for Comshare (24) and other needy customers. This project was initiated in 1978, and the machines were sold at the original retail price and delivered beginning in the third quarter of 1979, continuing until 1981. Introduced in 1971, the Sigma 9 may hold the record for the longest lifetime of a machine selling near the original retail price. Sigmas 9s were still in service in 1993. Recently Paul Allen’s Museum in Seattle (Living Computer Museum http://www.livingcomputermuseum.org) acquired a Sigma 9 from a service bureau (Applied Esoterics/George Plue Estate) and has made it operational. That Sigma 9 CPU was at the University of Southern Mississippi until Nov. 1985 when Andrews University purchased it and took it to Michigan. Keith Calkins deinstalled it. In Feb. 1990 Andrews University via Keith Calkins sold and delivered it to Applied Esoterics in Flagstaff. Keith Calkins made the Sigma 9 functional for the museum in 2012/13 and awaits the budget to bring CP-V up. The various other system components came from various other user sites AU/Keith and AE/George purchased used systems from. CP-V C00, F00, and TCP-V I00 still run on the Sigma emulator George and Keith developed in 1997.


The challenge for the LADC group[4] was to create a system that would attract Xerox customers (about 750 Sigma users) to buy and use Honeywell hardware. The task should be carried out in three years with 100 programmers, an estimate that Ed Bryan had made in a conference room at Xerox with Honeywell engineers gathered to evaluate the project. No one wanted to challenge the estimate: CP-V software engineers wanted the job, and the Honeywell folk thought that they would get plenty out of the deal even if it failed.

Photograph of an LADC coffee mug

They loved to keep their factory busy, and the CP-6 project did that from the beginning and continued for many years. Maybe they thought deep down that this audacious project would probably fail on its own.

The first beta site was installed at Carleton University in Ottawa Canada in June 1979, and three other sites were installed before the end of 1979. On schedule and under budget!

The CP-6 Product[edit]

In order to establish the scope of the project — to establish that the project is a large complex one requiring significant skill, design, and coordination efforts — the following paragraphs describe the product scope, its development history, and its size.

CP-6 is unique in many ways.[5] First, it used CP-V as a model; though many improvements were made (and weaknesses corrected), the existence of a fundamentally correct working model saved much design time and even more discussion and argument. Second, the CP-6 system was completely rewritten in a new high-level language PL6, designed and built expressly for that purpose. [6] It now seems clear that an assembly language choice would not have been merely harder but impossible; the complexities of modern virtual addressing hardware (such as that in Honeywell’s L66 and DPS 8 line) can be practically managed only with a high-level language. Finally, Honeywell was fortunate to acquire the core of its new CP-6 development staff intact from Xerox Data Systems—people who not only carried much of the unwritten portions of the system design with them, but also had an established method for working together. LADC was a clear example of the value of organizational goodwill.

CP-6 was a modern, full-service, large-scale operating system. It followed CP-V in having five access modes: batch processing, remote batch, timesharing, transaction processing, and real-time processing. CP-6 offered multiprogramming and symmetric multiprocessing. All the modes operated concurrently and were scheduled uniformly. A job was a job no matter the mode. The only difference between a batch job and a timesharing job, for example, was the source of the I/O. Even the online and batch command languages were the same. This was very different from other large systems of the time.

Unique to the CP-6/CP-V design was an integrated file management system. Files were equally and compatibly available to programs executing in any mode: batch, timesharing, or transaction processing. They are organized for access in four ways: indexed, keyed, relative, and consecutive.

Unlike CP-V, it use communications and terminal interfaces through a Honeywell Level 6 minicomputer-based front-end processors, connected locally, remotely, or in combination. Like CP-V, CP-6 was a software development system, used often by customers who had system or application software to build. Asynchronous, bisynchronous and TCP/IP communications protocols were supported.

CP-6 fully supported and included a set of language processors: APL,[7] BASIC, COBOL, FORTRAN, RPG, IDP, IDS/II, SORT/MERGE, PL-6, GMAP, and a text formatting program, TEXT. Commonly needed software packages (Pascal, SNOBOL, LISP, SPSS, BMDP, IMSL, SPICEII, and SLAM) were made available through the efforts of the first CP 6 customer, Carleton University. Apps were important in those days too. Inter-system access between CP-6 systems and between CP-6 and CP-V and to and from IBM and other HASP protocol systems provided communication, job submission, and file transfer among systems with common interests. CP-6 was especially suited to a computing requirement for a full line of services, together with a need for a highly interactive mode of on-line terminal access. The CP-6 hardware system consisted of a mainframe host processor (L66, DPS8, DPS8000,DPS90), to which connected disks, tapes, printers, and card equipment were connected. A high-speed channel connected this host to a Level 6 mini computer, which provided processing and connection for terminals, communications lines, and a high-speed channel to remote computers, including LADC and customers for on-line support, new version download and problem fix patches. CP-6 was a command line oriented system, no GUI interface (as GUIs had only just been invented at Xerox Palo Alto Research Center (PARC)). A terminal emulator allowed use of PCs as CP-6 terminals.

Ninety Eight percent of the coding done for CP-6 was in PL-6. Even most of the CP-V Software factory was done in PL-6, which was ported to CP-V from CP-6. A total of 7.2 million lines of code were produced. Half or 3.6 million lines were the OS and the program products. Test cases were 2.0 million lines; software tools including the x account were 1.1 million lines; and the software factory was 0.5 million lines.

The fully burdened cost per net line of code developed over the project life is $10 per line in 1992 dollars. The quality rate achieved is one software error per 387 lines of product code delivered to customers (2.7 errors per 1,000 lines of source code). Thus the average productivity and quality of LADC programmers is much greater than industry averages.

A Summary of the Unique and Interesting Features of CP-6

(People familiar with CP-6 are encouraged to add to this section)

Unique CP-6 Features: Technical and Process

The lists below highlight those features of CP-6 which were unique or nearly so at the time. These were things that CP-6 did which were unique or unusual in systems or software development processes at the time, 1976-1982. when the first systems were delivered.

Technical Features

1. Communication Groups (an internal message-passing mechanism among programs and devices), both for Transaction Processing and internal system communications.

2. IMP (Input Manipulation Processor): keyboard macros. Ira says that it was Paul Stendal's idea who wanted to save time in typing long names. We did lots of things to save implementation time.

3. VDH: Virtual Device handler presented a common, virtual terminal to applications.

4. Error and system messages managed from a database, permitting multiple languages.

5. Common calling sequence, permitted linking subprograms of several languages into an application program.

6. Universal Linker and Debugger for programs written in FORTRAN, COBOL, PL-6, other compiled languages, and assembly code.

7. Standard update and merge for all source languages.

8. PL-6 a high-level language used to code the operating system and almost all components. We did this because we figured a 6 to 1 advantage in programming productivity.

9. Common file system.

10. Common math library.

11. Multiple local and remote operator consoles.

12. Common on-line and batch command language.

13. Distributed communication computers (FEPs - front-end processors) for "real time" programs.

14. High Level Forms Language with the Forms Processing distributed to FEPs and RFEPs, and used for Transaction Processing and similar applications.

15. The hardest feature to appreciate, especially for CP-Vers and CP-6ers, are those features that made CP-V and thus CP-6 unique. We took them all for granted. But the fact that any program would run in any mode simply by reassigning the I/O sources was quite unique at the time. In those days COBOL programs ran in batch and that was a totally separate environment from timesharing. To us it was the natural order of things that any program would run in any mode. CP-6 won benchmarks for some customers by requiring demonstrations of these unique CP-V/CP-6 features. Billy Click of Stephen F Austin University in Nacogdoches, Texas, pointed out that this was completely fair when one wanted a system to replace one with useful and unique features.

Process Features and techniques

1. Module Ownership and, for new folk, an assigned mentor.

2. Modules documented via structured in-line comments. Comments were in a unique form (CNF or Crisman normal Form). System flow and calling sequence documentation was automatically extracted from these CNF code comments.

3. Error and system messages extracted from the code via in-line comments.

4. Formal design review committee and process.

5. Testing through use by developers.

6. Parallel development and rapid—even daily—integrations.

7. Separate Control Group for system builds and to run regression tests.

8. STARLOG database to record and track problems even for early in-house testing, open to customers.

9. On line support with direct access to customer computers for analysis and fix.

10. Direct contact between customers and developers at Exchange user group meetings to review development and discuss changes that would be in the mutual best interest. Meetings often lasting far into the night.

Customer Agreement with CP-6 Development[edit]

Success of the CP-6 product depended critically on support and commitment from the CP-V user community. If they had not believed in the product and its capabilities, and had they not been committed to wait for the time required to develop it, the effort would surely have failed. True, Honeywell provided equipment upgrades to bridge the 3-year gap, but the customers had to believe that the end result, an upgrade of the CP-V system, would be worth the wait. Also they had to believe that the result would be better than any competitive system available in the time frame. They did believe this.

Scan of a CP-6 lapel button

These customers worked with LADC both directly and through the Exchange Users group throughout the specification and development period to review and approve the direction of development, the compromises and order of feature implementation.

Without this close support and commitment of customers, CP-6 could not have been achieved.

CP-6 CUSTOMERS: All sites are US, except where otherwise noted

  • indicates non CP-V base—New name business

1. Carleton University, Ottawa, Canada

2. Science Dynamics Corp

3. Bell System Center for Technical Education (BSCTE), Western Electric

4. University of Toronto, Toronto Canada

5. Zenith Corp.

6. Montana State University

7. C.A.E., Montreal Canada

8. Penn State University

9. Indiana University of Pennsylvania

10. ComputerSearch

11. Bucknell University

12. University of Tulsa

13. Xerox Corp. (RTCC)

14. Xerox Corp. (GSD)

15. * State Center Community College District

16. Cummins Engine

17. Grand Valley State College

18. Stephen F Austin University

19. Northern Arizona University

20. * Macco Enterprises

21. Republic Steel

22. A.C. Sparkplug Div of General Motors

23. Communications Research Center, Ottawa Canada

24. EDS Opel Motors Ag, Germany

25. * Defense Research, Suffield, Alberta, Canada

26. Wadley Institute

27. Georgeson & Company

28. Hercules Aero Division of Morton Thiokol, Inc

29. HI-Q International

30. LTV Steel

31. University of Southern Mississippi

32. University of Wisconsin, Eau Claire

33. Marshall Space Flight Center

34. * Lane Community College

35. * South East Louisiana University

36. * American Bureau of Collections

37. * Royal Military College, Kingston, Canada

38. * College Militaire Royal, Saint-Jean Quebec, Canada

39. * Royal Roads Military College, Victoria, Canada

40. * Expand Associates, Inc.

41. Defense Research, Val Cartier, Canada

42. * Norwalk State Technical College

43. * Doremus & Company

44. * Israeli Aircraft Co, Israel

45. * Keycom Electronic Publishing

46. Citrus College

47. Lockheed Missile & Space Co.

48. * The University Council on Admissions, UK

49. Rechen-Zentrum Trebur GmbH, Germany

50. Robert Gordon’s Institute of Technology, UK

51. * Beckman Instruments

52. * Western Electric, Atlanta

53. Samford University

54. * Retail Clerk’s Union

55. Wilfrid Laurier University, Waterloo Canada

56. * University of Kansas

57. * Kyoto University, Japan

58. American Israeli Paper – Tel Aviv

59. American Israeli Paper – Hadera

60. LARGO-MEDAN Ltd, Israel

61. British Broadcasting Corporation, UK

62. * Dillenger Huettenwerke, Germany

63. * Swedish Telecoms, Sweden

64. Swedish Power Board, Sweden

65. University of California – Irvine

Graham and Sue Bagshaw at dual Sigma 6 Console HSE 1976 v2

66. * Lockheed Florida

67. Portland Community College

68. * German Mitsubishi Group, Germany

69. * Middle Tennessee State University

70. O’Brien & Gere

71. * Gunite Division of Kelsey-Hayes

72. Health and Safety Executive (HSE), Sheffield, UK

73. * Aberdeen U Scotland Unique win over GCOS8

Product Support[edit]

CP-6 included a robust on-line problem reporting and fix system, especially good for its time beginning in 1976. The system used Honeywell's proprietary network. Programmers had direct access to customers' computers, and could fix problems directly on-line.[8] Less urgent fixes were distributed on weekly "Patch tapes" mailed to all customers. The record for the fastest fix is 10 minutes from problem report to fix applied on-line at the customer computer.

Final Days[edit]

Product additions in the mid eighties included adaptation for DPS8000 and DPS90 Bull mainframe computers, newer disks and other peripherals, a UNIX-compatible C compiler, transaction processing services, and OSI and TCP/IP communications via connected UNIX-based systems, giving CP-6 a strong connection to open systems.[9]

Knowing that the end was in sight, LADC staff members made many attempts to sell the system and its support to other organizations. But all of these efforts failed for one reason or another. All were based on presenting the CP-6 technology and the staff that created it. These efforts were rejected by Honeywell management. What was needed was a venture capitalist who could see the potential in the technology and the staff that created it. If such a venture capitalist existed in the late nineteen eighties, then LADC did not find it.

Support for CP-6 was transferred to ACTC in Canada in 1993. LADC Folks, having trained ACTC, were laid off at the end of 1992, although many had contracts with ACTC for CP-6 maintenance for a year or more, some lasting until the late 1990s.

CP-6 systems continued to run for many years in the US, Canada, Sweden, the UK, and Germany. Having been examined, fixed and tested early on, CP-6 weathered the Y2K crisis without a hiccup.

CP-6 Community wall Plaque at CHM

The final system shutdown was at Carleton University in 2005. Interestingly, Carleton had also been the first system, a beta site, beginning in summer 1979. CP-6 ran for over 25 years.

CP-6 and its accomplishments, its developers, and its customers are commemorated with a plaque on the community wall at the Computer History Museum in Mountain View, California. The CHM also stores all the files from LADC's Director's office that remained when LADC closed in 1993.


CP-V Software as of release B00, 1974.[10] CP-V was supporrted by the CP-6 team at the Honeywell Los Angeles Development Center (LADC) until 1977 and thereafter.

Bundled Software[edit]

  • TEL - Terminal Executive Language.
  • EASY - Simple interactive environment for FORTRAN and BASIC programs and data files.
  • CCL - Control Command Interpreter. The batch counterpart of TEL.
  • BATCH - Submit jobstream to batch queue.
  • PCL - Peripheral Conversion Language (pronounced "pickle"). Data file device to device copy.
  • EDIT - Line Editor.
  • LINK - One-pass linking loader.
  • LOAD - Two-pass overlay loader.
  • DELTA - Instruction-level debugger.
  • Extended FORTRAN IV.
  • FDP - FORTRAN Debug Package.
  • META-SYMBOL - Macro assembler.
  • BASIC.
  • FLAG - Load-and-go FORTRAN compatible with IBM Fortran-H.
  • COBOL On-Line debugger.
  • APL.
  • SL-1 - Simulation Language.
  • IBM 1400 Series Simulator.
  • SYSGEN - System Generation.
  • DEFCOM - Export external definitions from a load module.
  • SYMCON - Manipulate symbols in a load module.
  • ANALYZE - System dump analyzer.

Separately Priced Software[edit]

  • MANAGE - A generalized file management and reporting tool.
  • EDMS - Database Management System.
  • GPDS - General Purpose Discrete Simulator.
  • CIRC - Electronic Circuit Analysis.

Contributed Software[edit]

Xerox maintained a library of other Xerox and user-written software from the EXCHANGE user group. [11]


  1. ^ Xerox Data Systems internal memo. "Features Added to CP-V by Release". Retrieved 2011-10-16. 
  2. ^ Xerox Data Systems internal memo. "History, Size, and Scope of CP-V". Retrieved 2011-10-16. 
  3. ^ Xerox Data Systems internal memo. "CP-V Design". Retrieved 2011-10-16. 
  4. ^ Crisman, P A; Bryan, G Edward (March 1981). "Management of Software Development for CP 6 at LADC". Proceedings of the Fifth Annual Honeywell International Software Conference. 
  5. ^ Bryan, G Edward (March 2012). "Not All Programmers Are Created Equal --Redux". 2012 IEEE Aerospace Conference Proceedings. 
  6. ^ "PL 6". 
  7. ^ Frost, Bruce (April 1983). "APL and I-D-S/II APL access to large databases". APL '83 Proceedings of the international conference on APL: pages 103–107. 
  8. ^ Fielding, Roy T (1992). An Empirical Microanalysis of Software Failure Data from a 12-Year Software Maintenance Process. University of California Irvine. p. Master's Thesis. 
  9. ^ Bryan, G Edward (June 1993). "CP-6: Quality and Productivity Measures in the 15-Year Life Cycle of an Operating System". Software Quality Journal 2: 129–144. 
  10. ^ Xerox Data Systems. "Xerox Control Program-Five System Management Reference Manual". Retrieved 2011-12-20. 
  11. ^ Xerox Data Systems. "Xerox Program Availability List". Retrieved 2011-12-20. 
  • Bryan, G. Edward, "Not All Programmers Are Created Equal --Redux," 2012 IEEE Aerospace Conference Proceedings, March 2012
  • P.A. Crisman and Bryan, G. Edward, "Management of Software Development for CP 6 at LADC", Proceedings of the Fifth Annual Honeywell International Software Conference, March 1981.
  • Bryan, G. Edward, "CP-6: Quality and Productivity Measures in the 15-Year Life Cycle of an Operating System," Software Quality Journal 2, 129-144, June 1993.
  • Frost, Bruce, “APL and I-D-S/II APL access to large databases,” APL '83 Proceedings of the international conference on APL, pages 103-107.
  • Fielding, Roy T., "An Empirical Microanalysis of Software Failure Data from a 12-Year Software Maintenance Process," Masters thesis, University of California Irvine, 1992

External links[edit]