IBM Single Virtual Storage (SVS)
| Company type | Operating system release |
|---|---|
| Industry | Computer software |
| Predecessor | MVT (Operating System/360) |
| Founded | 1972 |
| Headquarters | United States |
| Products | Operating System/Virtual Storage 2 (OS/VS2) initial release |
Single Virtual Storage (SVS) designates the initial release of Operating System/Virtual Storage 2 (OS/VS2), which followed the MVT variant of Operating System/360. OS/VS2 (SVS) functioned as a transitional platform preceding the introduction of MVS, with IBM continuing to maintain and improve SVS beyond the launch of MVS.
SVS provides a consolidated 16MiB address space accessible by all system processes, independent of the amount of installed physical memory.
Differences from MVT
Whereas OS/360 depended on the Interval Timer for timing and event management, SVS relies solely on the TOD Clock, Clock Comparator, and CPU Timer mechanisms.
In OS/360, error recovery and transient SVC routines were loaded from SYS1.SVCLIB into limited transient storage areas. In contrast, SVS loads these routines from SYS1.LPALIB into the Pageable Link Pack Area (PLPA) during Initial Program Load (IPL) using the Create LPA (CLPA) option, thereby removing the need for transient storage segments.
Following the Applied Data Research litigation, IBM introduced fee-based versions of several applications, primarily language processors. As a result, SVS does not include a sort/merge program or most language processors, except for the new Assembler (XF), which is essential for system generation.
The newly implemented Authorized Program Facility (APF) limits access to certain sensitive services exclusively to authorized programs—those link-edited with AC(1) and loaded from designated authorized libraries. This feature was further enhanced in MVS to permit additional authorized data sets.
Due to its use of pageable storage for the Reader/Interpreter, SVS eliminates OS/360’s Automatic SYSIN Batching (ASB) Reader. It also removes the Direct SYSOUT (DSO) facility, reflecting reduced reliance on tape storage as DASD costs declined.
Earlier interactive tools such as Conversational Remote Job Entry (CRJE) and similar utilities were discontinued in SVS, replaced by the more advanced Time Sharing Option (TSO), which provides comparable functionality except for support of IBM 2250 terminals. Batch graphics through GAM and GSP remain supported. The batch debugging utility TESTRAN was also phased out in favor of TSO’s debugging capabilities.
The Dynamic Support System (DSS), introduced with OS/VS for debugging purposes, continued to be available until subsequent MVS iterations.
SVS utilizes the storage key features of System/360 and System/370 architectures to efficiently manage memory errors through its Machine Check Handler (MCH), replacing OS/360’s specialized handling of refreshable transient SVC routines.
The size of the Error Recovery Procedure (ERP) transient area was increased in SVS, but support for outdated I/O devices and Hierarchy functions was removed due to the absence of Large Core Storage analogs on supported hardware.
The Link Pack Area (LPA) under SVS is segmented into three categories:
- Fixed Link Pack Area (FLPA): modules loaded at IPL into virtual=real storage.
- Modified Link Pack Area (MLPA): modules loaded at IPL but subject to paging.
- Permanent Link Pack Area (PLPA): maintained on a dedicated paging data set; modules may be preloaded during IPL when using the CLPA option.
SVS does not accommodate multiprocessor systems; customers needing multiprocessing capabilities must adopt MVS.
It excludes QTAM, which was part of OS/360 as a successor to QTAM's predecessor, and does not offer Remote Job Entry (RJE), although ASP and HASP provide similar functionalities.
Thanks to its expanded address space, SVS experiences reduced external fragmentation compared to MVT and eliminates Rollin/Rollout operations.
Unlike OS/360’s approach of managing SVC routines via transient areas, SVS preloads all SVC routines into virtual memory within components such as the Nucleus, FLPA, MLPA, or PLPA, thereby removing overhead associated with transient area management.
Although retaining OS/360's SPOOL capability, most users preferred ASP or HASP—early predecessors to JES3 and JES2—for job entry and spooling control.
Storage Management
The approach to storage management in SVS closely parallels that found in MVT, albeit with notable distinctions. SVS provides a single address space with 16MiB of addressable memory, which operates independently of the actual physical memory size. Both the nucleus and the FLPA utilize a Virtual=Real (V=R) addressing scheme, meaning each virtual address corresponds exactly to its physical counterpart.
When a job step requests V=R storage, the pages allocated within these segments are directly mapped to their physical page frames. During program interrupts signaled by codes 16 or 17, SVS checks whether the virtual address has an assigned page. If it does, a page frame is allocated and the page is loaded; if not, the system issues an Abnormal End (ABEND) with code 0C4, mirroring MVT's protection violation response.
SVS also provides mechanisms for fixing and unfixing pages to prevent them from being stolen, a feature primarily utilized during input/output operations.
I/O
The S/370 I/O channels do not inherently support address translation. To accommodate virtual storage environments, IBM introduced the Indirect Data Address (IDA) mechanism. This allows a Channel Control Word (CCW) with the IDA bit enabled to point to an IDA list (IDAL) rather than directly referencing the I/O buffer.
Within SVS, the Execute Channel Program (EXCP) Supervisor Call (SVC) incorporates a CCW translation service. EXCP manages tasks such as fixing pages in memory, allocating storage for IDA lists, converting virtual addresses to real addresses, and updating both IDA entries and CCW pointers accordingly. After I/O operations conclude, EXCP reverses these processes by releasing resources and translating statuses back into virtual address terms.
For privileged programs that handle their own page fixing and IDA lists, SVS offers the Execute Channel Program in Real Storage (EXCVR) SVC.
Independent Component Releases (ICRs)
Following SVS's initial launch, IBM released multiple component updates including:
- Telecommunications Access Method (TCAM) Release 10
- Virtual Sequential Access Method (VSAM)
- Virtual Telecommunications Access Method (VTAM) Release 2