KR930008265B1 - 가상 계산기 시스템의 입출력 제어방법 - Google Patents

가상 계산기 시스템의 입출력 제어방법 Download PDF

Info

Publication number
KR930008265B1
KR930008265B1 KR1019860006273A KR860006273A KR930008265B1 KR 930008265 B1 KR930008265 B1 KR 930008265B1 KR 1019860006273 A KR1019860006273 A KR 1019860006273A KR 860006273 A KR860006273 A KR 860006273A KR 930008265 B1 KR930008265 B1 KR 930008265B1
Authority
KR
South Korea
Prior art keywords
input
output
output device
interrupt
vmcp
Prior art date
Application number
KR1019860006273A
Other languages
English (en)
Other versions
KR870001510A (ko
Inventor
슌지 다나가
히데노리 우메노
Original Assignee
가부시기가이샤 히다찌세이사꾸쇼
미쓰다 가쓰시게
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시기가이샤 히다찌세이사꾸쇼, 미쓰다 가쓰시게 filed Critical 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR870001510A publication Critical patent/KR870001510A/ko
Application granted granted Critical
Publication of KR930008265B1 publication Critical patent/KR930008265B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

내용 없음.

Description

가상 계산기 시스템의 입출력 제어방법
제 1 도는 본 발명에 의한 모드 이행의 처리 플로우챠트.
제 2 도는 본 발명이 적용되는 가상 계산기 시스템의 주요 구성도.
제 3 도 제 2 도의 제어블럭의 상세한 설명도.
제 4 도는 제 3 도의 입출력 장치 VM용 필드의 상세한 설명도.
제 5 도는 제 3 도의 실 입출력 장치 제어블럭의 상세한 설명도.
제 6 도는 PSW의 설명도.
제 7 도는 제어 레지스터의 설명도.
제 8 도는 가상 입출력 제어블럭의 설명도.
제 9 도는 본 발명에 의한 명령의 설명도.
제 10 도는 종래의 가상 계산기 시스템의 구성도.
본 발명은 가상 계산기 시스템(이하, VMS(Virtual Machine System)라고 함)의 입출력 제어방법에 관한 것으로, 특히 가상 계산기(이하, VM(CP)라고 함)상의 OS로부터의 입출력 명령 및 이에 관련하는 입출력 인터럽션을 가상 계산기제어 프로그램이 관여하는 일 없이 하드웨어에 의해 직접 실행이 가능한 VMS의 입출력 제어방법에 관한 것이다.
종래, 가상 계산기 시스템(VMS)은 실 계산기 시스템과 하드웨어 구성(중앙처리 장치, 주기억 장치, 입출력 장치 등)은 변하지 않으나, 주 기억장치위에 가상 계산기 제어 프로그램(VMCP)을 마련하고 VMCP의 하드웨어 시뮬레이션 기능에 의해 논리적인 계산기(이것을 이하에서는 가상 계산기, 즉 VM이라고 함)가 여러개 논리적으로 배치되어 이 논리적으로 배치된 다수의 VM에 의해 각종 처리를 실행하는 것이다. 이 가상 계산기 시스템의 구성예을 제 10 도에 도시한다. 제 10도에 있어서, (90)은 실 계산기 시스템, (91)는 중앙처리 장치(이하, CPU라고 함),(92)는 VMCP를 구비한 주 기억장치, (93)는 입출력 처리장치, (94)는 입출력 제어장치, (90-1),(90-2)(90-3)은 각각 VMCP에 의해 논리적으로 실현되는 가상 계산기 VM이다. VM(90-1)은 CPU(90-1), 주 기억장치(92-1), 입출력 처리장치(93-1), 입출력 제어장치(94-1)로 구성된다. VM(90-2)도 마찬가지로 CPU(91-2), 주 기억장치(92-2), 입출력 처리장치(93-3), 입출력 제어장치(94-2)로 구성된다. 또한, (VM90-3)은 CPU(91-3), 주기억장치(92-3), 입출력 처리장치(93-3), 입출력 제어장치(94-3)으로 구성된다. 여기서는, 가상 계산기 VM을 3개 실현한 예를 도시하고 있으나, VMCP에 의해 3개 이상 실현하는 것도 가능하다. 각 VM, 즉 VM(90-1), VM(90-2), VM(90-3)은 실 계산기 시스템(이하, 호스트 시스템이라 함)(90)과 거의 같은 하드웨어 구성을 가진 것으로서 논리적으로 실현된다. 각 VM의 주 기억장치(92-i)(i=1,2,3)상에는 각 VM을 제어하고 움직이는 오페레이팅 시스템 OS가 존재하여, 이 다수개의 OS가 1대의 호스트 시스템하에서 동시에 주행하는 것을 도시한 것이다. 제 10 도의 각 VM에 있어서의 하드웨어 구성(CPU, 주 기억장치, 입출력 장치, 입출력 제어장치)는 VMCP에 의해 논리적으로 실현되는 것이지만, 이들의 실체의 대부분은 호스트 시스템의 대응하는 하드웨어 구성상에 존재한다. 예를 들면, VM의 기억장치는 호스트 시스템의 주 기억장치(92)의 일부분을 점유하는 일도 있으며, 또 공유하는 일도 있다.
또, VM의 입출력 장치는 호스트 시스템의 입출력 장치를 VM 사이에서 공유하는 일도 있고, 또, 몇개의 입출력 장치를 점유하는 일도 있다. 또, 호스트 시스템상에 대응하는 입출력 장치가 없고, 전부 가상적으로 VMCP에 의해 의사되어서 실현되는 경우도 있다. 어느 쪽이든 각 VM의 주 기억장치(92-i)(i=1,2,3)상의 OS로 부터는 호스트 시스템과 마찬가지의 하드웨어 구성(CPU, 주 기억장치, 입출력 프로세서, 입출력 제어장치)이 보여지게 된다.
이와 같은 종래의 가상 계산기 시스템에 있어서의 VM상의 OS의 IO 실행에 있어서는 반드시 VMCP가 개입하므로, 그 시뮬레이션이 필요하게 되어 IO 실행 빈도가 높은 부하에 대해서는 VMCP의 시뮬레이션 오버헤드가 크게 된다는 문제가 있었다. 이 문제를 해결하여 VM으로 부터의 입출력 명령의 시뮬레이션에 의한 오버헤드을 삭감하기 위해서 VM으로부터 입출력 명령을 VMCP에 개재시키는 일없이 하드웨어로 직접 실행하는 방법을 "가상 계산기 시스템의 IO 실행방법" 으로서 본 발명자등에 의해 제안되고 있다(일본국 특허 출원 소화 59-5587로 명세서 참조). 그러나, 이 방벙에서는 VM 주행중에 VM을 정지하는 일없이 직접 실행하는 모드와 VMCP에 의해 시뮬레이션을 행하는 모드를 전환하는 것을 실현되어 있지 않았다.
본 발명의 목적은 이와 같이 종래의 실현되고 있지 않았던 점을 개선하여 VM이 점유하는 입출력 장치로 입출력 명령 및 그 명령에 관련하는 입출력 인터럽션을 VMCP가 관여하는 일 없이 하드웨어에 의해 직접 실행하는 모드(입출력 직접 실행 모드)와 VMCP가 개재하여 시뮬레이션을 실행하는 모드(입출력 시뮬레이션 모드)를 VM 주행중에 전환이 가능한 가상 계산기 시스템의 입출력 제어방법을 제공하는데 있다.
상기 목적을 달성하기 위해서 본 발명의 가상 계산기 시스템은 가상 계산기 제어 프로그램(VMCP)의 제어하에서 적어도 1개의 가상 계산기 (VM)이 주행하고 주행 중 VM이 점유하는 입출력 장치에 대한 해당 VM상의 오퍼레이팅 시스템(OS)으로 부터의 입출력 명령 및 이에 관련하는 입출력 인터럽션을 상기 VMCP가 개재하는 일 없이 직접 실행하는 입출력 직접 실행 모드와 상기 VMCP가 OS로 부터의 입출력 명령 및 이에 관련하는 입출력 인터럽션의 시뮬레이션을 실행하는 입출력 시뮬레이션 모드를 갖는 가상 계산기 시스템에 있어서, 상기 입출력 직접 실행 모드로 이행을 요구하는 입출력 장치를 식별하는 식별 수단, 소정의 모드 이행 조건을 판정하는 판정수단 및 상기 2개의 모드를 전환하는 모드 전환수단을 마련하고, 상기 식별수단에 의해 입출력 직접 실행 모드로 이행 요구하고 있는 입출력 장치를 식별하여 식별된 해당 입출력 장치가 상기 판정수단에 의해 소정의 상기 모드 이행 조건을 만족한 시점에서 이때까지 직접 실행을 하고자하는 VM이 모드 이행 요구의 상기 입출력 장치를 점유하지 않는 경우에는 점유하고, 이때까지 해당 VM이 해당 입출력 장치의 입출력 인터럽션을 제어하는 입출력 인터럽션 서브클래스를 점유하고 있지 않는 경우에는 해당 입출력 인터럽션 서브 클래스를 점유함과 동시에, 상기 모드 전환수단에 의해 모드 전환을 실행하고, 상기 입출력 시뮬레이션 모드의 입출력 장치를 입출력 직접 실행 모드로 이행시키는 것을 특징으로 한다.
다음에, 본 발명의 1실시예를 도면에 따라 상세하게 설명한다.
우선, 본 발명의 원리적인 설명을 한다.
본 발명은 입출력 시뮬레이션 모드에서 입출력 직접 실행 모드로의 입출력실행 모드 제어와 입출력 직접 실행 모드에서 입출력 시뮬레이션 모드로의 입출력 실행 도드제어로 된다. 입출력 직접 실행 모드의 입출력 장치에서 입출력 제어는 전부가 압출력 장치에서는 OS로 실행하고, VMCP는 개재하지 않는다. 한편, 입출력 시뮬레이션 모드의 입출력 장치를 점유하는 OS로 부터의 입출력 명령의 실행 및 이에 관련하는 입출력 인터럽션의 OS로의 반영은 VMCP가 개재하여 실행된다.
이것에 의해, 입출력 시뮬레이션 모드에서 입출력 직접 실행 모드로 이행하는 경우, OS에만 입출력 제어를 맡기면 좋은가를 VMCP에 의해 판정한다. 그리고, 모드의 이행 조건을 만족한 시점에서 해당 입출력 장치의 실행 모드를 지정하는 필드에 실행 모드를 설정하는 수단에 의해 입출력 직접 실행 모드를 설정한다.
입출력 직접 실행 모드에서 입출력 시뮬레이션 모드를 이행하려면 다음의 3가지 방법에 의해 가능하다.
첫번째 방법은 입출력 시뮬레이션 모드로의 이행요구가 있었던 시점에서 실행 모드를 설정하는 방법에 의해 입출력 직접 실행 모드를 해제한다. 그리고, 입출력 장치의 하드웨어 정보를 입출력 장치의 상태를 조사하는 명령에 의해 VMCP측으로 리드하고, 이 정보에 따라 VMCP에 의한 입출력 시뮬레이션을 실행하고자 하는 것이다.
두번째의 방법으로는 입출력 시뮬레이션 모드로의 이행 요구가 있었던 시점에서 실행 모드를 설정하는 수단에 의해 입출력 직접 실행 모드를 해제한다. 그리고, 해당 입출력 장치로의 입출력 명령 실행 요구는 VMCP에 의해 강제적으로 보류하는 것을 개시한다. 그리고, 입출력 장치의 상태를 조사하는 명령에 의해 해당 입출력 장치의 입출력이 완료한 것을 확인한 후, VMCP에 의해 강제적으로 입출력 명령 실행 요구를 보류하는 것을 해제하여 시뮬레이션을 모드로 이행하는 것이다.
세번째의 방법으로는 입출력 시뮬레이션 모드로의 이행 요구가 있었던 시점에서 실행 모드를 설정하는 수단에 의해 입출력 직접 실행 모드를 해제한다. 그리고, 해당 입출력 장치로의 입출력 명령 실행 요구는 VMCP에 의해 강제적으로 보류하는 것을 해제한다. 그리고, 일정시간이 경과한후, VMCP에 의해 강제적으로 입출력 명령 실행 요구를 보류하는 것을 해제한다. 그리고, 이행 요구를 갖는 입출력 장치의 하드웨어 정보를 입출력 장치의 상태를 조사하는 명령에 의해 VMCP 측으로 리드하여 이 정보에 따라 VMCP에 의해 입출력 시뮬레이션을 실행하는 것이다. 다음에, 도면을 이용하여 상술의 방법을 구체적으로 설명한다.
제 1 도에 입출력 시뮬레이션 모드와 입출력 직접 실행 모드의 사이에서의 입출력 장치의 모드 이행처리 플로우챠트를 도시한다. 다음에, 제 1 도에 따라서 모드 이행의 개요를 설명하고, 다음에 기술하는 제 2 도 이후의 도면에 의해 모드 이행을 구체적으로 상세하게 기술한다.
제 1a 도는 본 실시예에 의한 입출력 시뮬레이션 모드의 입출력 장치를 입출력 직접 실행 모드로 이행시키는 처리 플루우챠트이다. 다음에 제 1a 도에 따라서 설명한다.
우선, 입출력 직접 실행 모드로 이행 판정 개시가 행하여지면(스텝 101), 다음에, 해당 VM 상의 OS로 제어가 옮긴 시점에서 VMCP는 해당 입출력 장치의 입출력 명령 실행 요구 큐를 가졌는가 아닌가를 조사한다(스텝 102). 이 입출력 명령 실행 요구 큐를 갖지 않는 경우 VMCP는 입출력 직접 실행 모드로 이행 할려고 하는 VM의 해당 입출력 장치의 입출력 인터럽션 보류를 가졌는가, 아닌가를 조사한다(스텝 103).입출력 인터렵션 보류를 갖지 않는 경우는 입출력 직접 실행 모드로 이행할려고 하면, 입출력 장치에 대하여 VMCP 및 해당 VM 이외의 VM은 입출력 실행중이 아니며, 또한 입출력 인터럽션 보류중이 아닌가를 조사한다(스텝 104). 입출력 인터럽션 보류중이 아닌 경우는 입출력 실행 모드로 이행할려고 하는 입출력장치에 관련하는 입출력 인터럽션을 제어하는 입출력 인터럽션 서브 클래스를 해당 VM이 점유하고 있는가 또는 점유 가능한가를 조사한다(스텝 105). 해당 VM이 점유하고 있던가 점유 가능한 경우는 입출력 직접 실행 모드로 이행할려고 하는 입출력 장치를 해당 VM은 점유하고 있는가 또는 점유 가능한가를 조사한다(스텝 106). 해당 입출력 장치를 해당 VM이 점유하고 있던가 또는 점유 가능한 경유는 명령 A(다음에 기술하는 제 9 도 참조)에 의해 해당 입출력 장치를 입출력 직접 실행 모드로 이행한다. 그러나 해당 서브클래스, 해당 입출력 장치를 점유하지 않는 경우에는 점유의 처리를 실행한다(스텝 107),이상의 처리에 의해 입출력 직접 실행 모드로의 이행 판정을 종료하고(스텝 108), 상기 모드 이행 조건을 전부 만족한 시점에서 입출력 시뮬레이션 모드의 입출력 장치를 입출력 직접 실행 모드로 이행한다.
제 1b 도는 본 실시예에 의한 입출력 직접 실행 모드의 입출력 장치를 입출력 시뮬레이션 모드로 이행시키는 처리 플로우챠트이다. 다음에, 제 1b 도에 따라서 설명한다.
우선, 입출력 시뮬레이션 모드로의 이행 요구가 있으면(스텝 110), STSCH 명령에 의해 해당 입출력 장치의 상태를 VMCP 쪽으로 리드한다(스텝 111). 다음에, 명령 A(다음에 기술하는 제 9 도 참조)에 의해 해당 입출력 장치를 입출력 시뮬레이션 모드로 이행시킨다(스텝112). 이상의 처리에 의해 이행처리를 종료한다(시텝 113).
제 1c 도는 다른 실시예에 의한 입출력 직접 실행 모드의 입출력 장치를 입출력 시뮬레이션 모드로 이행시키는 처리 플로우챠트이다.
다음에, 제 1c 도에 따라서 설명한다.
우선, 입출력 시뮬레이션 모드로의 이행 요구가 있으면(스텝 115), 해당 입출력 장치로의 입출력 명령 실행 요구를 VMCP가 강제적으로 보류하는 것을 개시한다(스텝 116). 다음에, 명령 A(다음에 기술하는 제 9 도 참조)에 의해 해당 입출력 장치의 입출력 직접 실행 모드를 해제한다(스텝 117). 그 후, 입출력 시뮬레이션 모드로의 이행 판정을 개시한다(스텝 118). 우선, 해당 입출력 장치에 관한 입출력은 전부 완료하였는가 아닌가를 조사한다(스텝 119). 전부 완료한 경우는 해당 입출력 장치로의 입출력 명령 실행 요구를 VMCP가 강제적으로 보류한 것을 해제한다(스텝 120). 이상의 처리에 의해 입출력 시뮬레이션 모드로 이행 판정을 종료하고(스텝 121), 입출력 직접 실행 모드의 입출력 장치를 입출력 시뮬레이션 모드로 이행할 수 있다.
제 1b 도는 다른 실시예에 의한 입출력 직접 실행모드의 입출력 장치를 입출력 시뮬레이션 모드로 이행시키는 처리 플로우챠트이다.
다음에, 제 1d 도에 따라서 설명한다.
우선, 입출력 시뮬레이션 모드로의 이행 요구가 있으면(스텝 122), 해당 입출력 장치로의 입출력 명령 실행 요구를 VMCP가 강제적으로 보류하는 것을 개시한다.(스텝 123). 다음에 명령 A(다음에 기술하는 제 9 도 참조)에 의해 해당 입출력 장치의 입출력 직접 실행 모드를 해제한다.(스텝 124), 그 후, 소정의 시간이 경과하였을 때, 타이머 인터럽션을 발생시키기 위하여 타이머 인터럽션 요구 블럭을 VMCP의 타이머 인터럽션 요구 큐에 등록한다(스텝 125). 타이머 인터럽션이 발생하면(스텝 126), STSCH 명령에 의해 해당 입출력 장치의 상태를 VMCP 쪽으로 리드한다(스텝 127). 다음에, 해당 입출력 장치로의 입출력 명령 실행 요구를 VMCP가 강제적으로 보류하는 것을 해제한다(스텝 128). 이상의 처리에 의해 입출력 장치의 입출력 직접 실행 모드에서 입출력 스뮬레이션 모드의 이행을 종료한다(스텝129).
제 2 도는 본 발명을 적용한 가상 계산기 시스템의 주요 구성도이다.
제 2 도에 있어서, (1)은 주기억장치, (2)는 VMCP가 하드웨어의 상태를 기억하여 두는 영역의 프리픽스 세이브 에리어(이하, PSA이라함), (2-1), …, (2-i), …, (2-n)은 가상 계산기 VMi(i=1~n)의 PSA, (3)은 프리픽스 레지스터이며, VMi의 주행중은 그 VMi의 PSA(2-i)(i=1~n)의 어드레스를 저장하여 VDCP로 제어가 이행되었을 때에 VMCP의 PSA(2)의 어드레스를 저장하고 있다. (4)는 명령 레지스터, (5)는 명령 실행 회로, (6)은 명령 실행 회로(5)내의 명령 실행 마이크로 프로그램, (7)은 인터럽트 회로. (8)은 인터럽트 회로(7)내의 인터럽트 마이크로 프로그램, (9)는 입출력 장치군, (10-1),…,(10-j),…,(10-k)는 입출력 장치이다.
제 3 도는 VMCP가 입출력 제어를 위해서 사용하는 주 기억장치(1)내의 제어 블럭도이다.
제 3 도에 있어서, (11-1),…,(11-i),…,(11-n)은 가상 제어 블럭이고, VMi(i=1~n)의 가상적인 계산기 자원의 상태를 도시한다. (12)는 실제어 블럭이며, VMCP가 인식하는 계산기 자원의 상태를 나타낸다. 각 기상 제어 블럭(11-i)(i=1~n)에는 VMi(i=1~n)의 프로그램 상태 워드(이하, PSW라고 한다)를 저장하는 VPSW(13-i)(i=1~n), VMi(i=1~n)의 입출력 인터럽트를 서브마스크에 의해 제어하는 제어레지스터를 저장하는 가상 제어 레지스터(14-i)(i=1~n) 및 VMi(i=1~n)의 입출력 장치군의 상태를 기술하는 가상 입출력 제어 블럭(15-i)(i=1~n)로 된다. 또, 가상 제어 입출력 장치 제어 블럭 (15-i-r)(i=1~n)는 VMi의 입출력 장치의 상태를 기술한다. (16)은 실 입출력 장치 전체의 입출력 제어를 실행하는 실 입출력 제어 블럭, 실 입출력 제어 블럭(16)중의 실 입출력 장치 제어 블럭(16-j)(j=1~k)는 VMCP가 인식하는 각 입출력 장치(10-j)(j=1~k)의 상태를 나타낸다. (17)은 주 기억장치(1)상의 하드웨어 시스템 영역을 갖는 소프트 웨어 마이크로 프로그램 사이의 인터페이스부로써 소프트 웨어에 의해 액세스 또는 라이트 할 수 없고, 마이크로 프로그램에 의해서만 액세스 또는 라이트가 가능하다. 소프트 웨어 마이크로 프로그램 사이의 인테페이스부(17)내의 입출력 장치 필드(18-j)(j=1~k)는 각 입출력 장치(10-j)(j=1~k)의 상태를나타낸다. (19-1),…,(19-j),…,(19-k)는 VM의 입출력 제어를 위하여 사용하는 입출력 장치 VM용 필드이다.
제 4 도는 제 3 도의 각 입출력 장치 VM용 필드(19-j)의 상세한 도명이다. 여기서, j=1~k로 한다.
각 입출력 장치 VM용 필드(19-j)는 VM번호 필드(19-j-1), 실 서브 클래스 번호 필드(19-j-2), 입출력 직접 실행모드 비트(19-j-3), 아키택쳐 번호(19-j-4)로 된다. VM번호 필드(19-j-1)은 이 입출력 장치에대한 입출력을 직접 실행의 대상으로 하고 있는 VM를 식별하기 위한 필드이며, 입출력 직접 실행 모드 비트(19-j-3)이 "1"일 때에만 유효하게 된다. 실 서브클래스 번호 필드(19-j-2)는 이 입출력 장치(10-j)의 입출력 인터럽트를 제어하는 입출력 인터럽트 서브 클래스 번호를 저장하는 필드이다. 즉, 실 서브 클래스 번호 필드(10-j-2)의 값이 q일 때 이 입출력 장치(10-j)의 입출력 인터럽트는 다음에 기술하는 제 7 도에 도시한 제어 레지스터(14)의 비트 q의 값인 Mq의 제어를 받는다. 이에 대해서는 다음에 상세하게 기술한다. 입출력 직접 실행 모드 비트(19-j-3)이 "1"일 때, 입출력 장치(10-j)는 입출력 직접 실행 모드인 것을 나타내며, "0"일 때 입출력 직접 실행 모드가 아니라는 것을 나타낸다.
다음에, 입출력 시뮬레이션 모드 및 입출력 직접 실행 모드의 입출력 장치에 있어서, OS로 부터의 입출력 명령 및 입출력 장치로 부터의 입출력 인터럽션이 어떻게 처리되는가 대해서 기술한다.
OSi가 입출력 시뮬레이션 모드의 입출력 장치(10-j)로 입출력 명령 실행을 요구하면, 제 2 도의 신호선(100)에 의해 명령 레지스터(4)에 신호가 보내지고, 명령 레지스터(4)는 신호선(101)에 의해 해당하는 명령의 기동신호를 명령 실행 회로(5)로 보낸다. 명령 실행 회로(5) 및 명령 실행 마이크로 프로그램(6)은 신호선(102)에 의해 입출력 장치(10-j)에 대응하는 입출력 장치 필드(18-j)의 입출력 직접 실행 모드 비트 (19-j-3)을 조사한다. 이때, 입출력 직접 실행 모드 비트(19-j-3)은 "0"으로 되어 있으므로, 프리픽스 레지스터(3)에 VMCP의 PSA(2)의 어드레스를 설정하고, VMCP의 입출력 명령 제어 프로그램에 제어를 한다, VMCP의 입출력 명령 제어 프로그램은 가상 입출력 제어 블럭 (15-i)의 정보에 따라 이 입출력 명령의 시뮬레이션을 실행한다.
이 VMCP에 의한 시뮬레이션으로는 가상 입출력 제어 블럭(15-i)의 정보와 명령의 종류에 따라 입출력 장치(10-j)에 대해서 입출력 명령을 발행하는 일도 있으며, 발행하지 않는 일도 있다. 입출력 명령을 발행할 필요가 있는 경우에는 실 입출력 제어 블럭(16)의 대응하는 실 입출력 장치 제어 블럭(16-j)에 입출력 명령을 실행하기 위하여 필요한 정보 및 VM 식별 정보를 입출력 명령 실행 요구로서, 큐잉한다. 제 5 도에서 실 입출력 장치 제어 블럭(16-j)의 상세한 도면을 도시한다. 이 실 입출력 장치 제어 블럭(16-j)는 입출력 실행 요구 포인터(16-j-1), 실 상태 필드(16-j-1),입출력실행 중 포인터(16-j-3), 점유원 VM식별 필드(16-j-4)로 된다. 입출력 실행 요구 포인터(16-j-1)은 최초의 입출력 장치(10-j)에 대한 입출력 명령 실행 요구의 영역의 어드레스를 저장하는 영역이다. 제 5 도에서는 2개의 입출력 명령 실행 요구(21-1) 및 (21-2)가 큐잉되어 있다. 입출력 실행 요구 포인터(16-j-1)에는 입출력 명령 실행 요구가 없는 경우, 실 입출력 장치 제어 블럭(16-j)의 선두 어드레스가 저장된다. 즉, 입출력 실행 요구 포인터(16-j-1)과 실 입출력 장치 제어 블럭(16-j)의 선두 어드레스가 동일할 때 실 입출력 장치 제어 블럭(16-j)에는 입출력 실행 요구는 큐잉되어 있지 않다. 입출력 명령 실행 요구 큐에 큐잉된 입출력 명령 실행 요구에 대응한 입출력 명령을 발행하는 경우, 그 요구를 입출력 명령 실행 요구 큐로부터 떼에내서 입출력 실행 중 포인터(16-j-3)에 이 요구의 선두 어드레스를 저장한다. 또한, 해당 입출력 장치가 사용중이라는 것을 나타내는 실 상태 필드(16-j-2)의 비트 a를 "1''로 설정한다.
OS의 입출력 명령의 시뮬레이션과 독립적으로 VMCP가 입출력 명령을 발행하는 경우, 입출력 명령을 실행하기 위하여 필요한 정보 및 VMCP의 입출력 명령 실행 요구인 것을 식별하는 정보를 입출력 명령 실행 요구로써 설정하여 실 입출력 장치 제어 블럭(16-j)에 큐잉한다. VMCP 고유의 입출력 명령을 실행하는 경우에는 실 상태 필드(16-j-2)의 a 비트 및 b 비트를 모두 "1"로 설정한다. 이 a비트 및 b비트는 입출력 완료 인터럽션의 발생사에 VMCP에 의해 "0"으로 설정된다.
한편, 입출력 장치(10-j)에서의 입출력 인터럽션의 VMCP에 의한 시뮬레이션은 다음과 같이 실행된다. 제 6 도에 PSW의 구조, 제 7 도에서 제어 레지스터의 구조를 도시하며, 이것을 이용하여 설명한다. 입출력 인터럽션 제어는 제 6 도에 도시한 PSW(13)의 I비트(20) 및 제 7 도에 도시한 입출력 인터럽션을 제어하는 서브 마스크를 갖는 제어 레지스터(14)에 의해 실행한다. PSW(13)의 I비트(20)이 "1"이고, 또한 입출력장치(10-J)에 대응하는 입출력 장치 VM용 필드(19-j)의 실 서브 클래스 번호 필드(19-j-2)에 의해 지정되는 입출력 입터럽션을 제어하는 제어 레지스터(14)의 비트가 "1" 일때에만 입출력 장치(10-j)에서 입출력 인터럽션이 발생하여 신호선(104)에 의해 입출력 인터럽션 신호가 인터럽트 회로(7)로 보내진다. 인터럽트 회로(7) 및 인터럽트 마이크로 프로그램(8)은 신호선(105)에 의해 입출력 장치(10-j)의 입출력 장치 필드(18-j)의 입출력 직접 실행 모드 비트(19-j-3)의 값을 조사하고, 그 값이 "0"이므로 VMCP의 PSA(2)의 어드레스를 프리픽스 레지스터(3)에 저장한후, 입출력 인터럽션이 발행하여 VMCP의 입출력 인터럽션제어 프로그램으로 이동한다.
VMCP의 입출력 인터럽션 제어 프로그램에서는 입출력 실행중 포인터(16-j-3)으로 표시되는 입출력 명령 실행 요구내의 VM 식별 정보를 근거로 해당 VM의 가상 제어 블럭(VBLOKS)(11-i)중의 해당하는 가상 입출력 장치 제어 블럭(15-i-r)에 입출력 인터럽션 정보를 저장한다. OSi의 아키택쳐에 의해 OSi에 반영하여야할 입출력 인터럽션의 정보가 변한다. 이로 인해, VMCP는 VMCP의 PSA(2)에 저장된 입출력 인터럽션 정보로 및 입출력 장치 필드(18-i) 중에 있는 입출력 인터럽션 정보를 OSi의 아키택쳐에 있어서의 입출력 인터럽션 정보로 변환하여 가상 입출력 장치 제어 블럭(15-i-r)에 입출력 인터럽션 정보를 저장함과 동시에 그 입출력 장치가 입출력 인터럽션을 VMCP가 보류하고 있는 것을 나타내고 있다. 가상 입출력 장치 제어 블럭(15-i-r)의 상세한 설명을 제 8 도에 도시한다. 이 가상 입출력 장치 블럭(15-i-r)은 가상 상태 필드(15-i-1)과 서브 클랙스 표시 필드(15-i-r-1)로 된다. 다음에 입출력 인터럽션 보류중을 나타내는 가상 상태 필드(15-i-r-1)의 비트에 "1"을 설정한다.
VMCP에서는 OSi의 가상 PSW인 VPSW(13-i)의 비트 및 가상 제어 레지스터(14-i)의 가상 입출력 장치 제어 블럭(15-i-r)에 대응하는 인터럽션 서브 클래스가 함께 "1"로 되었을 때, OSi의 PSA(2-i)에 입출력 인터럽션을 반영함과 동시에, 이 가상 입출력 장치 제어 블럭(15-i-r)의 가상 상태 필드(15-i-r-1)의 g비트를 "0"으로 설정한다.
OSi가 입출력 직접 실행 모드의 입출력 장치(10-j)로 입출력 명령 실행을 요구하면, 제 2 도의 신호선(100)을 통하여 명령 레지스터(4)에 신호가 보내진다. 명령 레지스터(4)는 신호선(101)에 의해 해당 명령의 기동 신호를 명령 실행 회로(5)로 보낸다. 명령 실행 회로(5) 및 명령 실행 마이크로 프로그램(6)은 신호선(102)에 의해 이 입출력 장치(10-j)에 대응하는 입출력 장치 필드(18-j)의 입출력 직접 실행 모드 비트(19-j-3)을 조사한다. 이때, 입출력 직접 실행 모드 비트(19-j-3)은 "1"로 되어 있으므로, 신호선(103)을 통하여 OSi로부터 입출력 명령이 직접 실행된다.
입출력 직접 실행 모드의 입출력 장치(10-j)의 입출력 인터럽션이 하드웨어에 존재하고, PSW(13)의 1비트의 (20)이 "1"이며, 또한 입출력 장치(10-j)에 대응하는 입출력 장치 VM용 필드(19-j)의 실 서브 클래스 필드(19-j-2)에 의해 지정되는 제어 레지스터(14)의 비트가 "1"일 때 입출력 인터럽션이 발생한다. 인터럽트 회로(7)과 인터럽트 마이크로 프로그램(8)은 신호선(105)에 의해 입출력 장치(10-j)의 입출력 장치 필드(18-j)의 입출력 직접 실행 모드 비트(19-j-3)의 값을 조사한다. 이 값은 "1" 로 되어 있으므로, 입출력 인터럽션을 발생하고, 인터럽션 정보를 VM의 PSA(2-i)에 저장한다.
OSi의 아키택쳐에 의해 VM의 PSA에 반영하는 인터럽션의 정보가 변한다. 이로인해, 입출력 장치 필드(18-j)에는 입출력 장치(10-j)를 점유하는 OSi의 아키택쳐를 식별하는 정보가 들어가 있으며, 인터럽트회로(7)과 인터럽트 마이크로 프로그램(8) OSi의 아키택쳐에 있어서의 입출력의 인터럽션 정보를 VMi의 PSA(2-i)에 저장한다.
다음에, 입출력장치(10-j)가 입출력 직접 실행 모드인가 아닌가를 저정하는 입출력 직접 실행 모드 비트(19-j-3)을 변환하기 위하여 본 발명에 의해 마련된 명령 A에 대해서 설명한다. 제 9 도에 명령 A의 구조를 도시한다.
제 9 도에 도시한 것과 같이 명령 A은 소위 S형식의 명령이다. 제 2 오퍼랜드 어드레스(D2/D2)는 명령의 대상으로 되는 입출력 장치(10-j)를 지정하는 입출력 장치 번호, 이 입출력 장치를 직접 실행의 대상으로 하는 VM을 식별하기 위한 VM번호, 이 VM의 아키택쳐를 지정하는 아키택쳐 식별 번호 및 그 입출력 장치에 입출력 직접 실행 모드를 지정하는가 비 입출력 직접 실행 모드를 지정하는가를 지정하는 모드 비트를 저장하는 필드 어드레스이다.
명령 A을 발행하면, 신호선(100)을 통해서 명령 레지스터(4)에 신호가 보내져 신호선(101)에 의해 명령 A의 기동신호가 명령 실행 회로(5)로 보내진다. 명령 실행 회로(5)와 명령 실행 마이크로 프로그램(6)은 신호선(102)에 의해 특정한 범용 레지스터로 표시되는 입출력 장치 번호에 대응하는 입출력 장치 필드(18-j)에 범용 레지스터의 제 2 오퍼랜드 어드레스(B2/B2)로 지정된 VM번호, 모드 비트, 아키택쳐 식별 번호를 각각 VM번호 필드(19-j-1), 입출력 직접 실행 모드 비트(19-j-3), 아키택쳐 번호 필드(19-j-4)에 저장한다.
VMCP가 입출력 시뮬레이션 모드의 입출력 장치를 입출력 실행 모드로 이행시키는 것은 다음과 같이 하면 좋다. 우선, 모드 이행을 요구하는 입출력 장치를 식별하기 위하여 해당하는 입출력 장치(10-j)에 대응하는 가상 입출력 장치 제어 블럭(15-i-r)내의 가상 상태 필드(15-i-r-1)(제 8 도 참조)의 비트 f를 "1" 로 설정한다.
이 가상 상태 필드(15-i-r-1)의 비트 f가 "1"인 가상 입출력 제어블럭(15-i-r)에 대응하는 입출력 장치(10-j)가 다음의 다섯가지 조건을 전부 만족하는 시점에서 입출력 장치(10-j)를 직접 사용하는 VMi에 의해 입출력 장치(10-j)가 아직 점유되어 있지 않을 때 VMCP는 실 상태 필드(16-j-2)의 비트 e를 "1"로 설정함과 동시에, 점유원 VM 식별 필드에 VMi의 식별 정보를 설정한다. 또, 입출력 장치 VM 필드(19-j)의 실 서브클래스 번호 필드(19-j-2)로 지정된 서브 클래스를 VMj가 점유하고 있지 않으면, VMi는 것을 점유한다. 이 서브 클래스의 점유에 대해서는 다음에 기술한다. 그리고, 명령 A에 의해 해당 입출력 장치(10-j)를 입출력 직접 실행 모드로 할 수가 있다.
또, 다음에 VMi를 주행시키는 경우에는 VMi가 점유하는 입출력 직접 실행 모드의 입출력 장치에 대응하는 인트럽션 서브 클래스를 갖는 제어 레지스터(14)의 비트를 대응하는 VMi의 가상 제어 레지스터(14-i)의 값에 일치시킨다. 또, PSW(13)의 I비트(20)의 값도 VPSW(13-i)의 I비트의 값에 일치시킨다.
입출력 직접 실행모드로 이행할려면,
다음의 다섯가지 조건을 만족하지 않으면 아니된다.
(i) 다음에, VMi상의 OSi로 제어를 이동시켰을 때, VMCP는 입출력 장치(10-j)에 대응하는 실 입출력장치 제어 블럭(16-j)내에 입출력 명령 실행 요구 큐를 갖지 않는다.
(ii) 입출력 직접 실행 모드로 이행할려고 하는 입출력 장치에 대응하는 VMI의 가상 입출력 장치 제어블럭(15-i-r)는 입출력 인터럽션 보류를 갖지 않는다.
(iii) 입출력 직접 실행 모드로 이행할려고 하는 입출력 장치에 대해서 VMCP 및 VMi이외의 VM은 입출력 실행중은 아니며 또한 입출력 인터럽션 보류중이 아니다.
(iv) 입출력 직접 실행모드로 이행할려고 하는 입출력 장치에 관련하는 입출력 인터럽션을 제어하는 입출력 인터럽션 서브 클래스는 VMi가 점유하고 있던가 또는 점유가 가능하다.
(v) 입출력 직접 실행 모드로 이행할려고 하는 입출력 장치를 VMi는 점유하고 있던가 또는 점유가 가능하다.
상기의 다섯가지 조건의 필요성과 VMCP에 의한 판정 방법에 대해서 기술한다.
(i) 입출력 장치(10-j)가 입출력 직접 실행 모드로 이행한 후, VMCP 또는 VMi 이외의 입출력 명령 실행 요구가 있으면, 큐잉되어 있던 VMCP 또는 VMI이외의 VM의 요구를 입출력 실행중에 VMi가 입출력 동작에 영향을 주는 입출력 명령을 발행하여 VMCP 또는 다른 VM의 입출력제어를 혼란시킬 가능성이 있다.
또, VMi의 입출력 명령 실행 요구가 존재할 때, VMi가 실 입출력 장치 제어 블럭(16-j)에 큐잉된 입출력 명령 실행 요구에 영향을 주는 명령을 발행하여도 명령이 직접 실행되므로, 입출력 명령 요구에 영향을 줄 수가 없다. 이로 인해, VMi의 입출력 제어상의 혼란을 일으킬 가능성이 있다.
VMCP에 의한 판정 방법으로서는 해당하는 입출력 장치에 대응하는 실 입출력 장치 제어 블럭(16-j)의 선두 어드레스와 입출력 실행 요구 포인터(16-j)의 값이 동일한가 아닌가를 조사하면 좋다. 그 값이 같을 경우, VMCP는 해당하는 실 입출력 장치 제어블럭(16-j)내에 입출력 명령 실행 요구를 갖지 않는다.
(ii) VMi의 입출력 인터럽션 보류가 대응하는 가상 입출력 장치 제어 블럭(15-i-r)에 있는 상태에서 입출력 직접 실행 모드로 이행한다. OSi가 해당 입출력 장치(10-j)에 대해서 입출력 명령을 발행할 경우, 원래는 입출력 인터럽션 보류중인 입출력 장치에 입출력 명령을 발행한 경우와 같은 동작을 명령 실행 회로(5), 명령 실행 마이크로 프로그램(6) 및 입출력 장치군(9)로 행하지 않으면 아니된다. 그러나, 하드 웨어로 부터의 입출력인터럽션은 이미 발생하고 있으므로, 명령 실행 회로(5), 명령 실행 마이크로 프로그램(6) 및 입출력 장치군(9)에 의해 본래 취할 수가 없었든 동작이 행하여져 OSi의 입출력 제어에 혼란을 일으킬 가능성이 있다. VMCP에 의한 판정 방법으로서는 가상 상태 필드(15-i-r-1)의 f비트가 "1", g비트가 "0"일때는 VMCP의 의한 입출력 인터럽션 보류는 없다.
(iii) VMCP 또는 다른 VM이 입출력 신호중 또는 입출력 인터럽션 보류중에 입출력 장치(10-j)를 입출력 직접 실행 모드로 이행한다. OSi가 이 입출력 장치(10-j)에 대해서 입출력 명령을 발행하면, 명령의 졸류에 의해 입출력 동작을 정지시키던가 보류중의 입출력 인터럽션을 해제할 가능성이 있다. 이로 인해, VMCP 또는 다른 VM의 입출력이 혼란을 가져올 가능성이 있다.
VMCP의 판정 방법으로서는 실 입출력 장치 제어 블럭(16-j)의 실상태 필드(16-j-2)의 b비드가 "1"이면 VMCP의 입출력 실행 중이거나 입출력 인터럽션 보류중이다. 또, 실상태 필드(16-j-2)의 a 비트가 "1"이면, 입출력 실행중 포인터(16-j-3)에 의해 지정된 실행 요구내의 VM 식별 정보에 의해 다른 VM의 입출력 실행중, 또는 입출력 인터럽션 보류중인가, 아닌가를 판정할 수 있다.
OSi가 입출력 장치(10-j)에 대해서 입출력 동작을 실행중이거나 입출력 인터럽션이 보류중이면, 모드의 이행이 가능하다. 이 경우, 사용중이라는 것을 표시하는 실 입출력 장치 제어 블럭(16-j)내의 실 상태 필드(16-j-2)의 a 비트가 "0"으로 리세트되고, 입출력 실행중 포인터(16-j-3)에 저장된 어드레스를 갖는 입출력 명령 실행 요구의 영역이 클리어 된다.
(iv) 입출력 인터럽션을 직접 실행하기 위해서는 VMi가 입출력 인터럽션이 가능, 즉 VPSW(13-j)의 I비트가 "1"이고, 제어 레지스터(14-i)의 입출력 장치에 대응하는 비트가 "1" 일 때에만 인터럽션이 가능하게 하지 않으면 아니된다. 또, 입출력 동작은 CPU와 비동기로 실행되므로, VMi가 주행중이 아닐때에도 서브 클래스의 비트의 값은 VPSW(13-i)의 I비트 및 제어 레지스터(14-i)의 해당 비트의 값에 따르던가 또는 입출력 인터럽션이 불가능한 상태로 하지 않으면 아니된다. 따라서, 입출력 직접 실행 모드로 이행할려고 하는 입출력 장치에 관련하는 입출력 인터럽션 서브 클래스를 입출력 직접 실행 모드에서는 VMi가 점유할 필요가 있다. 따라서, 해당하는 서브 클래스를 VMi가 점유하고 있던가 점유가 가능하지 않으면 안된다.
VMCP에 의한 판정 방법은 다음과 같다. 우선, 주기억 장치(1)위에 점유 서브 클래스 필드(22)와 각 VMi의 점유 서브 클래스 필드(24-i)를 마련한다. 서브 클래스 번호 변환표(23-i)는 OSi가 의식하는 가상 서브 클래스 번호와 하드 웨어가 의식하는 실 서브 클래스와의 대응을 표시한다. 어떤 실 서브 클래스 Mq를 VMi가 점유할려면, 다른 Vm의 서브 클래스 번호 변환표(23-i)에 있어서 Mq에 대응할 수 있는 가상 서브 클래스가 존재하지 않는 것이 필요한 조건이다. 실 서브 클래스를 점유하는 경우에는 점유 서브 클래스 필드(22)와 VMi의 점유 서브 클래스 필드(24-i)의 해당 비트를 "1"로 한다. VMi가 입출력 장치(10-j)를 입출력 직접 실행 모드로 이행하려면, 서브 클래스 표시 필드(15-i-r-2)로 표시되는 실 서브 클래스가 VMi가 점유 서브 클래스 필드(24-i)에 의해 점유되고 있다고 판정되고, 또는 다른 VM의 서브 클래스 변환표(23-i)에 있어서 실 서브 클래스 번호에 대응하고 있는 가상 서브 클래스가 없고, 해당 실 서브 클래스를 점유 가능으로 판정되지 않으면 아니된다.
그러나, 서브 클래스 표시 필드(15-i-r-2)에는 가상 서브 클래스 번호와 실 서브 클래스 번호가 저장 되어 있다. 실 서브 클래스 번호는 서브 클래스 번호 변환표(23-i)에 의한 가상 서브 클래스를 변환한 결과가 얻어진다. 또, VMi의 입출력 실행 중에는 서브 클래스 표시 필드(15-i-r-2)의 실 서브 클래스 번호가 대응하는 입출력 장치 필드(18-j)의 실 서브 클래스 번호 필드(19-j-2)에 설정되어 입출력 인터럽션의 제어가 실행된다.
(v) 입출력 직접 실행 모드로 이행한 후는 해당 입출력 장치의 입출력 제어는 전부 VMi상의 OSi에 위임되어 VMCP는 입출력 관리 정보를 갖지 않는다. 따라서, 다른 VM은 입출력 장치에 입출력 명령을 발행할 수 없다. 실 상태 필드(16-j-2)의 O비트가 "1"일 때, 입출력 장치(10-j)는 점유원 VM식별 필드(16-j-4)로 표시된 VM에 점유되어 있는 것을 나타낸다. VMCP는 어떤 VMi에 입출력 장치(10-j)를 점유시키는 경우, 실 상태 필드(16-j-2)의 e비트를 "1"로 함과 동시에, 점유원 VM식별 필드(16-j-4)에 VMi에 의한 점유를 나타내는 VMi에 고유인 정보를 설정한다.
VMCP에 의한 판정방법으로서는 VMi가 이미 입출력 장치(10-j)를 점유하고 있으면, 실 상태 필드(16-j-2)의 e비트가 "1"로 세트되고, 점유원 VM식별 필드(16-j-4)에 VMi에 의한 점유를 나타내는 VMi에 고유인 정보가 설정되어 있다. 또, 다음의 세가지 조건을 만족하면 VMi는 그 입출력 장치(10-j)를 점유 가능하다.
(i) 다른 VM에 입출력 장치(10-j)가 점유되지 않았다.
(ii) 다른 VM의 입출력 명령 요구를 실 입출력 장치 제어 블럭(16-j)에 갖지 않았다.
(iii) 다른 VM은 입출력 장치(10-j)에서 입출력 실행중이 아니며, 또한 입출력 인터럽션 보류 중이 아니다.
점유를 가능하게 하려면 상기 세가지 조건을 만족하지 않으면 아니되는 이유는 이미 기술한 입출력 직접 실행 모드로의 이행 조건과 마찬가지로 다른 VM의 입출력 제어에 혼란을 일으키기 때문이다.
다음에, 입출력 직접 실행 모드의 입출력 장치를 시뮬레이션 모드로 이행시키는 경우의 처리에 대한 세가지 방법을 기술한다.
첫번째의 방법에서는 입출력 시뮬레이션 모드로의 이행요구가 있었을 경우, 우선 입출력 장치(10-j)에 대해서 입출력 장치의 상태를 조사하도록 STSCH명령이 발행된다.
명령 실행 회로(5)와 명령 실행 마크크로 프로그램(6)은 신호선(102)를 통해서 소프트 웨에 마이크로 프로그램 사이의 인터페이스부(17)의 입출력 장치 필드(18-j)에 저장되어 입출력 장치의 상태를 프로그램에 의해 참조 가능한 주 기억 장치(1)상의 영역에 저장한다. VMCP는 STSCH명령에 의해 얻어진 입출력 장치의 상태에 따라 VMCP쪽 입출력 제어 정보를 설정한다. 예를 들면, 입출력 장치(10-j)가 입출력 실행중 또는 입출력 인터럽션 보류 중일때는 실제어 블럭(RBLOKS)(12)내의 실 입출력 장치 제어 블럭(16-j)내의 실 상태 필드(16-j-2)의 비트 a를 "1"로 한다. 또, 입출력 실행 요구를 작성하여 이 요구의 선두 어드레스를 입출력 실행중 포인터(16-j-3)에 설정한다. 이와 같이, 마치 이전에서부터 입출력 시뮬레이션 실행 모드였던 것과 같은 정보를 VMCP쪽에 갖게 한 다음에, 해당 입출력 장치 필드(18-j)에 입출력 직접 실행 모드 비트(19-j-3)을 명령A에 의해 "0"으로 하면, 그 입출력 장치(10-j)는 시뮬레이션 모드로 된다.
두번째 벙법에서는 입출력 직접 실행 모드에서 입출력 시뮬레이션 모드로 이행 요구가 있었을 경우, 우선모드 이행을 요구하는 입출력 장치의 실 입출력 장치 제어 블럭(16-j)의 실 상태 필드(16-j-2)의 c 비트를 "1"로 설정한다. 또 입출력 장치 필드(18-j)의 입출력 직접 실행 모드 비트(19-j-3)을 명령 A에 의해 "0"으로 리세트하고, 그 실 입출력 장치 제어 블럭(16-j)내의 실 상태 필드(16-j-2)의 d비트를 "1"로 설정한다. 그 d 비트가 "1"인 경우, OS 및 VMCP의 입출력 실행 요구는 전부 실 입출력 장치 제어 블럭(16-j)에 큐잉되어 실제로 입출력 명령이 발행되는 일은 없다. 이 사이에 VMCP는 해당 입출력 장치(10-j)에 관한 입출력 인터럽션의 처리를 실행한다. 이 입출력 인터럽션에 의해 VMCP는 STSCH 명령을 발행하여 그 입출력 장치에 관한 입출력이 전부 완료하였는가 아닌가를 판정한다. 전부 완료하였을 경우에는, 그 실 입출력 장치 제어 블럭(16-j)에 큐잉되어 있는 입출력 실행요구에 대한 서비스를 개시하기 위하여, 실상태 필드(16-j-2)의 d비트를 "0"으로 설정한다. 이 이후의 그 입출력 장치에 대한 입출력 제어는 VMCP가 개재하여 실행된다. 세번째 방법에서는 입출력 직접 실행 모드에서 입출력 시뮬레이션 모드로의 이행 요구가 있었을 경우, 해당하는 실 입출력 장치 제어 블럭(16-j)내의 실 상태 필드(16-j-2)의 c 비트 및 d비트를 "1"로 설정한다. 또, 입출력 필드(18-j)의 입출력 직접 실행 모드 비트(19-j-3)을 명령 A에 의해 "0"으로 한다. 또, 소정의 시간의 경과한 후에는 상기의 입출력 장치를 입출력 시뮬레이션 모드로 이행시키기 위하여 타이머 인터럽션 요구 블럭을 종래에서 VMCP가 가진 타이머 인터럽션 요구 큐에 등록한다. 타이머 인터럽션 요구 블럭에는 타이머 인터럽션을 발생시키는 시간과 인터럽션 후에 제어가 되는 VMCP의 프로그램의 어드레스가 등록되어 있다. 타이머 인터럽션이 일어날때까지의 사이에 VMCP에서는 해당 입출력 장치(10-j)에 관한 입출력 인터럽션의 처리를 실행한다.
일정 시간이 경과한 후, 상기의 타이머 인터럽션이 발생한 후, VMCP가 실행하는 처리는 다음과 같다. 우선 실 상태 필드(16-j-2)의 c의 비트가 "1"로 되어 있는 입출력 장치에 대해서 STSCH 명령을 발행한다. STSCH 명령에 의해 얻어진 입출력 장치의 상태에 따라 VMCP쪽의 입출력 제어 정보를 설정한다. 이것은 첫번째의 방법에서 기술한 것과 같이 처리이다, 이와 같이 하여 마치 이전부터 입출력 시뮬레이션 모드이었던것과 같은 정보를 VMCP에 갖게 한다. 또, 실 입출력 제어 블럭(16-j)에 큐잉되어 있는 입출력 명령 실행 요구에 대한 서비스를 개시하기 위하여 실 상태 필드(16-j-2)의 d비트를 "0"으로 설정한다. 그 이후, 이 입출력 장치에 대한 입출력 제어는 VMCP개 개재하여 실행된다.
이상과 같이 본 실시예에 있어서는 입출력 직접 실행을 실행하는 입출력 장치의 설정과 지정의 해제를 VM의 정지나 OS를 다시 고치는 일 없이 VM의 주행을 가능하게 할 수 있다. 또, VMCP가 입출력 직접실행 장치에 대해서 입출력 명령을 발행되는 일도 다음과 같이 가능하게 된다. VMCP가 입출력 직접 실행 모드의 입출력 장치에 대해서 입출력 명령의 발행을 요구하였을 때 입출력 장치를 입출력 시뮬레이션 모드로 이행시킨다. 이행 후, VMCP의 입출력 명령을 생활함과 동시에, 그 입출력 장치를 입출력 직접 실행 모드로 이행시키도록 요구한다. 이와 같이하면, VMCP의 입출력 명령 실행후에 해당 VM에 의해 점유된 입출력 장치의 입출력 환경이 정리된 시점에서 재차 입출력 직접 실행 모드를 설정하는 것이 가능하게 된다.
이상 설명한 바와 같이 본 발명에 의하면, VM에 의해 점유된 입출력 장치로 입출력 명령 및 이 명령에 관련하는 입출력 인터럽션을 VMCP가 관여하는 일 없이 하드 웨어에 의해 직접 실행하는 입출력 직접 실행 모드와 VMCP가 개재하여 입출력 시뮬레이션 실행 모드를 VM주행중에 전환이 가능하게 되어 효율적인 입출력 제어가 실현된다는 효과가 있다.

Claims (10)

  1. 가상 계산기 제어 프로그램(VMCP)의 제어하에서 1개의 계산기상에 다수의 오포레이팅 시스템(OS)을 주행시키고, 다수의 입출력 장치(10-j)와 상기 입출력 장치를 개시시키는 명령을 실행하고, 입출력 인터럽트를 실행하는 회로를 포함하며, (i) 1개의 주행 오퍼레이팅 시스템에 점유된 상기 다수의 입출력 장치중에서 제 1 의 입출력 장치의 개시를 요구하고, 상기 1개의 주행 오퍼레이팅 시스템에 점유된 인터럽션 레벨을 갖는 제 1 의 명령이, 상기 제 1 의 입출력 장치가 입출력 직접실행 모드로 있는 시간 동안에 발행될 때, 상기 회로가 상기 VMCP를 개재시키는 일 없이 상기 제 1 의 명령에 의해 지시된 입출력 동작을 실행하도록 상기 제 1 의 입출력 장치를 기동시키고, (ii) 입출력 인터럽트가 그후 상기 제 1 의 입출력 장치로부터 마련되었을 때 상기 회로가 상기 VMCP를 개재시키는 일 없이 상기 입출력 인터럽트를 실행하고, (iii) 상기 제 1 의 입출력 장치 이외의 제 2의 입출력 장치의 기동을 요구하는 제 2의 명령이 다른 하나의 주행 오퍼레이팅 시스템으로부터 발행되었을 때, 또는 상기 제 1 의 입출력 장치가 시뮬레이션 모드로 있는 시간 동안에 상기 1개의 주행 오퍼레이팅 시스템으로부터 상기 제 1 의 명령이 발행되었을 때, 상기 제 1 또는 제 2 의 명령의 시뮬레이션의 실행을 요구하도록 상기 회로가 명령 인터럽트에 의해 상기 VMCP를 마련하고, (iv) 입출력 인터럽트가 그후 상기 제 1 또는 제 2 의 입출력 장치로부터 발행되었을 때 상기 입출력 인터럽트의 시뮬레이션의 실행을 요구하도록 상기 회로는 상기 VMCP에 대해서 입출력 인터럽트를 마련하고, (v) 상기 회로에 의해 마련된 상기 입출력 인터럽트 또는 상기 명령 인터럽트에 응답해서 입출력 인터럽트의 시뮬레이션 또는 상기 제 1 또는 제 2의 명령의 시뮬레이션을 상기 VMCP가 실행하는 가상 계산기 시스템에 있어서, 상기 제 1 의 입출력 장치의 동작 모드를 시뮬레이션 모드에서 입출력 직접 실행 모드로 변환하고, (a) 상기 제 1 의 입출력 장치에 관련된 상기 VMCP의 시뮬레이션의 실행 상태와 상기 VMCP로부터 발행된 것과 같은 상기 제 1 의 입출력 장치에 관련된 입출력 개시 명령의 실행 상태를 검출하는 스텝과 (b) 상기 시뮬레이션의 상기 실행 생태와 상기 입출력 개시 명령의 상기 실행 상태가 소정의 모드 변환 조건을 만족하는가를 판정하고 , 상기 판정의 결과가 만족되었을 때 상기 제 1의 입출력 장치와 동작 모드와 같이 상기 회로에 대해서 상기 입출력 직접 실행 모드를 지시하는 스텝을 포함하는 입출력 제어 방법.
  2. 특허청구의 범위 제 1 항에 있어서, 상기 소정의 모드 변환 조건은 상기 시뮬레이션의 상기 실행 상태가 상기 제 1 의 입출력 장치의 상기 1개의 오퍼레이팅 시스템으로부터 발행된 입출력 개시 명령의 시뮬레이션과 상기 회로에 의해 마련된 입출력 인터럽트의 시뮬레이션이 상기 VMCP에 의한 실행중이 아닌 것을 나타내고 입출력 개시명령의 상기 실행 상태가, 상기 VMCP가 시뮬레이션 이외의 목적을 위해서 입출력 개시 명령을 발행하는 상태에 있지 않은 것과 상기 VMCP가 상기 발행된 입출력 개시 명령의 완료를 나타내는 입출력 인터럽트를 아직 받지 않은 것을 나타내는 것을 표시하는 입출력 제어방법.
  3. 특허청구의 범위 제 2 항에 있어서, 상기 스텝(b)에서 실행된 상기 동작은 상기 회로에 대해서 상기 제1의 입출력 장치의 입출력 직접 실행 모드를 나타내도록, 입출력 직접 실행 모드를 나타내는 신호를 상기 가상 계산기 시스템의 주기억 장치(1)내의 상기 회로에 의해 접근 가능한 소정의 기억 영역으로 라이트하는 스텝을 포함하는 입출력 제어 방법.
  4. 가상 계산기 제어 프로그램(VMCP)의 제어하에서 1개의 계산기상에 다수의 오퍼레이팅 시스템을 주행시키고, 다수의 입출력 장치와 상기 입출력 장치를 개시시키는 명령을 실행하고, 입출력 인트럽트를 실행하는 회로를 포함하며, (i) 1개의 주행 오퍼레이팅 시스템에 점유된 상기 다수의 입출력 장치중에서 제 1 의 입출력 장치의 개시를 요구하고, 상기 1개의 주행 오퍼레이팅 시스템에 점유된 인터럽션 레벨을 갖는 제 1 의 명령이, 상기 제 1 의 입출력 장치가 입출력 직접 실행 모드로 있는 시간 동안에 발행될 때 상기 회로가 상기 VMCP를 개재시키는 일 없이 상기 제 1 의 명령에 의해 지시된 입출력 동작을 실행하도록 상기 제 1의 입출력 장치를 기동시키고, (ii) 입출력 인터럽트가 그후 상기 제 1의 입출력 장치로부터 마련되었을 때 상기 회로가 상기 VMCP를 개재시키는 일 없이 상기 입출력 인터럽트를 실행하고, (iii) 상기 제 1의 입출력 장치 이외의 제 2 의 입출력 장치의 기동을 요구하는 제 2 의 명령이 다른 하나의 주행 오퍼레이팅 시스템으로부터 발행되었을 때 상기 제 1 의 입출력 장치가 시뮬레이션 모드로 있는 시간 동안에 상기 1개의 주행 오퍼레이팅 시스템으로부터 상기 제 1 의 명령이 발생되었을 때 상기 제 1 또는 제 2 의 명령의 시뮬레이션의 실행을 요구하도록 상기 회로가 명령 인터럽트 의해 상기 VMCP를 마련하고, (iv) 입출력 인터럽트가 그후 상기 제 1 또는 제 2 의 입출력 장치로부터 발행되었을 때 상기 입출력 인터럽트의 시뮬레이션의 실행을 요구하도록 상기 회로는 상기 VMCP에 대해서 입출력 인터럽트를 마련하고, (v) 상기 회로에 의해 마련된 상기 입출력 인터럽트 또는 상기 명령 인터럽트에 응답해서 입출력 인터럽트의 시뮬레이션 또는 상기 제 1 또는 제 2의 명령의 시뮬레이션을 상기 VMCP가 실행하는 가상 계산기 시스템에 있어서, 상기 제 1 의 입출력 장치의 동작 모드로 시뮬레이션 모드에서 입출력 직접 실행 모드로 변환하고, (a) 상기 회로에 대해서 상기 제 1 의 입출력 장치의 시뮬레이션 모드를 지시한 후에 상기 제 1의 입출력 장치의 실행 상태를 검출하는 스텝과 (b) 상기 스텝(a)후에 상기 회로로부터 발행된 상기 제 1 의 입출력 장치에 관련된 명령 인터럽트에 응답해서 상기 검출 스텝의 결과에 관계없이 명령 인터럽트에 의해 지정된 오퍼레이팅 시스템으로부터 발행된 입출력 장치 개시명령의 시뮬레이션을 실행하는 스텝을 포함하는 입출력 제어 방법.
  5. 특허청구의 범위 제 4 항에 있어서, 상기 스텝(a) 또는 상기 회로에 대해서 상기 제 1의 입출력장치의 상기 시뮬레이션 모드를 지시하도록 상기 가상 계산기의 시스템의 주 기억 장치의 기억 영역중에서 상시 회로에 의해 접근 가능한 소정의 기억 영역으로 시뮬레이션 모드를 지시하는 신호를 라이트하는 스텝을 포함하는 입출력 제어방법.
  6. 특허청구의 범위 제 4 항에 있어서, 상기 스텝(a)는 또 상기 제 1의 입출력 장치의 상기 실행 상태를 검출하도록 상기 회로에 의해 상기 가상 계산기 시스템의 주 기억 장치내에 라이트된 상기 제 1 의 입출력장치의 실행 상태를 나타내는 정보를 리드하는 스텝을 포함하는 입출력 제어 방법.
  7. 특허청구의 범위 제 4 항에 있어서, 상기 시뮬레이션 처리를 실행하는 상기 스텝은 상기 제 1의 입출력 장치의 실행 상태를 검출하는 상기 스텝이 상기 입출력 동작을 개시시키는 시간에서 입출력 동작의 완료를 나타내는 입출력 인터럽트를 상기 회로가 아직 발행하지 않은 시간까지 상기 제 1 의 입출력 장치가 고유실행 상태하에 있지 않는 것을 나타낼 때, 상기 1개의 오퍼레이팅 시스템으로부터 상기 입출력 개시 명령에 대응하는 입출력 개시 명령을 발행하는 스텝을 포함하는 입출력 제어방법.
  8. 특허청구의 범위 제 7 항에 있어서, 상기 시뮬레이션 처리를 실행하는 상기 스텝은 상기 제 1의 입출력 장치의 실행 상태를 검출하는 상기 스텝이 상기 제 1 의 입출력 장치가 상기 고유 실행 상태하에 있는 것을 나타낼 때, 상기 제 1 의 입출력 장치가 상기 1개의 오퍼레이팅 시스템과 작동중인 것을 나타내는 스텝을 포함하는 입출력 제어 방법.
  9. 특허청구 범위 제 7 항에 있어서, 상기 제 1의 입출력 장치가 상기 고유 실행인 것을 상기 스텝(a)가 나타낼 때, 또 (c) 상기 회로가 상기 VMCP에 대해서 입출력 동작의 완료를 나타내는 상기 입출력 인터럽트를 발행할 때까지 상기 명령 인터럽트를 지연시키는 스텝, (d) 입출력 동작의 완료를 나타내는 상기 입출력 인터럽트가 입출력 동작의 완료를 나타내는 상기 입출력 인터럽트의 출력에 응답해서 상기 지연된 명령 인터럽트에 의해 지정된 상기 입출력 개시명령을 갖는 상기 1개의 오퍼레이팅 시스템에 대해서 지연된 것을 나타내는 스텝과 (e) 입출력 동작의 완료를 나타내는 상기 입출력 인터럽트의 시뮬레이션처리를 실행하는 스텝을 포함하는 입출력 제어 방법.
  10. 특허청구의 범위 제 9항에 있어서, 또 (f) 상기 시뮬레이션 모드를 나타내는 시간으로부터 경과된 시간을 측정하는 스텝과, (g) 상기 입출력 동작의 완료를 나타내는 상기 입출력 인터럽트가 소정의 시간내에 나타나지 않으면 상기스텝 (d)를 금지시키고, 상기 제 1의 입출력 장치가 상기 1개의 오퍼레이팅 시스템과 작동중인 것을 나타내는 스텝을 포함하는 입출력 제어방법.
KR1019860006273A 1985-07-31 1986-07-30 가상 계산기 시스템의 입출력 제어방법 KR930008265B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP60170430A JPH0792761B2 (ja) 1985-07-31 1985-07-31 仮想計算機システムの入出力制御方法
JP60-170430 1985-07-31

Publications (2)

Publication Number Publication Date
KR870001510A KR870001510A (ko) 1987-03-14
KR930008265B1 true KR930008265B1 (ko) 1993-08-27

Family

ID=15904768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019860006273A KR930008265B1 (ko) 1985-07-31 1986-07-30 가상 계산기 시스템의 입출력 제어방법

Country Status (6)

Country Link
US (1) US4887202A (ko)
EP (1) EP0210640B1 (ko)
JP (1) JPH0792761B2 (ko)
KR (1) KR930008265B1 (ko)
CN (1) CN1007938B (ko)
DE (1) DE3687805T2 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JP2535609B2 (ja) * 1989-02-07 1996-09-18 富士通株式会社 計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
EP0419723B1 (de) * 1989-09-29 1995-01-11 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren und Unterbrechungssteuerung zur Behandlung von Unterbrechungsanforderungen bei Ein-/Ausgabeoperationen in einem virtuellen Maschinensystem
US5283900A (en) * 1989-10-02 1994-02-01 Spectron Microsystems, Inc. Real-time operating system and virtual digital signal processor for the control of a digital signal processor
DE69132300T2 (de) * 1990-03-12 2000-11-30 Hewlett Packard Co Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
EP0503092B1 (en) * 1990-10-03 1998-01-07 Fujitsu Limited System for controlling issue of input/output instruction in data processing system
JP3093293B2 (ja) * 1991-02-08 2000-10-03 日本電気株式会社 情報処理装置の割り込み方式
US5291599A (en) * 1991-08-08 1994-03-01 International Business Machines Corporation Dispatcher switch for a partitioner
JP2677474B2 (ja) * 1992-01-14 1997-11-17 富士通株式会社 仮想計算機の制御情報収集装置および方法
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
GB9311935D0 (en) * 1993-06-09 1993-07-28 Madge Networks Ltd Processor
US6055559A (en) * 1994-03-07 2000-04-25 Fujitsu Limited Process switch control apparatus and a process control method
US5603059A (en) * 1994-04-22 1997-02-11 Pitney Bowes Inc. Software architecture system having a virtual I/O channel including multi-layered communication interface in between virtual stations and physical modules
US5799169A (en) * 1995-10-02 1998-08-25 Chromatic Research, Inc. Emulated registers
US6067527A (en) * 1995-10-12 2000-05-23 Gilbarco, Inc. Point of sale system, method of operation thereof and programming for control thereof
US5925109A (en) * 1996-04-10 1999-07-20 National Instruments Corporation System for I/O management where I/O operations are determined to be direct or indirect based on hardware coupling manners and/or program privilege modes
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
AU2001267719C1 (en) * 2000-07-05 2008-04-10 Ernst & Young Llp Method and apparatus for providing computer services
JP2002132518A (ja) * 2000-10-25 2002-05-10 Fujitsu Ltd 仮想計算機システムおよび仮想計算機間の入出力装置交換方法
JP4091792B2 (ja) * 2002-05-17 2008-05-28 株式会社エヌ・ティ・ティ・ドコモ 電子機器、イベント提供方法、プログラム、及び記録媒体
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
CN100335997C (zh) * 2004-01-14 2007-09-05 威达电股份有限公司 多个输入/输出装置的切换控制系统及其方法
US7454756B2 (en) * 2004-03-05 2008-11-18 Intel Corporation Method, apparatus and system for seamlessly sharing devices amongst virtual machines
US7725895B2 (en) * 2004-03-31 2010-05-25 Intel Corporation Processor control register virtualization to minimize virtual machine exits
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
CN101359313B (zh) * 2006-01-17 2010-04-14 株式会社Ntt都科摩 输入输出控制系统
CN100454278C (zh) * 2006-01-19 2009-01-21 联想(北京)有限公司 计算机系统及其i/o端口访问控制方法
JP5010164B2 (ja) * 2006-03-31 2012-08-29 株式会社日立製作所 サーバ装置及び仮想計算機の制御プログラム
CN100464295C (zh) * 2006-05-17 2009-02-25 联想(北京)有限公司 一种基于虚拟机的安全输入方法
JP4295783B2 (ja) * 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
US7478185B2 (en) * 2007-01-05 2009-01-13 International Business Machines Corporation Directly initiating by external adapters the setting of interruption initiatives
JP5018252B2 (ja) * 2007-06-06 2012-09-05 株式会社日立製作所 デバイス割り当て変更方法
US8151265B2 (en) * 2007-12-19 2012-04-03 International Business Machines Corporation Apparatus for and method for real-time optimization of virtual machine input/output performance
JP5172009B2 (ja) 2009-03-31 2013-03-27 三菱電機株式会社 実行順序決定装置
US20120179901A1 (en) * 2009-10-01 2012-07-12 Mitsubishi Electric Corporation Computer apparatus
US8402461B2 (en) * 2009-11-15 2013-03-19 Hewlett-Packard Development Company, L. P. Switching between direct mode and indirect mode for virtual machine I/O requests
JP2011118578A (ja) * 2009-12-02 2011-06-16 Renesas Electronics Corp 情報処理装置
US8646028B2 (en) 2009-12-14 2014-02-04 Citrix Systems, Inc. Methods and systems for allocating a USB device to a trusted virtual machine or a non-trusted virtual machine
EP2513789B1 (en) 2009-12-14 2019-10-23 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
US20120167082A1 (en) * 2010-12-23 2012-06-28 Sanjay Kumar Direct sharing of smart devices through virtualization
US9760511B2 (en) * 2014-10-08 2017-09-12 International Business Machines Corporation Efficient interruption routing for a multithreaded processor
US11042494B1 (en) * 2018-06-21 2021-06-22 Amazon Technologies, Inc. Direct injection of a virtual interrupt
US11115324B2 (en) 2019-08-27 2021-09-07 Nokia Solutions Networks Oy System and method for performing segment routing over an MPLS network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6049352B2 (ja) * 1978-02-13 1985-11-01 株式会社日立製作所 デ−タ処理装置
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
US4533996A (en) * 1982-02-23 1985-08-06 International Business Machines Corporation Peripheral systems accommodation of guest operating systems
EP0072107B1 (en) * 1981-08-03 1989-05-31 International Business Machines Corporation Peripheral sub-systems accommodating guest operating systems
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
JPH0619747B2 (ja) * 1984-01-18 1994-03-16 株式会社日立製作所 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
JPS60159948A (ja) * 1984-01-30 1985-08-21 Nec Corp 命令例外処理方式
JPS60225944A (ja) * 1984-04-25 1985-11-11 Hitachi Ltd 仮想計算機システム
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
JPH07110406B2 (ja) * 1992-02-14 1995-11-29 正利 横木 耐磨耗性金属材およびその製造方法
JP3069435B2 (ja) * 1992-06-25 2000-07-24 松下電工株式会社 アンテナ線引込装置の引込み線の接続構造

Also Published As

Publication number Publication date
EP0210640B1 (en) 1993-02-24
JPH0792761B2 (ja) 1995-10-09
CN86105553A (zh) 1987-07-15
DE3687805T2 (de) 1993-06-09
DE3687805D1 (de) 1993-04-01
EP0210640A3 (en) 1989-06-21
JPS6231437A (ja) 1987-02-10
US4887202A (en) 1989-12-12
CN1007938B (zh) 1990-05-09
EP0210640A2 (en) 1987-02-04
KR870001510A (ko) 1987-03-14

Similar Documents

Publication Publication Date Title
KR930008265B1 (ko) 가상 계산기 시스템의 입출력 제어방법
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
US5511217A (en) Computer system of virtual machines sharing a vector processor
EP0093267B1 (en) Method for switching the control of central processing units in a data processing system, and apparatus for initiating the switching of cpu control
EP0150039B1 (en) I/o execution method for a virtual machine system and system therefor
EP1766518B1 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
US8893122B2 (en) Virtual computer system and a method of controlling a virtual computer system on movement of a virtual computer
JPH06187178A (ja) 仮想計算機システムの入出力割込み制御方法
JPS6258341A (ja) 入出力割込処理方式
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPS6049352B2 (ja) デ−タ処理装置
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPS603229B2 (ja) 情報処理方式
JPH0552535B2 (ko)
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0219937A (ja) 電子計算機システム
JPH03188530A (ja) プログラム先取り装置
JPH03142532A (ja) 計算機システムの入出力実行装置
JPS60263238A (ja) 情報処理装置
JPS61240333A (ja) 入出力割込処理方式
JP2587451B2 (ja) 仮想計算機システムにおける入出力制御方式
JPH02146634A (ja) 仮想計算機システムにおける割込み制御方式
JP2899009B2 (ja) 情報処理装置
JPS60225944A (ja) 仮想計算機システム
JPH06242975A (ja) 多重情報処理システムの仮想計算機ディスパッチ方式

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19971223

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee