TSS (operating System)
   HOME

TheInfoList



OR:

The IBM Time Sharing System TSS/360 is a discontinued early
time-sharing In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1 Its emergence a ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
designed exclusively for a special model of the
System/360 The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
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
MVS Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated ...
. 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. TSS/370 was used as the basis for a port of UNIX to the IBM mainframe. TSS/360 also inspired the development of the
TSS/8 TSS/8 is a discontinued time-sharing operating system co-written by Don Witcraft and John Everett at Digital Equipment Corporation in 1967. DEC also referred to it as Timeshared-8 and EduSystem 50. The operating system runs on the 12-bit PDP-8 co ...
operating system.


Novel characteristics

TSS/360 was one of the first implementations of tightly-coupled
symmetric multiprocessing Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
. 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 digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
in the other. The Model 67 used a standard 360 instruction called Test and Set to implement
lock Lock(s) may refer to: Common meanings *Lock and key, a mechanical device used to secure items of importance *Lock (water navigation), a device for boats to transit between different levels of water, as in a canal Arts and entertainment * ''Lock ...
s on code
critical sections In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed need to be protected in ways that avoid the concurrent access. One way to ...
. It also implemented
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very l ...
and
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
s using
position-independent code In computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for ...
. TSS/360 included an early implementation of a "Table Driven Scheduler" a user-configured table whose columns were parameters such as current priority,
working set Working set is a concept in computer science which defines the amount of memory that a process requires in a given time interval. Definition Peter Denning (1968) defines "the working set of information W(t, \tau) of a process at time t to be the ...
size, and number of timeslices used to date. The kernel would refer to this table when calculating the new priority of a thread. This later appeared in systems as diverse as Honeywell CP-V and IBM
z/OS z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest: * O ...
. As was standard with operating system software at the time, TSS/360 customers (such as
General Motors Research Laboratories General Motors Research Laboratories are the part of General Motors responsible for creation of the first known operating system (GM-NAA I/O) in 1955 and contributed to the first mechanical heart, the Dodrill-GMR, successfully used while performin ...
) were given full access to the entire source of the operating system code and development tools. User-developed improvements and patches were frequently incorporated into the official source code.


User interface

TSS provides users a
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. Users interact with the ''command system''. The command format consists of Command_Name
operands In mathematics, an operand is the object of a mathematical operation, i.e., it is the object or quantity that is operated on. Example The following arithmetic expression shows an example of operators and operands: :3 + 6 = 9 In the above exampl ...
/code>. The command name is one to eight characters without imbedded blanks. The operands are optional depending on the command, and must be separated from the command name by at least one blank. Multiple operands should be separated by ''TAB'' characters or commas. Command lines can be continued by typing a hyphen ("-") at the end of the line to be continued and typing the continuation at the beginning of the next line. Multiple commands can be written on a line by separating them with semicolons (";"). Comments are allowed in command lines, separated from the command with a semicolon and included in single quotes ("'"). Operands can be either positional or keyword, with the format "keyword=value". ''System commands'' are divided into seven categories: * Task management – LOGON, LOGOFF, ABEND, etc. * Data management – CATALOG, DDEF, DELETE, etc. * Program management – LOAD, DUMP, DISPLAY, TRAP, etc. * Command creation – PROCDEF, BUILTIN * Message handling * User profile – SYNONYM, DEFAULT, PROFILE, etc. * Program product language interface – ASM ( Assembler (F)),
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily us ...
, HASM ( Assembler (H)), PLI ( PL/I (F)), PLIOPT ( PL/I Optimizing Compiler), FTNH ( FORTRAN (H)), etc.


Position-independent code

TSS provided an early implementation of
position-independent code In computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for ...
, the ability to have different
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
es run a single copy of an executable possibly mapped to a different virtual addresses in each process. Each procedure may have a read-only public CSECT, a writable private Prototype Section (PSECT) and a writable save area, typically located in the PSECT.
Address constant {{short description, Assembly language data type In IBM System/360 through present day z/Architecture, an address constant or "adcon" is an assembly language data type which contains the address of a location in computer memory. An address consta ...
s of external procedures and entry points must be located in the PSECT, since the dynamic loader will not place a routine at the same
virtual address In computing, a virtual address space (VAS) or address space is the set of ranges of virtual addresses that an operating system makes available to a process. The range of virtual addresses usually starts at a low address and can extend to the hig ...
in every process. A program that follows Type I linkage conventions is generally responsible at entry for saving its registers in the save area pointed to by register 13, retrieving the address of its PSECT from word 19 of the save area, chaining the save area to a new save area and putting the address of the new save area in register 13. A caller that follows Type I linkage conventions loads a V-constant for the routine into General Register 15 (GR15) and copies an R-constant for the routine's PSECT into the 19th word of the save area pointed to be GR13 prior to calling that routines. When the dynamic loader loads a program, it makes a copy of the PSECT and relocates the adcons to reflect the virtual addresses assigned within the current process, therefore each user of the program has a unique copy of the PSECT. The Dynamic Loader does not load program pages or resolve address constants until the first page fault.


Criticism

TSS/360 suffered from performance and reliability problems and lack of compatibility with
OS/360 OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB ...
, although those issues were eventually addressed. IBM attempted to develop TSS on a very aggressive schedule with a large staff of programmers to compete with
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
. 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 Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS. Use In computing, time-sharing is a design technique that allows many peop ...
(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 CP-67 was the ''control program'' portion of CP/CMS, a virtual machine operating system developed for the IBM System/360-67 by IBM's Cambridge Scientific Center. It was a reimplementation of their earlier research system CP-40, which ran on a on ...
at IBM's
Cambridge Scientific Center The IBM Cambridge Scientific Center was a company research laboratory established in February 1964 in Cambridge, Massachusetts. Situated at 545 Technology Square (''Tech Square''), in the same building as MIT's Project MAC, it was later renamed ...
, an early virtual machine monitor which evolved into
VM/370 VM (often: VM/CMS) is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules (emulator), Hercules emulator for personal computers. The ...
, MTS at the
University of Michigan , mottoeng = "Arts, Knowledge, Truth" , former_names = Catholepistemiad, or University of Michigania (1817–1821) , budget = $10.3 billion (2021) , endowment = $17 billion (2021)As o ...
, and
ORVYL ORVYL is a time-sharing monitor developed by Stanford University for IBM System/360 and System/370 computers in 1967–68.Stanford University Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies , among the largest in the United States, and enrolls over 17,000 students. Stanford is consider ...
. IBM also provided the TSS/370 PRPQ as a migration path for existing TSS/360 customers, which went through multiple releases.


See also

*
History of IBM mainframe operating systems The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operatin ...
*
Time-sharing system evolution This article covers the evolution of time-sharing systems, providing links to major early time-sharing operating systems, showing their subsequent evolution. Time-sharing Time-sharing was first proposed in the mid- to late-1950s and first impleme ...
*
History of operating systems Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every p ...
*
Timeline of operating systems This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems. 1950s * 1951 ** LEO I 'Lyons Electro ...


References


Further reading

* Describes the origin and schedule problems of TSS. * Describes the "second system syndrome" that affected TSS.


External links


Public domain software archive
includes TSS/370 source and binary archives
TSS/360 manual archive at BitSavers.org
contains PDFs for a large number of TSS manuals from IBM {{DEFAULTSORT:TSS 360 IBM mainframe operating systems Time-sharing operating systems Discontinued operating systems 1967 software Computer-related introductions in 1967 Assembly language software