The IBM Time Sharing System TSS/360 is a discontinued 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 MVS . 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. The Resident Supervisor of 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 operating system.
45-576: 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 . TSS/360 included an early implementation of
90-404: 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 . This later appeared in systems as diverse as Honeywell CP-V and IBM z/OS . As was standard with operating system software at
135-432: A NUMA architecture, processors may access local memory quickly and remote memory more slowly. This can dramatically improve memory throughput as long as the data are localized to specific processes (and thus processors). On the downside, NUMA makes the cost of moving data from one processor to another, as in workload balancing, more expensive. The benefits of NUMA are limited to particular workloads, notably on servers where
180-566: A SMP manner. In contrast, DECs first multi-processor VAX system, the VAX-11/782, was asymmetric, but later VAX multiprocessor systems were SMP. Early commercial Unix SMP implementations included the Sequent Computer Systems Balance 8000 (released in 1984) and Balance 21000 (released in 1986). Both models were based on 10 MHz National Semiconductor NS32032 processors, each with a small write-through cache connected to
225-650: A common memory to form a shared memory system. Another early commercial Unix SMP implementation was the NUMA based Honeywell Information Systems Italy XPS-100 designed by Dan Gielan of VAST Corporation in 1985. Its design supported up to 14 processors, but due to electrical limitations, the largest marketed version was a dual processor system. The operating system was derived and ported by VAST Corporation from AT&T 3B20 Unix SysVr3 code used internally within AT&T. Earlier non-commercial multiprocessing UNIX ports existed, including
270-443: A computer system concurrently and independently—without interfering with each other. Each TSO user is isolated; it appears to each one that they are the only user of the system. TSO is most commonly used by mainframe system administrators and programmers. It provides: TSO interacts with users in either a line-by-line mode or in a full screen, menu-driven mode. In the line-by-line mode, the user enters commands by typing them in at
315-514: A few limits on the scalability of SMP due to cache coherence and shared objects. Uniprocessor and SMP systems require different programming methods to achieve maximum performance. Programs running on SMP systems may experience an increase in performance even when they have been written for uniprocessor systems. This is because hardware interrupts usually suspends program execution while the kernel that handles them can execute on an idle processor instead. The effect in most applications (e.g. games)
360-421: 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: TSS provided an early implementation of position-independent code , the ability to have different processes run
405-483: A port named MUNIX created at the Naval Postgraduate School by 1975. Time-sharing and server systems can often use SMP without changes to applications, as they may have multiple processes running in parallel, and a system with more than one process running can run different processes on different processors. On personal computers , SMP is less useful for applications that have not been modified. If
450-571: A quad-core device, called the Companion core, built specifically for executing tasks at a lower frequency during mobile active standby mode, video playback, and music playback. Project Kal-El ( Tegra 3 ), patented by NVIDIA, was the first SoC (System on Chip) to implement this new vSMP technology. This technology not only reduces mobile power consumption during active standby state, but also maximizes quad core performance during active usage for intensive mobile applications. Overall this technology addresses
495-416: A single operating system with two or more homogeneous processors. Usually each processor has an associated private high-speed memory known as cache memory (or cache) to speed up the main memory data access and to reduce the system bus traffic. Processors may be interconnected using buses, crossbar switches or on-chip mesh networks. The bottleneck in the scalability of SMP using buses or crossbar switches
SECTION 10
#1732851166613540-537: 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 constants 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 every process. A program that follows Type I linkage conventions
585-566: A single operating system instance that treats all processors equally, reserving none for special purposes. Most multiprocessor systems today use an SMP architecture. In the case of multi-core processors , the SMP architecture applies to the cores, treating them as separate processors. Professor John D. Kubiatowicz considers traditionally SMP systems to contain processors without caches. Culler and Pal-Singh in their 1998 book "Parallel Computer Architecture: A Hardware/Software Approach" mention: "The term SMP
630-409: A uniprocessor system, because different programs can run on different CPUs simultaneously. Conversely, asymmetric multiprocessing (AMP) usually allows only one processor to run a program or task at a time. For example, AMP can be used in assigning specific tasks to CPU based to priority and importance of task completion. AMP was created well before SMP in terms of handling multiple CPUs, which explains
675-436: A uniprocessor system. SMP systems can also lead to more complexity regarding instruction sets. A homogeneous processor system typically requires extra registers for "special instructions" such as SIMD (MMX, SSE, etc.), while a heterogeneous system can implement different types of hardware for different instructions/uses. When more than one program executes at the same time, an SMP system has considerably better performance than
720-459: Is a set of extensions to the original TSO. TSO/E is a base element of z/OS. Before z/OS, TSO Extensions (TSO/E) was an element of OS/390 and was a licensed program for the MVS and MVS/ESA System Products. Since all z/OS installations usually have both TSO and TSO/E functions installed, it is normal to refer to both TSO and TSO/E as "TSO". When first released, TSO module names outside of SVCs always had
765-417: 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
810-399: Is handled independently, this creates an embarrassingly parallel situation across the entire multi-compilation-unit project, allowing near linear scaling of compilation time. Distributed computing projects are inherently parallel by design.) Systems programmers must build support for SMP into the operating system , otherwise, the additional processors remain idle and the system functions as
855-411: Is not so much a performance increase as the appearance that the program is running much more smoothly. Some applications, particularly building software and some distributed computing projects, run faster by a factor of (nearly) the number of additional processors. (Compilers by themselves are single threaded, but, when building a software project with multiple compilation units, if each compilation unit
900-437: 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
945-503: Is serialized; this and cache coherency issues cause performance to lag slightly behind the number of additional processors in the system. SMP uses a single shared system bus that represents one of the earliest styles of multiprocessor machine architectures, typically used for building smaller computers with up to 8 processors. Larger computer systems might use newer architectures such as NUMA (Non-Uniform Memory Access), which dedicates different memory banks to different processors. In
SECTION 20
#1732851166613990-407: Is the bandwidth and power consumption of the interconnect among the various processors, the memory, and the disk arrays. Mesh architectures avoid these bottlenecks, and provide nearly linear scalability to much higher processor counts at the sacrifice of programmability: Serious programming challenges remain with this kind of architecture because it requires two distinct modes of programming; one for
1035-400: Is widely used but causes a bit of confusion. [...] The more precise description of what is intended by SMP is a shared memory multiprocessor where the cost of accessing a memory location is the same for all processors; that is, it has uniform access costs when the access actually is to memory. If the location is cached, the access will be faster, but cache access times and memory access times are
1080-569: The GE-635 and GE-645 , although GECOS on multiprocessor GE-635 systems ran in a master-slave asymmetric fashion, unlike Multics on multiprocessor GE-645 systems, which ran in a symmetric fashion. Starting with its version 7.0 (1972), Digital Equipment Corporation 's operating system TOPS-10 implemented the SMP feature, the earliest system running SMP was the DECSystem 1077 dual KI10 processor system. Later KL10 system could aggregate up to 8 CPUs in
1125-488: The "prefix" IKJ, in some cases followed by the second and third letters of an associated pre-TSO functional group (IEA = original functional group of "supervisor", hence a TSO module name of IKJEAxxx, IEB = original functional group of "dataset utilities", hence a TSO module name of IKJEBxxx, etc.). It is common to run TSO in batch (as opposed to interactively): all the usual TSO line-mode interactive commands can be also executed via Job Control Language (JCL) by running any of
1170-470: The 360/67, e.g., Michigan Terminal System (MTS), and for systems prior to S/360, e.g. Compatible Time-Sharing System (CTSS). When it was introduced in 1971, IBM considered time-sharing an "optional feature", as compared to standard batch processing , and hence offered TSO as an option for OS/360 MVT . With the introduction of MVS in 1974, IBM made it a standard component of their top-end mainframe operating system. TSO/E ("Time Sharing Option/Extensions")
1215-490: The CPUs themselves and one for the interconnect between the CPUs. A single programming language would have to be able to not only partition the workload, but also comprehend the memory locality, which is severe in a mesh-based architecture. SMP systems allow any processor to work on any task no matter where the data for that task is located in memory, provided that each task in the system is not in execution on two or more processors at
1260-505: The TSS/370 PRPQ as a migration path for existing TSS/360 customers, which went through multiple releases. 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 input and output devices, and are controlled by
1305-441: The data are often associated strongly with certain tasks or users. Finally, there is computer clustered multiprocessing (such as Beowulf ), in which not all memory is available to all processors. Clustering techniques are used fairly extensively to build very large supercomputers. Variable Symmetric Multiprocessing (vSMP) is a specific mobile use case technology initiated by NVIDIA. This technology includes an extra fifth core in
1350-414: The first page fault. 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 TSS 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
1395-631: The keyboard; in turn, the system interprets the commands, and then displays responses on the terminal screen. But most mainframe interaction is actually via ISPF , which allows for customized menu-driven interaction. This combination is called TSO/ISPF . TSO can also provide a Unix-style environment on OS/390 and z/OS via the UNIX System Services command shell , with or without ISPF. TSO commands can be embedded in REXX and ooRexx execs or CLISTs , which can run interactively or in batch. TSO eliminated
TSS (operating system) - Misplaced Pages Continue
1440-510: The lack of performance based on the example provided. In cases where an SMP environment processes many jobs, administrators often experience a loss of hardware efficiency. Software programs have been developed to schedule jobs and other functions of the computer so that the processor utilization reaches its maximum potential. Good software packages can achieve this maximum potential by scheduling each CPU separately, as well as being able to integrate multiple SMP machines and clusters. Access to RAM
1485-556: The need for increase in battery life performance during active and standby usage by reducing the power consumption in mobile processors. Unlike current SMP architectures, the vSMP Companion core is OS transparent meaning that the operating system and the running applications are totally unaware of this extra core but are still able to take advantage of it. Some of the advantages of the vSMP architecture includes cache coherency, OS efficiency, and power optimization. The advantages for this architecture are explained below: These advantages lead
1530-611: The need to punch cards on a keypunch machine, and send card decks to the computer room to be read by a card reading machine. Prior to TSO, IBM had introduced limited function time sharing applications such as Remote Access Computing System (RAX), Conversational Programming System (CPS), Conversational Remote Batch Entry (CRBE) and Conversational Remote Job Entry (CRJE) for S/360. These either ran user programs only in an interpreter or had no ability to run user programs at all, only to edit, retrieve and submit batch jobs. In addition, universities had written time sharing systems both for
1575-629: The operating system and hardware interrupts. The Burroughs D825 first implemented SMP in 1962. IBM offered dual-processor computer systems based on its System/360 Model 65 and the closely related Model 67 and 67–2. The operating systems that ran on these machines were OS/360 M65MP and TSS/360 . Other software developed at universities, notably the Michigan Terminal System (MTS), used both CPUs. Both processors could access data channels and initiate I/O. In OS/360 M65MP, peripherals could generally be attached to either processor since
1620-614: The operating system kernel ran on both processors (though with a "big lock" around the I/O handler). The MTS supervisor (UMMPS) has the ability to run on both CPUs of the IBM System/360 model 67–2. Supervisor locks were small and used to protect individual common data structures that might be accessed simultaneously from either CPU. Other mainframes that supported SMP included the UNIVAC 1108 II , released in 1965, which supported up to three CPUs, and
1665-615: The processors are tightly coupled inside the same box with a bus or switch; on earlier SMP systems, a single CPU took an entire cabinet. Some of the components that are shared are global memory, disks, and I/O devices. Only one copy of an OS runs on all the processors, and the OS must be designed to take advantage of this architecture. Some of the basic advantages involves cost-effective ways to increase throughput. To solve different problems and tasks, SMP applies multiple processors to that one problem, known as parallel programming . However, there are
1710-424: 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
1755-493: The same on all processors." SMP systems are tightly coupled multiprocessor systems with a pool of homogeneous processors running independently of each other. Each processor, executing different programs and working on different sets of data, has the capability of sharing common resources (memory, I/O device, interrupt system and so on) that are connected using a system bus or a crossbar . SMP systems have centralized shared memory called main memory (MM) operating under
1800-469: The same time. With proper operating system support, SMP systems can easily move tasks between processors to balance the workload efficiently. The earliest production system with multiple identical processors was the Burroughs B5000 , which was functional around 1961. However at run-time this was asymmetric , with one processor restricted to application programs while the other processor mainly handled
1845-485: The system rarely runs more than one process at a time, SMP is useful only for applications that have been modified for multithreaded (multitasked) processing. Custom-programmed software can be written or modified to use multiple threads, so that it can make use of multiple processors. Multithreaded programs can also be used in time-sharing and server systems that support multithreading, allowing them to make more use of multiple processors. In current SMP systems, all of
TSS (operating system) - Misplaced Pages Continue
1890-457: 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
1935-443: The time, TSS/360 customers (such as General Motors Research Laboratories ) 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. TSS provides users a command-line interface . Users interact with the command system . The command format consists of Command_Name[ operands] . The command name
1980-411: The vSMP architecture to considerably benefit over other architectures using asynchronous clocking technologies. 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 . In computing, time-sharing is a design technique that allows many people to use
2025-593: 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
#612387