MVS
From Wikipedia, the free encyclopedia
- For other uses, see MVS (disambiguation).
MVS (Multiple Virtual Storage) was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. It is unrelated to IBM's other mainframe operating system called VM/CMS.
First released in 1974, MVS was later renamed by IBM, first to MVS/XA (eXtended Architecture), next to MVS/ESA (Enterprise Systems Architecture), then to OS/390 when UNIX System Services (USS) were added, and finally to z/OS when 64-bit support was added on the zSeries models. Its core remains fundamentally the same operating system. By design, programs written for MVS can still run on z/OS without modification.
MVS descends from SVS (Single Virtual Storage), which in turn descends from MVT, one of the original variants of OS/360. The first variant of OS/360, PCP (Primary Control Program), did not support multitasking. MVT (Multitasking with a Variable number of Tasks) was an enhancement that provided that functionality. SVS added virtual storage (more commonly known outside IBM as virtual memory), with the same address space being shared by all tasks. Finally, MVS allowed different tasks to have different address spaces.
MVS originally supported 24-bit addressing. As the underlying hardware progressed it supported 31-bit (XA and ESA) and now (as z/OS) 64-bit addressing.
The main interfaces to MVS are JCL (Job Control Language), the batch processing interface, and TSO (Time Sharing Option), the interactive time-sharing interface, which originally was optional but is now a standard component. ISPF is an interface which allows the user to accomplish the same tasks as TSO but in a menu and form oriented manner.
The system is typically used in business and banking, and applications are often written in COBOL. COBOL programs were traditionally used with transaction processing systems like IMS and CICS. For a program running in CICS, special EXEC CICS statements are inserted in the COBOL source code. A preprocessor (translator) replaces those EXEC CICS statements with the appropriate COBOL code to call CICS before the program is compiled — not altogether unlike SQL used to call DB2. Applications can also be written in other languages such as C, C++, Java, assembly language, Fortran, BASIC, RPG, and REXX. Language support is packaged as a common component called "Language Environment" or "LE" to allow uniform debugging, tracing, profiling, and other language independent functions.
MVS systems are traditionally accessed by 3270 terminals or by PCs running 3270 emulators. However, many mainframe applications these days have custom web or GUI interfaces. The z/OS operating system has built-in support for TCP/IP. System management, done in the past with a 3270 terminal, is now done through the Hardware Management Console (HMC) and, increasingly, Web interfaces. Operator consoles are provided through 2074 emulators, so you are unlikely to see any S/390 or zSeries processor with a real 3270 connected to it. The z/OS operating system also has native support to execute POSIX applications.
Files are called "data sets" in MVS. These files are organized in "catalogs." The native encoding scheme of MVS is Big Endian EBCDIC, but MVS provides hardware-accelerated services to perform translation and support of ASCII, Little Endian, and Unicode.
One instance of MVS can occupy an entire physical system, a "Logical Partition" (or "LPAR"), or a virtual machine under z/VM. Multiple MVS instances can be organized and collectively administered in a structure called a "Systems Complex" or "Sysplex," introduced in September, 1990. LPARs interoperate through a software component called a "Cross-system Coupling Facility" or "XCF" and a hardware component called a "Hardware Coupling Facility" or "CF" (or "ICF" if co-located on the same mainframe hardware). Multiple Sysplexes can be joined via standard network protocols such as TCP/IP or IBM's proprietary Systems Network Architecture (SNA). LPARs can also run other operating systems, such as Linux on zSeries, z/VSE, z/TPF, or z/VM.
Contents |
[edit] MVS filesystem
MVS's classic filesystem is a record-oriented filesystem. Filenames are organized in a hierarchy, separated with dots. Each level in the hierarchy can be up to eight characters long. The total filename length is a maximum of 44 characters.
Generally, the components separated by the dots are used to organize files similarly to directories in other operating systems. For example, the higher level components generally represent project and user names. However, unlike other systems, these are not actual directories, just a naming convention. TSO supports a default prefix for files (similar to a "current directory" concept), and RACF supports setting up access controls based on filename patterns, analogous to access controls on directories on other platforms.
Partitioned datasets are in some ways similar to single level directories. MVS supports a wide array of file access methods, mainly due to legacy needs. These include VSAM, BSAM, QSAM, and others. The MVS filesystem is based on the VTOC disk structure that IBM has used for many years.
Modern versions of MVS (i.e. z/OS) also support POSIX-compatible "slash" filesystems along with facilities for integrating the two filesystems. That is, the OS can make an MVS dataset appear as a file to a POSIX program, and an MVS dataset can be made to appear as a file to the POSIX subsystem. These newer filesystems include Hierarchical File System (HFS) and zFS (not to be confused with Sun's ZFS).
[edit] History and modernity
MVS is no longer supported by IBM. In fact, IBM is phasing out support for the 31-bit compatible versions of z/OS by 2007, so only the 64-bit z/OS versions will enjoy support after that date. z/OS continues to receive cutting edge improvements to extend its leadership as the flagship enterprise operating system. In addition to those enhancements mentioned above, others include:
- XML (Xerces-based toolkits for C/C++ and Java)
- network file systems
- TLS/SSL support throughout (including the TCP/IP stack level)
- removal of previous architectural limits (such as the number of I/O channels)
- encrypting file systems
- Workload Manager (WLM)
- special Java acceleration (zAAP support)
- Hipersockets
While z/OS continues to run older 24-bit MVS applications, it does so alongside just written 64-bit hardware-accelerated Java running with state-of-the-art security and Unicode XML data formats on protected filesystems with flexible mounting and long filenames, communicating across IPv6 Hipersocket virtual networks and/or high speed CFs to 64-bit geographically clustered relational databases that use the latest performance-enhancing SQL features including materialized query tables and cube views — for example.
[edit] See also
- Hercules a S/370, S/390, and zSeries emulator capable of running MVS
[edit] References
- Bob DuCharme: "The Operating Systems Handbook, Part 06: MVS" (available online here)