I/O execution method for a virtual machine system and system therefor
First Claim
1. In a computer system having a central processing unit, a main storage and at least one I/O device, wherein a plurality of operating systems can simultaneously run under the control of a control program, a method of executing an I/O instruction using said central processing unit, comprising steps of:
- assigning, under control of said control program, a plurality of resident areas of said main storage which do not overlap one another to said plurality of operating systems as main memories therefore, respectively;
responding to an I/O instruction issued by a running one of said plural operating systems to thereby determine an address of said main memory assigned to said running operating system which participates in an I/O operation requested by said I/O instruction without intervention of said control program;
translating said address into an address of said main storage of said computer system without intervention of said control program; and
executing said I/O operation by using the address resulting from said address translation.
1 Assignment
0 Petitions
Accused Products
Abstract
In a computer system having a central processing unit, a main storage and at least one I/O device, a plurality of operating systems (OS) can simultaneously run under the control of a control program. For executing an I/O instruction using a central processing unit, a plurality of resident areas of said main storage which do not overlap one another are assigned, under the control of the control program, to the plurality of OSs as main memories therefore, respectively. In responding to an I/O instruction issued by a running one of said plural OSs, an address of said main memory assigned to said running OS which participates in an I/Oo operation requested by said I/O instruction is determined without intervention of the control program, and the address is translated into an address of the main storage of the computer system without intervention of said control program. The I/O operation is then executed by using the address resulting from said address translation.
-
Citations
15 Claims
-
1. In a computer system having a central processing unit, a main storage and at least one I/O device, wherein a plurality of operating systems can simultaneously run under the control of a control program, a method of executing an I/O instruction using said central processing unit, comprising steps of:
-
assigning, under control of said control program, a plurality of resident areas of said main storage which do not overlap one another to said plurality of operating systems as main memories therefore, respectively; responding to an I/O instruction issued by a running one of said plural operating systems to thereby determine an address of said main memory assigned to said running operating system which participates in an I/O operation requested by said I/O instruction without intervention of said control program; translating said address into an address of said main storage of said computer system without intervention of said control program; and executing said I/O operation by using the address resulting from said address translation.
-
-
2. In a computer system having a central processing unit and a plurality of I/O devices, wherein a plurality of operating systems can simultaneously run under the control of a control program, each of said I/O devices being assigned with one of plural subchannels which is representative of said I/O device for one of said plural operating systems, said plurality of subchannels being allocated with a plurality of predetermined real interruption priority levels, respectively, each of said plural real interruption priority levels being reserved by one of said plural operating systems or shared by several ones of said plural operating systems, wherein every time each of said plural operating systems issues an I/O instruction designating the subchannel, an I/O operation requested by said I/O instruction is executed for one of said plural I/O devices assigned the said designated subchannel representative of said one I/O device for the operating system which issued said I/O instruction, and wherein every time an interruption request indicating completion of the I/O operation is issued by any one of said plurality of I/O devices, said interruption request is registered in one of plural interruption request queues provided in correspondence to real interruption priority levels determined previously for said plurality of I/O devices, respectively, said one interruption request queue being provided in correspondence to a real interruption priority level assigned to said I/O device issued said interruption request, a method of executing an interruption request test instruction using said central processing unit, comprising steps of:
responding to an interruption request test instruction issued by one of the running operating systems to thereby check whether or not the real interruption priority level reserved by said one running operating system exists in said plurality of real interruption priority levels; and
executing said interruption request test instruction when said reserved real interruption priority level exists, without issuing interruption to said control program.- View Dependent Claims (3)
-
4. In a computer system comprising a central processing unit, an auxiliary storage unit, a IOP for scheduling execution of an I/O operation designated by an I/O instruction issued by one of plural programs which use said auxiliary storage unit, and an input/output control unit which responds to a result of execution of said I/O instruction for thereby executing an I/O operation requested by said I/O instruction for said auxiliary storage unit, wherein a plurality of operating systems can simultaneously run under the control of a control program, a method of executing an I/O instruction using said central processing unit, comprising steps of:
-
dividing, under the control of said control program, a memory area of said auxiliary storage unit into a plurality of memory areas which do not overlap one another; assigning, under the control of said control program, said plurality of memory areas to said plurality operating systems such that at least one memory areas is reserved by at least one operating system; checking, under the control of said control program whether any one of said memory areas is reserved by any one of said operating systems and storing, when said memory areas is occupied, an identifier associated with the operating system reserving said memory area in a control block provided in correspondence to said memory area being reserved; responding to an I/O instruction issued by the running operating system to thereby make a decision as to whether the memory area designated by said I/O instruction is reserved by said running operating system on the basis of content of the control block stored in correspondence to said designated memory area; and executing said I/O instruction without interrupting said control program when the memory area designated by said I/O instruction is reserved by said running operating system.
-
-
5. A computer system, comprising:
-
a central processing unit; an auxiliary storage unit; a IOP for executing a channel command word designated by an I/O instruction issued by one of plural programs which use said auxiliary storage unit; and an input/output control unit responsive to a result of execution of said channel command word for thereby performing an I/O operation requested by said channel command word for said auxiliary storage unit, wherein said IOP stores states of a plurality of memory areas which are obtained by dividing a memory area of said auxiliary storage unit and which do not overlap one another, said memory areas being regarded as logical resources which are independent of one another, said IOP including control means for controlling execution of the I/O operation for the memory area requested by the channel command word executed by said input/output control unit on the basis of stored status of said requested memory area. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. In a computer system having a central processing unit, a main storage, at least one I/O device, which is represented by at least one subchannel to an operating system, the one subchannel being either dedicated to one of the operating systems or shared by plural ones of the operating systems, I/O instruction execution means for executing an I/O instruction which has been issued by a running operating system and which designates one subchannel assigned to said one I/O device in which an I/O operation is to be performed, and execution control means connected to said I/O instruction execution means and said one I/O device and responsive to a request from said I/O instruction execution means for controlling execution of the I/O operation to the one I/O device, an I/O method comprising the steps of:
-
assigning, under control of said control program, a plurality of resident areas of said main storage which do not overlap one another to said plurality of operating systems as main memories therefore, respectively; responding by said I/O instruction execution means to an I/O instruction issued by a running one of said plural operating systems to thereby determine an address of said main memory assigned to said running operating system which participates in an I/O operation requested by said I/O instruction without intervention of said control program; translating said address, using said execution control means, into an address of said main storage of said computer system without intervention of said control program; and executing said I/O operation by said execution control means using the address resulting from said address translation.
-
-
13. In a computer system having (1) a central processing unit, (2) a plurality of I/O devices, wherein a plurality of operating systems can simultaneously run under the control of a control program, each of said I/O devices being assigned with one of plural subchannels which is representative of said I/O device for one of said plural operating systems, said plurality of subchannels being allocated with a plurality of predetermined real interruption priority levels, respectively, each of said plural real interruption priority levels being reserved by one of said plural operating systems or shared by several ones of said plural operating systems, (3) I/O instruction execution means for executing an I/O instruction which has been issued by a running operating system and which designates one subchannel assigned to one of the plurality of I/O devices in which an I/O operation is to be performed, and (4) execution control means connected to said I/O instruction execution means and said plurality of I/O devices and responsive to a request from said I/O instruction execution means for controlling execution of the I/O operation to the one I/O device, wherein every time an interruption request indicating completion of the I/O operation is issued by any one of said plurality of I/O devices, said interruption request is registered in one of plural interruption request queues provided in correspondence to real interruption priority levels determined previously for said plurality of I/O devices, respectively, said one interruption request queue being provided in correspondence to a real interruption priority level assigned to said I/0 device issued said interruption request, a method of executing an interruption request test instruction using said central processing unit, comprising steps of:
-
responding by said I/O instruction execution means to an interruption request test instruction issued by one of the running operating systems to thereby check whether or not the real interruption priority level reserved by said one running operating system exists in said plurality of real interruption priority levels; and executing said interruption request test instruction using said execution control means when said reserved real interruption priority level exists, without issuing interruption to said control program. - View Dependent Claims (14)
-
-
15. In a computer system comprising a central processing unit, at least one I/O device, an auxiliary storage unit, a IOP for scheduling execution of an I/O operation designated by an I/O instruction issued by one of plural programs which use said auxiliary storage unit, I/O instruction execution means for executing an I/O instruction which has been issued by a running operating system and which designates one subchannel assigned to said one I/O device in which an I/O operation is to be performed, execution control means connected to said I/O instruction execution means and said I/O device and responsive to a request from said I/O instruction execution means for controlling execution of the I/O operation to the one I/O device, and an input/output control unit which responds to a result of execution of said I/O instruction for thereby executing an I/O operation requested by said I/O instruction for said auxiliary storage unit, wherein a plurality of operating systems can simultaneously run under the control of a control program, a method of executing an I/O instruction using said central processing unit, comprising steps of:
-
dividing, under the control of said control program, a memory area of said auxiliary storage unit into a plurality of memory areas which do not overlap one another; assigning, under the control of said control program, said plurality of memory areas to said plurality operating systems such that at least one memory areas is reserved by at least one operating system; checking, under the control of said control program, whether any one of said memory areas is reserved by any one of said operating systems and storing, when said memory areas is occupied, an identifier associated with the operating system reserving said memory area in a control block provided in correspondence to said memory area being reserved; responding by said I/O instruction execution means to an I/O instruction issued by the running operating system to thereby make a decision as to whether the memory area designated by said I/O instruction is reserved by said running operating system on the basis of content of the control block stored in correspondence to said designated memory area; and executing said I/O instruction using said execution control means and without interrupting said control program when the memory area designated by said I/O instruction is reserved by said running operating system.
-
Specification