MULTIPLE VIRTUAL STORAGE (MVS) - IBM Mainframe

MVS is the operating system that manages IBM Mainframes. An operating system is a group of related programs that govern the computer system. The operating system controls the execution of programs and provides services that are necessary to make use of the computer system hardware.

MVS means Multiple Virtual Storage. The words multiple and storage are fairly easy to explain. Storage means core memory, and even direct access facilities such as disk spindle and multiple means that there are several of these units. But it is slightly difficult to explain the concept of virtual storage.

Concept of Virtual Storage under MVS

Concept of Virtual Storage under MVS

In a system without virtual storage, each storage location has a unique address that is a tangible and real location. In order to access data from such an address, MVS simply points to the physical location of the data in the main storage and retrieves it. With virtual storage, each user has access only to the virtual rather than the real storage facilities. Virtual storage means that each program can assume storage and it has an unlimited access to all the main storage that an addressing scheme allows. In fact, the impression is that each user has exclusive control over the entire physical environment to store and can manipulate it as he pleases. This ability to use a large number of storage locations is important because a program might be too long and complex, yet both the program and the data must be in the main storage so that the processor can access them.

To allow each user to behave as though he has much more real storage than really exist in the computer system, MVS keeps only the active portions of each program in the real storage and stores the rest of the code and data in special data sets usually on high speed direct access storage devices (DASD). Virtual storage is thus a combination of real and auxiliary storage, requiring huge storage space. It uses a system of tables to relate the DASD locations to real storage locations and keep track of the identity and authority of each program.

The MVS operating system is like any other operating system in the sense that it is made up of a collection of programs responsible for the internal workings of a computer system. Without an operating system, no matter how advanced and sophisticated the hardware, the computer has no intelligence and will not be able to perform anything. But with an efficient operating system (such as MVS) the users can perform complex tasks, manage expensive resources and hardware. What MVS can do is manage storage capacity to make it appear a lot bigger than it is in reality, thereby allowing many users to utilize the enormous amount of storage, which translates into fast execution of jobs, and faster response times when processing interactively.

MVS not only simulates more storage, but it also uses real storage to simulate several address spaces, each of which is independent of the others. In fact, MVS derives its name from this technique: MVS stands for Multiple Virtual Storage. To understand multiple virtual storage, consider the above figure.

Here, you can see that real storage and areas of DASD storage called page data sets are used in combination to simulate several virtual storage address spaces; in this example, four address spaces are simulated. Each of these address spaces provides an entire 16MB range of addresses (2GB on an XA or ESA processor). As a result, to refer to a particular byte of virtual storage under MVS, you need to know two things:

  • The address, which identifies a specific byte of storage within a 16MB or 2GB address space
  • The address space to which the address applies

When multiple virtual storages are used, the total amount of virtual storage that can be simulated is almost limitless, because MVS can create an almost unlimited number of address spaces.

However, the size of an address (24 bits or 31 bits) still limits the size of each individual address space to 16MB or 2GB. And various factors such as the speed of the processor and the amount of real storage installed effectively limit the number of address spaces that can be simulated.

Although an MVS system can support more than one address space at a time, you should realize that the CPU can access only one of them at a time. When the CPU is accessing instructions and data from a particular address space, that address space is said to be in control of the CPU. So the program in that address space will continue to execute until MVS intervenes and places the CPU in control of another address space.

Multiple virtual storage is how MVS implements multiprogramming. In short, each background job or time sharing user is given its own address space. So each job or user can access up to 16MB or 2GB of virtual storage independently of any other job or user on the system at the same time. To pass control from one job or user to another, MVS simply transfers control of the CPU to the other job's or user's address space. Then, the CPU can access instructions and data in that address space until MVS is ready to pass control to a job or user in yet another address space.


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics