This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "OS/VS2" SVS – news ·newspapers ·books ·scholar ·JSTOR(August 2010) (Learn how and when to remove this message) |
| Operating System/Virtual Storage 2 (Single Virtual Storage) | |
|---|---|
| Developer | IBM |
| Written in | Assembler (XF),PL/S (nee BSL) |
| OS family | OS/360 and successors |
| Source model | Open |
| Initial release | 1972; 53 years ago (1972) |
| Latest release | Release 1.7 |
| Marketing target | IBM mainframe computers |
| Supported platforms | S/370 |
| License | none |
| Preceded by | OS/360 |
| Succeeded by | OS/VS2 (MVS) |
| History of IBM mainframe operating systems |
|---|
|
Single Virtual Storage (SVS)[1][2] refers to Release 1 ofOperating System/Virtual Storage 2 (OS/VS2); it is the successor system to theMVT[note 1] option ofOperating System/360. OS/VS2 (SVS) was a stopgap measure pending the availability ofMVS, although IBM provided support and enhancements to SVS long after shipping MVS.
SVS provides asingle 16MiBaddress space which is shared by all tasks in the system, regardless of the size of physical memory.
OS/360 used theInterval Timer feature for providing time of day and for triggering time-dependent events. The support forS/370 made limited use of new timing facilities, but retained a dependency on theInterval Timer. SVS uses theTOD Clock,Clock Comparator andCPU Timer exclusively.
OS/360 loads error recovery and transient SVC routines fromSYS1.SVCLIB into smalltransient areas. SVS loads these routine fromSYS1.LPALIB into thePageable Link Pack Area (PLPA) during an IPL with the Create LPA (CLPA) option; there are no transient areas.
In the wake of theApplied Data Researchlawsuit IBM decided todevelop 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 asort/merge program or any language processor other than the new Assembler (XF) (replacing Assembler (F)[3]) which is required for thesystem generation process.
Authorized Program Facility (APF) is a new facility that limited use of certain dangerous services to programs that areauthorized, that is link edited withAC(1) and were loaded from the link list, LPA, orSYS1.SVCLIB. InMVS 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 calledDirect SYSOUT (DSO) whereby specific output classes can be diverted to data sets on tape instead of normalSPOOL datasets. AsDASD prices dropped, the facility dropped from use, and SVS does not provide it.
OS/360 provides limited interactive facilities inConversational Remote Job Entry (CRJE),Graphic Job Processing (GJP),Interactive Terminal Facility (ITF) andSatellite Graphic Job Processing (SGJP) prior to theTime 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 a2250 as a terminal. Use of 2250 from a batch job usingGraphics Access Method (GAM) andGraphics Subroutine Package (GSP) remains supported. OS/360 includes a batch debugging facility namedTESTRAN; it is clumsier than the equivalent facility inIBSYS/IBJOB, and was not used much. With the advent of TSOTESTRAN 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 ofSystem/360 andSystem/370 keeps track of when a page frame has been modified. TheMachine 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 transientSVC routines in OS/360.
SVS expands the size of theError 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 atInitial Program Load (IPL) time into an area of real storage known as theLink Pack Area (LPA). In SVS the LPA was split into three areas, each of which is searched in turn.
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 useMVS.
OS/360 introducedTelecommunications Access Method (TCAM) as the successor toQueued Telecommunications Access Method (QTAM). SVS does not include QTAM.
SVS does not includeRemote 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, transientSVC 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 ofOS/360, most shops used ASP[5] or HASP,[6] the precursors of JES3 and JES2, respectively.
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. Thenucleus and the FLPA areVirtual=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 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 theIndirect Data Address (IDA) feature. AChannel 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.
IBM provided several enhancements to SVS that were not shipped with SVS initially. These included: