Telecommunications Science    
   
Table of contents
(Prev) TSP (econometrics software)TSX-32 (Next)

TSS/360

The IBM Time Sharing System TSS/360 was an early time-sharing operating system designed exclusively for a special model of the System/360 line of mainframes, the Model 67. Made available on a trial basis to a limited set of customers in 1967, it was never officially released as a supported product by IBM. TSS pioneered a number of novel features, some of which later appeared in more popular systems such as Multics and VM/CMS. TSS was migrated to System/370 and 303x systems, but despite its many advances and novel capabilities, TSS failed to meet expectations and was eventually canceled.

History of IBM mainframe operating systems

Contents

Novel characteristics

TSS/360 was one of the first implementations of tightly-coupled symmetric multiprocessing. A pair of Model 67 mainframes shared a common physical memory space, and ran a single copy of the kernel (and application) code. An I/O operation launched by one processor could end and cause an interrupt in the other. The Model 67 used a standard 360 instruction called Test and Set to implement locks on code critical sections.

It also implemented Virtual Memory and Virtual Machines using position-independent code.[1][2]

TSS/360 was unique in implementing a Table Driven Scheduler — a user-configured table whose columns were parameters such as current priority, working set size, and number of timeslices used to date. The kernel would refer to this table when calculating the new priority of a thread.

As was standard with operating system software at the time, TSS/360 customers (such as General Motors Research Laboratories) were given full access to the entire corpus of Operating System code and development tools. User-developed improvements and patches were frequently incorporated into the official source code.

Criticism

TSS/360 suffered from performance and reliability problems and lack of compatibility with OS/360, although those issues were eventually addressed. IBM attempted to develop it on a very aggressive schedule with a large staff of programmers to compete with Multics. By 1967, it had become evident that TSS/360 was suffering from the same kinds of delays as OS/360. In February 1968, at the time of SHARE 30, there were eighteen S/360-67 sites attempting to run TSS. During the conference, IBM announced via "blue letter" that TSS/360 was being decommitted — a great blow to the time-sharing community. This decision was temporarily reversed, and TSS/360 was not officially canceled until 1971. However, TSS/360 continued to be quietly available for a time to existing TSS/360 customers, as an interim measure.

After TSS/360 was canceled, IBM put its primary efforts into the Time Sharing Option (TSO), a time-sharing monitor for OS/360. Several other groups developed less ambitious, more successful time sharing systems for the S/360-67, notably CP-67 at IBM's Cambridge Scientific Center, an early virtual machine monitor which evolved into VM/370, MTS at the University of Michigan, and ORVYL at Stanford University. IBM also provided the TSS/370 PRPQ as a migration path for existing TSS/360 customers, which went through multiple releases.

See also

References

  1. ^ John R. Levine (October 1999). "Chapter 8: Loading and overlays". Linkers and Loaders. San Francisco: Morgan-Kauffman. pp. 170–171. ISBN 1-55860-496-0. 
  2. ^ TSS code control sections (CSECT′s) were position independent, but the associated prototype sections (PSECT′s) were not.

Further reading

  • Pugh, Emerson; Lyle R. Johnson, John H. Palmer (1991). IBM's 360 and Early 370 Systems. Cambridge MA: MIT Press. pp. 362–265, 596. ISBN 0-262-16123-0.  Describes the origin and schedule problems of TSS.
  • Brooks, Frederick P. (1995). The Mythical Man-Month. Reading MA: Addison-Wesley. ISBN [[Special:BookSources/0-201-835 95-5|0-201-83595-5 [[Category:Articles with invalid ISBNs]]]].  Describes the "second system syndrome" that affected TSS.

External links

(Prev) TSP (econometrics software)TSX-32 (Next)