OS/VS2 (SVS)

Last updated
Operating System/Virtual Storage 2 (Single Virtual Storage)
IBM logo.svg
Developer IBM
Written in Assembler (XF), PL/S (nee BSL)
OS family OS/360 and successors
Source modelOpen
Initial release1972;51 years ago (1972)
Latest release Release 1.7
Marketing target IBM mainframe computers
Platforms S/370
License none
Preceded byOS/360
Succeeded by OS/VS2 (MVS)

Single Virtual Storage (SVS) [1] [2] refers to Release 1 of Operating System/Virtual Storage 2 (OS/VS2); it is the successor system to the MVT [note 1] option of Operating System/360. OS/VS2 (SVS) was a stopgap measure pending the availability of MVS, although IBM provided support and enhancements to SVS long after shipping MVS.

Contents

SVS provides a single 16MiB address space which is shared by all tasks in the system, regardless of the size of physical memory.

Differences from MVT

OS/360 used the Interval Timer feature for providing time of day and for triggering time-dependent events. The support for S/370 made limited use of new timing facilities, but retained a dependency on the Interval Timer. SVS uses the TOD Clock, Clock Comparator and CPU Timer exclusively.

OS/360 loads error recovery and transient SVC routines from SYS1.SVCLIB into small transient areas. SVS loads these routine from SYS1.LPALIB into the Pageable Link Pack Area (PLPA) during an IPL with the Create LPA (CLPA) option; there are no transient areas.

In the wake of the Applied Data Research lawsuit IBM decided to develop chargeable versions of several applications, mostly language processors, although it's not clear whether the lawsuit was actually the deciding factor. As a result, SVS does not include a sort/merge program or any language processor other than the new Assembler (XF) (replacing Assembler (F) [3] ) which is required for the system generation process.

Authorized Program Facility (APF) is a new facility that limited use of certain dangerous services to programs that are authorized, that is link edited with AC(1) and were loaded from the link list, LPA, or SYS1.SVCLIB. In MVS IBM enhanced the facility to allow the installation to designate additional data sets as authorized.

Because the Reader/Interpreter in SVS runs in pageable storage, there is much less benefit to the Automatic SYSIN Batching (ASB) Reader, and SVS does not include it. OS/360 has a facility called Direct SYSOUT (DSO) whereby specific output classes can be diverted to data sets on tape instead of normal SPOOL datasets. As DASD prices dropped, the facility dropped from use, and SVS does not provide it.

OS/360 provides limited interactive facilities in Conversational Remote Job Entry (CRJE), Graphic Job Processing (GJP), Interactive Terminal Facility (ITF) and Satellite Graphic Job Processing (SGJP) prior to the Time Sharing Option (TSO), but IBM did not carry those forward to SVS. TSO continues to provide equivalent facilities, except that it does not support use of a 2250 as a terminal. Use of 2250 from a batch job using Graphics Access Method (GAM) and Graphics Subroutine Package (GSP) remains supported. OS/360 includes a batch debugging facility named TESTRAN; it is clumsier than the equivalent facility in IBSYS/IBJOB, and was not used much. With the advent of TSO TESTRAN became even less relevant, and SVS does not include it.

Dynamic Support System (DSS) was a new OS/VS debugging facility for system software. [4] It remained available until Selectable Unit 64 and MVS/System Extensions Release 2.

The storage key facility of System/360 and System/370 keeps track of when a page frame has been modified. The Machine Check Handler (MCH) in SVS can correct a parity or ECC error in an unmodified page by unassigning the damaged page frame and marking the page table entry to cause a pagein operation into a newly assigned page table. This replaces the special handling of refreshable transient SVC routines in OS/360.

SVS expands the size of the Error Recovery Procedure (ERP) transient area.

None of the processors on which SVS runs have an equivalent to the 2361 Large Core Storage (LCS), and thus there is no need for Hierarchy support, which SVS does not provide. SVS also dropped support for some obsolete I/O equipment.

In OS/360 load modules can be permanently loaded at Initial Program Load (IPL) time into an area of real storage known as the Link Pack Area (LPA). In SVS the LPA was split into three areas, each of which is searched in turn.

  • The installation can specify a list of modules to be loaded into the Fixed Link Pack Area (FLPA). These are loaded into V=R storage at IPL time.
  • The installation can specify a list of load modules to be loaded into the Modified Link Pack Area (MLPA) at IPL time. These modules are subject to normal paging.
  • SVS uses a dedicated paging data set to back up the Permanent Link Pack Area (PLPA). In a normal IPL, SVS will simply allow modules in the existing PLPA paging data set to be paged in at need, but the operator can specify the CLPA option to load all of the load modules from SYS1.LPALIB into the PLPA and write the new PLPA into the PLPA paging data set.

OS/360 has support for a multiprocessor version of the 360/65. SVS provide no equivalent support; customers wanting to run a multiprocessor System/370 have to use MVS.

OS/360 introduced Telecommunications Access Method (TCAM) as the successor to Queued Telecommunications Access Method (QTAM). SVS does not include QTAM.

SVS does not include Remote Job Entry (RJE). However, ASP and HASP provide comparable facilities.

Because of the larger (16 MiB) address space that SVS provides, there is less external fragmentation than in MVT, and Rollin/Rollout would provide less of a benefit. SVS does not include it.

In OS/360, transient SVC routines are loaded into 1 KiB areas known as SVC Transient Areas, and a considerable amount of code is required to manage them. In SVS, all SVC routines are preloaded into virtual storage [note 2] and there are no SVC Transient Areas.

While SVS retains the SPOOL support of OS/360, most shops used ASP [5] or HASP, [6] the precursors of JES3 and JES2, respectively.

Storage Management

Storage management in SVS is similar to that in MVT, with a few notable differences. The description below is somewhat simplified; it glosses over some special cases.

SVS has 16MiB of addressable storage in a single address space, regardless of the size of physical memory. The nucleus and the FLPA are Virtual=Real (V=R), meaning that each virtual address in that area is mapped to the corresponding physical address.

A job step in SVS can request V=R storage; all assigned pages in a V=R region are mapped to the corresponding real page frames.

When a program check occurs with an interrupt code of 16 or 17, SVS checks whether a page has been assigned to the virtual address. If it has, SVS will assign a page frame and read the contents of the page into it. If no page has been assigned, SVS causes an Abnormal End (ABEND) with the same ABEND code (0C4) that MVT would have used for a protection violation.

SVS provides services for page fixing and unfixing. When a page is fixed, its page frame is not subject to page stealing. The primary purpose of page fixing is I/O.

I/O

I/O channels on S/370 (and successors) do not have the ability to do address translation. [note 3] However, as part of the support for virtual storage operating systems IBM has provided the Indirect Data Address (IDA) feature. A Channel Control Word (CCW) with the IDA bit set points to an IDA list (IDAL) rather than directly to the I/O buffer.

SVS provides a CCW translation service as part of the Execute Channel Program (EXCP) SVC. EXCP will do any necessary page fixing, allocate storage for IDA lists, translate virtual addresses to real, put the translated addresses into the appropriate IDA words and put the real addresses of the IDA lists into the translated CCW's. When an I/O completes, EXCP reverses the process, freeing storage and translating status back into virtual.

In addition, SVS provides the Execute Channel Program in Real Storage (EXCVR) SVC for privileged applications that do their own paged fixing and build their own IDA lists.

Independent Component Releases (ICRs)

IBM provided several enhancements to SVS that were not shipped with SVS initially. These included:

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the large computer market. Current mainframe computers in IBM's line of business computers are developments of the basic design of the IBM System/360.

<span class="mw-page-title-main">MVS</span> Operating system for IBM mainframes

Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated to IBM's other mainframe operating system lines, e.g., VSE, VM, TPF.

<span class="mw-page-title-main">IBM System/370</span> Family of mainframe computers 1970-1990

The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement. In September 1990, the System/370 line was replaced with the System/390.

<span class="mw-page-title-main">Memory management</span> Computer memory management methodology

Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time.

The Job Entry Subsystem (JES) is a component of IBM's MVS mainframe operating systems that is responsible for managing batch workloads. In modern times, there are two distinct implementations of the Job Entry System called JES2 and JES3. They are designed to provide efficient execution of batch jobs.

The Task Control Block (TCB) contains the state of a task in, e.g., OS/360 and successors on IBM System/360 architecture and successors.

Basic Assembly Language (BAL) is the commonly used term for a low-level programming language used on IBM System/360 and successor mainframes. Originally, "Basic Assembly Language" applied only to an extremely restricted dialect designed to run under control of IBM Basic Programming Support (BPS/360) on systems with only 8 KB of main memory, and only a card reader, a card punch, and a printer for input/output — thus the word "Basic". However, the full name and the initialism "BAL" almost immediately attached themselves in popular use to all assembly-language dialects on the System/360 and its descendants. BAL for BPS/360 was introduced with the System/360 in 1964.

<span class="mw-page-title-main">OS/VS1</span>

Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of System/360's operating system OS/360. OS/VS1, in comparison to its predecessor, supported virtual memory. OS/VS1 was generally available during the 1970s and 1980s, and it is no longer supported by IBM.

An access method is a function of a mainframe operating system that enables access to data on disk, tape or other external devices. Access methods were present in several mainframe operating systems since the late 1950s, under a variety of names; the name access method was introduced in 1963 in the IBM OS/360 operating system. Access methods provide an application programming interface (API) for programmers to transfer data to or from device, and could be compared to device drivers in non-mainframe operating systems, but typically provide a greater level of functionality.

In IBM mainframe operating systems, basic partitioned access method (BPAM) is an access method for libraries, called partitioned datasets (PDSes) in IBM terminology. BPAM is used in OS/360, OS/VS2, MVS, z/OS, and others.

A Supervisor Call instruction (SVC) is a hardware instruction used by the System/360 family of IBM mainframe computers up to contemporary zSeries, the Amdahl 470V/5, 470V/6, 470V/7, 470V/8, 580, 5880, 5990M, and 5990A, and others; Univac 90/60, 90/70 and 90/80, and possibly others; the Fujitsu M180 (UP) and M200 (MP), and others; and is also used in the Hercules open source mainframe emulation software. It causes an interrupt to request a service from the operating system. The system routine providing the service is called an SVC routine. SVC is a system call.

In IBM mainframe operating systems, Execute Channel Program (EXCP) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a channel program—a list of device-specific commands (CCWs)—to be executed by I/O channels, control units and devices. EXCP for OS/360 and successors is more specifically described in the OS System Programmer's Guide.; EXCP for DOS/360 and successors is more specifically described in DOS Supervisor and I/O Macros. This article mostly reflects OS/360 through z/OS; some details are different for TOS/360 and DOS/360 through z/VSE.

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 operating systems supplied by IBM and by third parties.

<span class="mw-page-title-main">OS/360 and successors</span> Operating system for IBM S/360 and later mainframes

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 and Input/Output Control System (IOCS) packages for the IBM 7090/7094 and even more so by the PR155 Operating System for the IBM 1410/7010 processors. It was one of the earliest operating systems to require the computer hardware to include at least one direct access storage device.

System Generation (SysGen) is a two-stage process for installing or updating OS/360, OS/VS1, OS/VS2 (SVS), OS/VS2 (MVS) and chargeable systems derived from them. There are similar processes for, e.g., DOS/360, which this article does not cover. Also, some of the details have changed between releases of OS/360 and many details do not carry over to later systems.

The IBM Administrative Terminal System, also known as ATS/360, provided text- and data-management tools for working with documents to users of IBM System/360 systems.

In IBM mainframe operating systems, Execute Channel Program in Real Storage (EXCPVR) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a list of device-specific CCWs, that is, a channel program, to be executed by I/O channels, control units and devices. Additionally, the programmer is expected and required to ensure that the input/output data areas are in real storage and are "fixed", either prior to invoking EXCPVR or via the page fix appendage. EXCPVR can in some situations provide improved performance compared to EXCP.

The Input/Output Supervisor (IOS) is that portion of the control program in the IBM mainframe OS/360 and successors operating systems which issues the privileged I/O instructions and supervises the resulting I/O interruptions for any program which requests I/O device operations until the normal or abnormal conclusion of those operations.

In operating systems, memory management is the function responsible for managing the computer's primary memory.

Data Facility Storage Management Subsystem (DFSMS) is a central component of IBM's flagship operating system z/OS. It includes access methods, utilities and program management functions. Data Facility Storage Management Subsystem is also a collective name for a collection of several products, all but two of which are included in the DFSMS/MVS product.

References

  1. IBM, OS/VS2 Single Virtual Storage Features Supplement, GC20-1753
  2. IBM, OS/VS2 Planning And Use Guide, GC28-0600
  3. IBM, OS/VS & VM/370 Assembler Language: VS2 Rel 1.6, 1.7, GT33-4010
  4. IBM, OS/VS Dynamic Support System: VS2 Release 1.6, 1.7 (GC28-0640-0), GT28-0640
  5. IBM, IBM System/360 and System/370 Asymmetric Multiprocessing System: General Information Manual, Program Number 360A-CX-15X, GH20-1173
  6. IBM, OS/VS2 HASP II Version 4 System Programmer's Guide Program 370H-TX-001, GC27-6992

Notes

  1. But not 65MP
  2. either in the Nucleus, in FLPA, in MLPA or in PLPA.
  3. Certain Amdahl IBM compatibles provide a "Channel DAT" facility which is the capability to include virtual addresses in channel programs, and to have these addresses translated in real-time by the channel's hardware, hence the term "Channel DAT", and this capability is supported on Fujitsu's MVS work-alike, when run on an Amdahl, but this capability is not supported on MVS itself.