×

I/O Execution method for a virtual machine system and system therefor

  • US 4,885,681 A
  • Filed: 01/16/1985
  • Issued: 12/05/1989
  • Est. Priority Date: 01/18/1984
  • Status: Expired due to Term
First Claim
Patent Images

1. In a computer system for realizing virtual machine system by concurrently running a plurality of operating systems under control of a virtual machine control program, wherein the computer system includes (1) a plurality of I/O devices each being either dedicated to one fo the operating systems or shared by plural ones of the operating systems, (2) I/O instruction execution means for controlling start of an I/O operation of one of the I/O devices designated by a start I/O instruction issued by a running operating system and (3) an I/O processor for controlling execution of the I/O operation of the one I/O device, an I/O execution method for the virtual machine system comprising the steps of:

  • storing a flag for a respective I/O device indicative of whether the respective I/O device is dedicated to one of the virtual machines to be run on the computer system and storing a VM identifier for a respective I/O device which is dedicated to a respective one of the virtual machines and indicative of the one virtual machine, wherein the storing of the flag and the VM identifier is carried out under control of the virtual machine control program;

    storing, as address translation information to be used by said I/O processor for a respective I/O device which is dedicated to a respective virtual machine, address translation information predetermined for the virtual machine so as to translate addresses of a main memory of the virtual machine into addresses of a main memory of the computer system, which addresses of the main memory of the virtual machine are required for execution of instructions by the virtual machine, wherein the selection is carried out under control of the virtual machine control program;

    accessing, in response to a start I/O instruction issued from an operating system running one of the virtual machines, a flag and a VM identifier already stored for an I/O device designated by the start I/O instruction, wherein the accessing is carried out by means of said I/O instruction execution means, which responds to the start I/o instruction without intervention of the virtual machine control program to determine whether the designated I/O device designated is dedicated to the running operating system, depending on a value of the accessed flag and VM identifier, wherein the determination is carried out by means of the I/O instruction execution means in response to the start I/O instruction;

    producing an order for ordering said I/O processor to execute an I/O operation designated by the start I/O instruction when the I/O device had been determined as being dedicated to the running operating system, wherein the producing is carried out by means of said I/O instruction execution means in response to the start I/O instruction, without intervention of the virtual machine control program;

    accessing address transformation information stored for the designated I/O device;

    translating addresses of channel commands, indicated by the start I/O instruction and data addresses included in the channel commands using the accessed address translation information, into addresses of the main memory of the computer system; and

    executing the I/O instruction, by controlling execution of an I/O operation designated by the start I/O instruction by the designated I/O device, wherein the accessing, translation and executing is carried out by said I/O processor in response to the produced order, without intervention of the virtual machine control program.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×