Logical resource partitioning of a data processing system
First Claim
1. A method of restricting guest operations in a data processing system to system resources assigned to a guest, the resources in the system including one or more real CPUs, a system main storage (MS), an optional system extended storage (ES), and a plurality of I/O channels using I/O processors for connecting to the system a plurality of I/O device control units with their I/O devices, a host hypervisor (host) which includes software, the host supervising plural software control programs (guests) capable of concurrently and independently operating in the system and the guests may be the same or different types of control programs, subchannels (SCHs) for representing I/O devices to the host and to the guests, each guest being restricted to using an assigned subset (partition) of system resources, the method for restricting guest operations comprising:
- providing a plurality of partition sets in system storage for defining partitions of system resources, each partition set defining a particular subset of system resources available to a guest assigned to use the partition, each partition set comprised of a plurality of entries for specifying the system resources assigned to the partition and the items being enterable by a human operator, the items assignable to each partition set including indicators for;
a unique partition identifier (AZN), a MS zone of contiguous main sotrage which can be located anywhere in MS and bounded by upper and lower limit MS addresses, none or mone or plural SCHs, and an optional ES zone located anywhere in ES and bounded by upper and lower limit ES addresses,having a control block in system storage for each SCH, each SCH containing an identifier for an I/O interrupt queue assigned to the SCH, each SCH being capable of being assigned to none, one or plural partition sets as indicated by none, one or more AZNs being set into the control block of the SCH,also having a plurality of state description control blocks (SDs) in system storage for representing logical CPUs in the system, each SD containing fields with parameters for defining a logical CPU,binding a logical CPU to a particular partition by entering the AZN of a respective partition set into the SD representing the logical CPU,assigning a logicl CPU to a particular guest by entering parameters of the guest into the SD of the logical CPU,dispatching a logical CPU for a guest on a selected real CPU in the data processing system by the host executing a start interpretive execution (SIE) instruction on the real CPU to start execution of the logical CPU for the guest in the partition assigned by the AZN in the SD of the logical CPU,assigning an I/O device to a guest by setting the AZN assigned to the guest'"'"'s partition set into an SCH of the I/O device and setting an identifier of the SCH into the guest'"'"'s partition set and into the SD of each logical CPU which is to use the SCH,setting a pass-through indicator in a SCH of an I/O device assigned to a guest to enable the direct routing of I/O instructions from, and of pending I/O interruptions to the logical CPU of the guest in order to allow each guest to directly control guest assigned I/O devices without host assistance during normal execution of I/O operations by a guest'"'"'s logical CPU,allowing a guest to directly insruct, and to directly handle I/O interruptions for, an I/O devie assigned to the guest by determining that the SCH of the I/O device is set with the same AZN as is set into the SD of the logical CPU dispatched for the guest to allow the guest to control its assigned I/O devices without host intervention, and to restrict each guest to using only the SCHs having the same AZN identified in both the SCH and the partition set assigned to the guest.
2 Assignments
0 Petitions
Accused Products
Abstract
The embodiment discloses a method and means for partitioning the resources in a data processing system into a plurality of logical partitions. Host control code may be embodied in programming, microcode, or by special hardware to enable highly efficient operation of a plurality of preferred guest programming systems in the different partitions of the system. The main storage, expanded storage, the channel, and subchannel resources of a system are assigned to the different logical partitions in the system to enable a plurality of preferred guest programming systems to run simultaneously in the different partitions. This invention automatically relocates the absolute addresses of the I/O channel and subchannel resources in the system to their assigned partitions. Also the absolute and virtual addresses of the different guest programming systems are relocated into, as well as page addresses for any expanded storage, their assigned partitions. The guest programming systems generally will be different operating systems. The logical CPU(s) of the guests are dispatched on one or plural real CPUs in the system using the S/370XA SIE (start interpretive execution) instruction. Special operations are provided, including the CPU alerting of other guests in different partitions using I/O interruption signalling. Interception is provided to handle special circumstances.
-
Citations
27 Claims
-
1. A method of restricting guest operations in a data processing system to system resources assigned to a guest, the resources in the system including one or more real CPUs, a system main storage (MS), an optional system extended storage (ES), and a plurality of I/O channels using I/O processors for connecting to the system a plurality of I/O device control units with their I/O devices, a host hypervisor (host) which includes software, the host supervising plural software control programs (guests) capable of concurrently and independently operating in the system and the guests may be the same or different types of control programs, subchannels (SCHs) for representing I/O devices to the host and to the guests, each guest being restricted to using an assigned subset (partition) of system resources, the method for restricting guest operations comprising:
-
providing a plurality of partition sets in system storage for defining partitions of system resources, each partition set defining a particular subset of system resources available to a guest assigned to use the partition, each partition set comprised of a plurality of entries for specifying the system resources assigned to the partition and the items being enterable by a human operator, the items assignable to each partition set including indicators for;
a unique partition identifier (AZN), a MS zone of contiguous main sotrage which can be located anywhere in MS and bounded by upper and lower limit MS addresses, none or mone or plural SCHs, and an optional ES zone located anywhere in ES and bounded by upper and lower limit ES addresses,having a control block in system storage for each SCH, each SCH containing an identifier for an I/O interrupt queue assigned to the SCH, each SCH being capable of being assigned to none, one or plural partition sets as indicated by none, one or more AZNs being set into the control block of the SCH, also having a plurality of state description control blocks (SDs) in system storage for representing logical CPUs in the system, each SD containing fields with parameters for defining a logical CPU, binding a logical CPU to a particular partition by entering the AZN of a respective partition set into the SD representing the logical CPU, assigning a logicl CPU to a particular guest by entering parameters of the guest into the SD of the logical CPU, dispatching a logical CPU for a guest on a selected real CPU in the data processing system by the host executing a start interpretive execution (SIE) instruction on the real CPU to start execution of the logical CPU for the guest in the partition assigned by the AZN in the SD of the logical CPU, assigning an I/O device to a guest by setting the AZN assigned to the guest'"'"'s partition set into an SCH of the I/O device and setting an identifier of the SCH into the guest'"'"'s partition set and into the SD of each logical CPU which is to use the SCH, setting a pass-through indicator in a SCH of an I/O device assigned to a guest to enable the direct routing of I/O instructions from, and of pending I/O interruptions to the logical CPU of the guest in order to allow each guest to directly control guest assigned I/O devices without host assistance during normal execution of I/O operations by a guest'"'"'s logical CPU, allowing a guest to directly insruct, and to directly handle I/O interruptions for, an I/O devie assigned to the guest by determining that the SCH of the I/O device is set with the same AZN as is set into the SD of the logical CPU dispatched for the guest to allow the guest to control its assigned I/O devices without host intervention, and to restrict each guest to using only the SCHs having the same AZN identified in both the SCH and the partition set assigned to the guest. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method of restricting guest operations in a data processing system to system resources assigned to a guest, the system resources in the system including one or more real CPUs, a system main storage (MS), an optional system extended storage (ES), and a plurality of I/O channels usng I/O processors for connecting to the system a plurality of I/O device control units with their I/O devices, a host hypervisor (host) which includes software, the host supervising plural software control programs (guests) capable of concurrently and independently operating in the system and the guests may be the same or different types of control programs, subchannels (SCHs) for representing I/O devices to the host and to the guests, each guest being restricted to using an assigned subset (partition) of system resources, the method for restricting guest operations comprising:
-
providing a plurality of partition sets in system storage for defining partitions of system resources, each partition set defining a particular subset of system resources available to a guest assigned to use the partition, each partition set comprised of a plurality of items for specifying the system resources assigned to the partition and the items being enterable by a human operator, the items assignable to each partition set including indicators for;
a partition identifier unique to each partition set, a MS zone of contiguous main storage which can be located anywhere in MS and bounded by upper and lower limit MS addresses, none or one or plural SCHs, and an optional ES zone located anywhere in ES and bounded by upper and lower limit ES addresses,having a control block in system storage for each SCH, each SCH having an identifier for an I/O interruption queue assigned to the SCH, each SCH being capable of being associated with none, one or plural partition sets, also having a plurality of state description control blocks (SDs) in system storage for representing logical CPUs in the system, each SD containing fields with parameters for defining a logical CPU, binding a logical CPU to a particular partition by associating a respective partition set with the SD representing the logical CPU, assigning a logical CPU to a particular guest by entering parameters of the guest into the SD of the logical CPU, dispatching a logical CPU for a guest on a selected real CPU in the data processing system by the host executing a start interpretive execution (SIE) isntruction on the real CPU to start execution of the logical CPU for the guest, assigning an I/O device to a guest by associating an SCH of the I/O device with the guest'"'"'s partition set and with the SD of a logical CPU which is to be used by the guest, setting a pass-through indicator in the SCH of an I/O device assigned to a guest to enable the direct routing of I/O instructions from, and of pending I/O interruptions to, the logical CPU of the guest in order to allow each guest to directly control guest assigned I/O devices without host assistance during normal exeuction of I/O operations by a guest'"'"'s logical CPU, allowing a guest to directly instruct, and to directly handle I/O interruptions for, an I/O device assigned to the guest by determining that the SCH of the I/O device is associated with the SD of the logical CPU dispatched for the guest to allow the guest to control its assigned I/O devices without host intervention, while restricting each guest to using only the SCHs and other system resources defined in the partition set assigned to the guest.
-
Specification