KR20060052086A - 정보 처리 시스템 및 정보 처리 방법과 프로그램 - Google Patents

정보 처리 시스템 및 정보 처리 방법과 프로그램 Download PDF

Info

Publication number
KR20060052086A
KR20060052086A KR1020050094153A KR20050094153A KR20060052086A KR 20060052086 A KR20060052086 A KR 20060052086A KR 1020050094153 A KR1020050094153 A KR 1020050094153A KR 20050094153 A KR20050094153 A KR 20050094153A KR 20060052086 A KR20060052086 A KR 20060052086A
Authority
KR
South Korea
Prior art keywords
operating system
executed
state
management application
management
Prior art date
Application number
KR1020050094153A
Other languages
English (en)
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 KR20060052086A publication Critical patent/KR20060052086A/ko

Links

Images

Classifications

    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)

Abstract

관리 OS를 이용하여 게스트 OS의 처리를 관리해서, 소비 전력을 저감한다.
게스트 OS 관리 제어부(61)는 논리 구획표 관리부(62)에 의해 관리되는 논리 구획표, 정지(停止) 후보 리스트 작성부(63)에 의해 작성되고, 정지 후보 리스트 기억 제어부(64)에 의해 기억되는 정지 후보 리스트 및 인터럽트(割入: interrupt) 처리부(65)에 의한 인터럽트에 의거해서, 게스트 OS(52)의 동작을 제어함과 동시에, 게스트 OS(52)의 어느것인가로부터 소비 전력을 삭감하기 위한 동작 상태의 천이(遷移: change) 요구를 받은 경우, 논리 구획표, 모듈 정보표 및 정지 후보 리스트를 기초로, 천이 요구를 한 게스트 OS의 처리를 실행하는 논리 구획에 할당된 리소스(resource)가 다른 논리 구획과 공용(共用)되고 있는지 여부를 검출하고, 필요에 따라서 전원(電源) 제어부(66) 및 클럭 공급 제어부(67)에 의해, 전원 공급 또는 공급되는 클럭 주파수를 제어시킨다. 본 발명은 계산기 시스템에 적용할 수가 있다.
계산기 시스템, 메모리 제어 모듈, 관리 OS, 게스트 OS, 논리 구획표 관리부, 정지 후보 리스트 작성부, 정지 후보 리스트 기억 제어부.

Description

정보 처리 시스템 및 정보 처리 방법과 프로그램{INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM}
도 1은 본 발명을 적용한 계산기 시스템의 구성을 도시하는 블록도,
도 2는 물리 OS와 게스트 OS에 대해서 설명하기 위한 도면,
도 3은 물리 메모리 공간의 할당에 대해서 설명하기 위한 도면,
도 4는 관리 OS와 게스트 OS의 다른 할당예에 대해서 설명하기 위한 도면,
도 5는 관리 OS가 논리 분할을 행하고, 게스트 OS가 기동(起動)된 경우에 실행되는 기능에 대해서 설명하는 기능 블록도,
도 6은 논리 구획표에 대해서 설명하기 위한 도면,
도 7은 물리 메모리 공간과 논리 메모리 공간에 대해서 설명하기 위한 도면,
도 8은 모듈 정보표에 대해서 설명하기 위한 도면,
도 9는 메모리 구성표에 대해서 설명하기 위한 도면,
도 10은 정지(停止) 후보 리스트에 대해서 설명하기 위한 도면,
도 11은 정지 후보 리스트 작성 처리 1에 대해서 설명하기 위한 플로차트,
도 12는 논리 구간 LPAR/0에서 게스트 OS가 실행되고, 클럭 주파수를 내리는 동작 상태의 천이(遷移: change) 요구가 이루어진 경우의 처리에 대해서 설명하기 위한 플로차트,
도 13은 다른 게스트 OS가 일시 정지중인 게스트 OS의 실행 재개(再開)를 관리 OS에 요구하는 Hypervisor 호출(呼出: calling)을 행하는 경우의 처리에 대해서 설명하기 위한 플로차트,
도 14는 동작 상태 제어 처리에 대해서 설명하기 위한 플로차트,
도 15는 동작 상태 천이 처리 1에 대해서 설명하기 위한 플로차트,
도 16은 동작 상태 천이 처리 2에 대해서 설명하기 위한 플로차트.
<부호의 설명>
1: 계산기 시스템, 11: CPU, 13: 메모리 제어 모듈, 14: 메모리 모듈, 16: 관리 OS용 타이머, 17: 유저(user) 타이머, 18: 입출력 모듈, 19: 전원(電源) 모듈, 20: 클럭 공급 모듈, 22: HDD,  51: 관리 OS, 52: 게스트 OS, 61: 게스트 OS 관리 제어부, 62: 논리 구획표 관리부, 63: 정지 후보 리스트 작성부, 64: 정지 후보 리스트 기억 제어부, 65: 인터럽트(割入: interrupt) 제어부, 66: 전원 제어부, 67: 클럭 공급 제어부, 68: OS 전환용(切替用) 콘텍스트(context: 문맥) 보존 제어부, 69: 전력 제어용 콘텍스트 보존 제어부, 81: 정보 처리부, 82: 메모리 제어부, 83: ACPI 제어부.
본 발명은 정보 처리 시스템 및 정보 처리 방법과 프로그램에 관한 것으로서, 특히 논리 분할 기능을 가지는 계산기 시스템에 이용하여 매우 적합(好適)한 정보 처리 시스템 및 정보 처리 방법과 프로그램 관한 것이다.
예를 들면, 일반적인 퍼스널 컴퓨터와 같이, 동시에 하나의 OS(Operating System) 만이 실행되는 경우, 이들 장치 또는 OS에는 유저(user)가 일정 시간 조작 입력을 행하지 않는 것이 검출되면, OS의 실행 작업 상태를 메모리에 보존한 후에, 동작을 정지(停止)해서 전력 절약(省電力: power saving) 모드로 상태를 천이(遷移: change)하고, 재개(再開)시에는 전력 절약 모드를 해제하고, 전력 절약 모드로 들어가기 직전 상태로 되돌리는 서스펜드(suspend: 중지) 기능이나, 유저가 일정 시간 계산기를 조작하지 않는 것이 검출되면, OS의 실행 상태를 예를 들면 하드 디스크 등의 기억 장치에 보존해서, 장치의 전원(電源) 공급을 멈추는 하이버네이션(hibernation) 기능을 가지는 것이 많다. 서스펜드 기능이 실행된 경우, 메모리의 내용을 보존유지(保持: hold)하기 위해서 장치에의 전원의 공급은 정지되지 않는다. 하이버네이션이 행해졌을 때, 장치에의 전원의 공급은 정지되고, 작업의 재개시에는 기억 장치에 기록된 데이터가 메모리에 재(再)로드되고, 전회에 하이버네이션을 개시(開始)한 시점의 상태, 즉 실행 중이었던 어플리케이션이나 표시되고 있던 윈도우 등의 상태가 복귀된다. 이들 기능은 불필요한 소비 전력의 삭감에 매우 효과가 있다.
또, VMware(상표)나 Virtual PC(상표) 등 x86 프로세서 상(上)에서 동작하는 가상(假想) 계산기 시스템이 근래 퍼지고 있다.
또, 범용 계산기에서는 1970년대부터 논리 분할(LPAR(Logical PARtitioning)) 기능을 구비한 가상 계산기 시스템이 실용화되고 있다. LPAR 기능을 이용하는 것에 의해, 물리 계산기를 복수(複數)의 논리 구획(LPAR 구획)으로 분할하고, 각각의 논리 구획에서 다른 오퍼레이팅 시스템을 동시에 실행하는 것이 가능해진다. 각각의 논리 구획에는 물리적으로 다른 장치가 할당되는 일도 있으며, 복수의 논리 구획이 하나의 장치를 공유(共有)하는 일도 있다. LPAR 기능을 구비한 가상 계산기 시스템에서는 예를 들면 하나의 물리 프로세서를 4개까지의 논리 구획에서 공유할 수 있는 것도 있으며, 그와 같은 경우에서도, 각 논리 구획으로부터는 각각 독립한 리소스(resource)가 할당되고 있는 것처럼 보이고, 다른 논리 구획의 영향을 받지 않도록 되어 있다(예를 들면, 비특허 문헌 1 참조).
[비특허 문헌 1] 인터넷 세미나, "제5회:iSeries LPAR", [online], 일본 아이.비.엠 주식회사(IBM Japan, Ltd.), [헤이세이(平成) 16년 9월 1일 검색], 인터넷, <http://www-6.ibm.com/jp/servers/eserver/iseries/seminar/lpar
/lpar5.html>
그러나, 종래, LPAR 기능을 구비한 가상 계산기 시스템은 대형(大型)의 범용 계산기에만 이용되어 왔으므로, 소비 전력량의 삭감에 대해서 고려되는 일은 없고, 물리 계산기 상(上)에서 복수의 오퍼레이팅 시스템을 실행하는 멀티 OS 환경에서는, 그 중의 어느것인가의 OS가 아이들(idling) 상태이더라도 서스펜드나 리쥼 (resume: 재시작)을 행할 수는 없었다.
그러나, LPAR 기능을 구비한 가상 계산기 시스템을 일반 유저가 이용 가능한, 예를 들면 퍼스널 컴퓨터 등 일반 유저에게 널리 이용되는 소형의 정보 처리 장치나, 홈 네트워크에 의해 접속되어 있는 소규모 계산기 시스템에서 이용하도록 한 경우, 소비 전력량의 삭감을 고려할 필요가 생긴다.
가상 계산기 시스템에서는 어느것인가의 오퍼레이팅 시스템이 사용되지 않는 경우이더라도, 다른 오퍼레이팅 시스템이 동작을 계속하고 있는 경우가 있으며, 비가상(非假想) 계산기 시스템(하나의 OS만이 실행 가능한 계산기 시스템)과 같은 소비 전력 삭감 방법은 적용할 수가 없다. 예를 들면, 유저가 제1 OS를 유저가 장시간 조작하지 않는 상태이더라도, 네트워크 서비스를 실행하는 제2 OS는 서비스를 계속 제공하지 않으면 안 되는 바와 같은 경우, 네트워크 서비스에 관한 부분의 동작 정지나 전원 절단은 불가능하기 때문에, 시스템의 동작을 정지할 수는 없다. 따라서, 종래의 비가상 계산기 시스템과 마찬가지로, 어떤 OS가 아이들 상태이더라도, 종래에서의 경우와 마찬가지로 해서, 장치의 전원 공급을 절단해서 소비 전력량을 삭감할 수는 없다. 이 때문에, 제1 OS가 유저로부터 장시간 조작되고 있지 않음에도 불구하고, 불필요한 전력이 소비되어 버린다.
VMware(상표)나 VirtualPC(상표) 등 근래 퍼지고 있는 x86 프로세서상에서 동작하는 가상 계산기 시스템에서는 확실하게 서스펜드나 하이버네이션 기능이 제공되고 있지만, 이들은 시스템 전체의 정지 혹은 전원 절단(斷: stop)을 행하는 것으로서, 유저에 의해 사용되고 있지 않은 부분이 소비하는 전력을 선택적으로 삭감 할 수 있도록 하는 것은 아니다.
본 발명은 이와 같은 상황을 감안해서 이루어진 것이며, 논리 분할 기능을 구비한 계산기 시스템에서, 소비 전력을 삭감할 수 있도록 하는 것이다.
본 발명의 정보 처리 시스템은 오퍼레이팅 시스템을 실행하는 오퍼레이팅 시스템 실행 수단과, 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션을 실행하는 관리 어플리케이션 실행 수단을 구비하고, 오퍼레이팅 시스템 실행 수단 및 관리 어플리케이션 실행 수단은 복수의 연산 수단 중의 어느것인가에 대응하고, 오퍼레이팅 시스템 실행 수단은 복수의 오퍼레이팅 시스템을 실행 가능하고, 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 오퍼레이팅 시스템 중 적어도 하나는 관리 어플리케이션에 대해서, 상태 천이 요구를 통지하는 기능을 구비하고, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구의 통지를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원(資源: resource)의 동작 상태를 제어하는 것을 특징으로 한다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 물리 자원을 논리적으로 분할해서, 다른 처리를 실행시키는 논리 분할 기능을 가지는 것으로 할 수 있으며, 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 오퍼레이팅 시스템은 관리 어플리케이션의 논리 분할 기능에 의해 논리 분할되어 생성된 복수의 논리 구획에서 각각 실행되는 것으로 할 수가 있다.
오퍼레이팅 시스템 실행 수단 및 관리 어플리케이션 실행 수단은 적어도 그의 일부가 동일한 물리 자원에 대응하는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원에의 전원 공급을 제어하는 기능을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에서 배타적(排他的: exclusive)으로 이용되고, 소정의 정보를 기록하는 기록 수단을 더 구비시키도록 할 수 있으며, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해 이용되고 있는 물리 자원의 실행 상태 또는 실행 중인 처리에 관한 정보를 기록 수단에 기록시킨 후, 물리 자원에의 전원 공급을 제어하는 기능을 가지는 것으로 할 수가 있다.
소정의 정보를 기록하고, 또한 물리 자원으로서 제1 오퍼레이팅 시스템에 전유적(專有的: exclusive)으로 이용되고 있지 않은 기록 수단을 더 구비시키도록 할 수 있으며, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 물리 자원의 실행 상태 또는 실행 중인 처리에 관한 정보를 기록 수단에 기록시킨 후, 제1 오퍼레이 팅 시스템에 의해 이용되고 있는 물리 자원에의 전원 공급을 제어하는 기능을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원에 공급되는 클럭 주파수를 제어하는 기능을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에는 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고, 또한 상태 천이 요구를 통지한 제1 오퍼레이팅 시스템 이외의 오퍼레이팅 시스템에 의해 이용되고 있지 않은 물리 자원의 동작 상태를 제어시키도록 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에는 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 어느것인가의 오퍼레이팅 시스템에 의해 점유(占有)되고 있는 물리 자원을 일람(一覽)하는 리스트를 생성하는 리스트 생성 기능을 구비시키도록 할 수 있으며, 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 리스트 생성 기능에 의해 생성된 리스트를 참조해서, 제1 오퍼레이팅 시스템에 의해 이용되고, 또한 상태 천이 요구를 통지한 제1 오퍼레이팅 시스템 이외의 오퍼레이팅 시스템에 의해 이용되고 있지 않은 물리 자원의 동작 상태를 제어시키도록 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에는 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 시분할(時分割)로 이용되도록 할당된 기간만, 물리 자원의 동작 상태를 제어시키도록 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에는 물리 자원을 논리적으로 분할하고, 다른 처리를 실행시키는 논리 분할 기능을 보유시킬 수 있으며, 논리 분할 기능에 의해 분할된 논리 구간의 각각에서 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 논리 구간마다 이용되고 있는 물리 자원을 일람하는 리스트를 생성하는 리스트 생성 기능을 구비시키도록 할 수 있으며, 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 리스트 생성 기능에 의해 생성된 리스트를 참조해서, 제1 오퍼레이팅 시스템에 의해서 시분할로 이용되도록 할당된 기간만, 물리 자원의 동작 상태를 제어시키도록 할 수가 있다.
오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 오퍼레이팅 시스템중의 적어도 하나는 다른 오퍼레이팅 시스템의 동작 상태의 천이 요구를 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에 통지하는 기능을 가지는 것으로 할 수 있으며, 어플리케이션 실행 수단에 의해 실행되고 있는 관리 플리케이션에는 제1 오퍼레이팅 시스템의 동작 상태를 제어하고 있을 때에, 제2 오퍼레이팅 시스템으로부터 제1 오퍼레이팅 시스템의 동작 상태의 천이 요구를 받은 경우, 천이 요구에 의거해서 제1 오퍼레이팅 시스템의 동작 상태를 제어시키도록 할 수가 있다.
본 발명의 정보 처리 시스템에서는 오퍼레이팅 시스템이 실행되고, 오퍼레이팅 시스템의 동작이 관리되며, 오퍼레이팅 시스템과 오퍼레이팅 시스템의 관리는 복수의 연산 수단중의 어느것인가에서 실행되고, 복수의 오퍼레이팅 시스템이 실행 가능하고, 실행되고 있는 복수의 오퍼레이팅 시스템중의 적어도 하나는 상태 천이 요구를 통지하는 기능을 구비하고, 복수의 오퍼레이팅 시스템이 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구가 통지된 경우, 제1 오퍼레이팅 시스템에 의해 이용되고 있는 물리 자원의 동작 상태가 제어된다.
본 발명의 정보 처리 방법은 연산 수단중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅 시스템으로부터 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션에 상태 천이 요구를 통지하는 통지 스텝과, 통지 스텝의 처리에 의해 통지된 상태 천이 요구를 기초로, 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원을 추출하는 추출 스텝과, 추출 스텝의 처리에 의해 추출된 물리 자원 상태를 제어하는 상태 제어 스텝을 포함하는 것을 특징으로 한다.
본 발명의 프로그램은 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅 시스템으로부터 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션 에 상태 천이 요구를 통지하는 통지 스텝과, 통지 스텝의 처리에 의해 통지된 상태 천이 요구를 기초로, 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원을 추출하는 추출 스텝과, 추출 스텝의 처리에 의해 추출된 물리 자원의 상태를 제어하는 상태 제어 스텝을 포함하는 것을 특징으로 하는 처리를 컴퓨터에 실행시킨다.
본 발명의 정보 처리 방법 및 프로그램에서는, 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅 시스템으로부터 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션에 상태 천이 요구가 통지되고, 상태 천이 요구를 기초로, 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원이 추출되고, 추출된 물리 자원의 상태가 제어된다.
[발명을 실시하기 위한 최량의 형태]
이하에 본 발명의 실시 형태를 설명하겠지만, 청구항에 기재된 구성 요건과 발명의 실시 형태에서의 구체예와의 대응 관계를 예시하면, 다음과 같이 된다. 이 기재는 청구항에 기재되어 있는 발명을 서포트하는 구체예가 발명의 실시 형태에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 발명의 실시 형태 중(中)에는 기재되어 있지만, 구성 요건에 대응하는 것으로서 여기에는 기재되지 않은 구체예가 있었다고 해도, 그것은 그 구체예가 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것은 아니다. 거꾸로, 구체예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있었다고 해도, 그것은 그 구체예가 그 구성 요건 이외의 구성 요건에는 대응하지 않는 것인 것을 의미하는 것도 아니다.
또, 이 기재는 발명의 실시 형태에 기재되어 있는 구체예에 대응하는 발명이 청구항에 모두 기재되어 있는 것을 의미하는 것은 아니다. 환언(換言)하면, 이 기재는 발명의 실시 형태에 기재되어 있는 구체예에 대응하는 발명으로서, 이 출원의 청구항에는 기재되어 있지 않은 발명의 존재, 즉 장래(將來), 분할 출원되거나 보정에 의해 추가되는 발명의 존재를 부정하는 것은 아니다.
청구항 1에 기재된 정보 처리 시스템은 복수의 연산 수단(예를 들면, 도 1의 CPU(11))을 가지는 정보 처리 시스템(예를 들면, 도 1의 계산기 시스템(1))로서, 오퍼레이팅 시스템(예를 들면, 도 5의 게스트 OS(52))을 실행하는 오퍼레이팅 시스템 실행 수단(예를 들면, 도 1의 CPU(11-1) 내지 CPU(11-3)과 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션(예를 들면, 도 5의 관리 OS(51))을 실행하는 관리 어플리케이션 실행 수단(예를 들면, 도 2의 CPU(11-4)를 구비하고, 오퍼레이팅 시스템 실행 수단 및 관리 어플리케이션 실행 수단은 복수의 연산 수단 중의 어느것인가에 대응하고, 오퍼레이팅 시스템 실행 수단은 복수의 오퍼레이팅 시스템을 실행 가능하고, 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 오퍼레이팅 시스템 중의 적어도 하나는 관리 어플리케이션에 대해서, 상태 천이 요구(예를 들면, 동작 상태를 천이시키기 위한 상태 천이 요구)를 통지하는 기능(예를 들면, 도 5의 ACPI 제어부(83)에 의해 실행되는 기능)을 구비하고, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 복수의 오퍼레이팅 시스 템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구의 통지를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원(예를 들면, 도 1의 CPU(11), 메모리 모듈(14), 입출력 모듈(18) 등의 리소스)의 동작 상태를 제어하는 것을 특징으로 한다.
오퍼레이팅 시스템 실행 수단 및 관리 어플리케이션 실행 수단은 적어도 그의 일부가 동일한 물리 자원(예를 들면, 도 4의 CPU(11-4)에 대응하는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해 이용되고 있는 물리 자원에의 전원 공급을 제어하는 기능(예를 들면, 도 5의 전원 제어부(66)에 의해 실행되는 기능)을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션에서 배타적으로 이용되고, 소정의 정보를 기록하는 기록 수단(예를 들면, 도 1의 메모리 모듈(14)중에서 관리 OS(51)에 할당된 영역)을 더 구비하는 것으로 할 수 있으며, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원의 실행 상태 또는 실행중인 처리에 관한 정보를 기록 수단에 기록시킨 후, 물리 자원에의 전원 공급을 제어하는 기능을 가지는 것으로 할 수가 있다.
소정의 정보를 기록하고, 또한 물리 자원으로서 제1 오퍼레이팅 시스템에 전 유적으로 이용되고 있지 않은 기록 수단(예를 들면, 도 1의 메모리 모듈(14) 중에서 상태 천이되는 게스트 OS(52) 이외에 할당된 영역을 포함하는 것)을 더 구비하는 것으로 할 수 있으며, 관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 물리 자원의 실행 상태 또는 실행중인 처리에 관한 정보를 기록 수단에 기록시킨 후, 제1 오퍼레이팅 시스템에 의해 이용되고 있는 물리 자원에의 전원 공급을 제어하는 기능을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 제1 오퍼레이팅 시스템에 의해 이용되고 있는 물리 자원에 공급되는 클럭 주파수를 제어하는 기능(예를 들면, 도 5의 클럭 공급 제어부(67)에 의해 실행되는 기능)을 가지는 것으로 할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 제1 오퍼레이팅 시스템에 의해 이용되고, 또한 상태 천이 요구를 통지한 제1 오퍼레이팅 시스템 이외의 오퍼레이팅 시스템에 의해 이용되고 있지 않은 물리 자원(예를 들면, 도 10을 이용하여 설명한 정지 후보 리스트에 등록되는 리소스)의 동작 상태를 제어할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상 태에서, 어느것인가의 오퍼레이팅 시스템에 의해 점유되고 있는 물리 자원을 일람하는 리스트(예를 들면, 도 10을 이용하여 설명한 정지 후보 리스트)를 생성하는 리스트 생성 기능(예를 들면, 도 5의 정지 후보 리스트 작성부(63)에 의해 실행되는 기능)을 구비할 수 있으며, 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 리스트 생성 기능에 의해 생성된 리스트를 참조해서, 제1 오퍼레이팅 시스템에 의해서 이용되고, 또한 상태 천이 요구를 통지한 제1 오퍼레이팅 시스템 이외의 오퍼레이팅 시스템에 의해 이용되고 있지 않은 물리 자원의 동작 상태를 제어할 수가 있다.
관리 어플리케이션 실행 수단에 의해 실행되고 있는 관리 어플리케이션은 물리 자원을 논리적으로 분할해서, 다른 처리를 실행시키는 논리 분할 기능을 가질 수 있으며, 논리 분할 기능에 의해서 분할된 논리 구간의 각각에서 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 논리 구간마다 이용되고 있는 물리 자원을 일람하는 리스트(예를 들면, 도 6에서 설명한 논리 구획표)를 생성하는 리스트 생성 기능(예를 들면, 도 5의 논리 구획표 관리부(62)에 의해 실행되는 기능)을 구비할 수 있으며, 복수의 오퍼레이팅 시스템이 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 리스트 생성 기능에 의해 생성된 리스트를 참조해서, 제1 오퍼레이팅 시스템에 의해서 시분할로 이용되도록 할당된 기간만, 물리 자원의 동작 상태를 제어할 수가 있다.
청구항 13에 기재된 정보 처리 방법은 복수의 연산 수단(예를 들면, 도 1의 CPU(11))을 이용하여 정보를 처리하는 경우의 정보 처리 방법으로서, 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅 시스템(예를 들면, 도 5의 게스트 OS(52))으로부터 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션(예를 들면, 관리 OS(51))에 상태 천이 요구(예를 들면, 동작 상태를 천이시키기 위한 상태 천이 요구)를 통지하는 통지 스텝(예를 들면, 도 12의 스텝 S36 또는 도 13의 스텝 S87의 처리와, 통지 스텝의 처리에 의해 통지된 상태 천이 요구를 기초로, 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원(예를 들면, 도 1의 CPU(11), 메모리 모듈(14), 입출력 모듈(18))을 추출하는 추출 스텝(예를 들면, 도 12의 스텝 S38 또는 도 13의 스텝 S89의 처리)과, 추출 스텝의 처리에 의해 추출된 물리 자원 상태를 제어하는 상태 제어 스텝(예를 들면, 도 12의 스텝 S 39 내지 스텝 S44의 처리, 또는 도 13의 스텝 S90 내지 스텝 S95의 처리)을 포함하는 것을 특징으로 한다.
또, 청구항 14에 기재된 프로그램에서도, 각 스텝이 대응하는 실시 형태(단, 1예)는 청구항 13에 기재된 정보 처리 방법과 마찬가지이다.
이하, 도면을 참조해서, 본 발명의 실시 형태에 대해서 설명한다.
도 1을 이용하여, 본 발명을 적용한 계산기 시스템(1)의 구성에 대해서 설명한다. 계산기 시스템(1)은 하나의 장치로서 구성되어 있어도 좋고, 복수의 장치로 구성되어 있어도 좋다.
CPU(11-1) 내지 CPU(11-n)는 논리 분할(LPAR) 기능을 구비하고 있으며, 시스템 버스(12)에 접속되어 있다. 즉, CPU(11-1) 내지 CPU(11-n) 중의 어느것인가 하나 또는 복수로, 계산기 시스템(1)의 논리 분할과 각각의 논리 구획의 동작을 관리하는 관리 OS를 실행할 수 있음과 동시에, 관리 OS에 의해서 동작이 관리되는 게스트 OS를 실행할 수가 있다. CPU(11-1) 내지 CPU(11-n) 중의 어느것인가로 실행되는 관리 OS는 논리 구획을 생성할 수 있는 Hypervisor 특권 레벨을 가지고, Hypervisor 특권 레벨로만 실행할 수 있는 Hypervisor 명령을 발행할 수가 있다.
시스템 버스(12)에는 메모리 제어 모듈(13), IO(IN/OUT) 브리지(15), 관리 OS용 타이머(16) 및 유저 타이머(17)가 접속되어 있다. 또, 시스템 버스(12)에는 도 1에 도시된 것 이외에도, 여러가지 장치를 접속하는 것이 가능하며, 예를 들면 보조 프로세서 등이 접속되도록 해도 좋다.
메모리 제어 모듈(13)은 메모리 모듈(14-1) 내지 메모리 모듈(14-m)에의 데이터의 기록입력(書入: write) 및 판독출력(讀出: read)을 제어하는 것이다. 메모리 제어 모듈(13)에는 캐시 제어 회로를 구비하도록 해도 좋고, 캐시 메모리를 내장(內藏), 또는 접속 가능하게 해도 좋다. 또, 메모리 제어 모듈(13)는 자기 자신에게 접속되어 있는 모든 메모리 모듈, 즉 메모리 모듈(14-1) 내지 메모리 모듈(14-m)에 연속한 물리 어드레스를 할당한다. 메모리 모듈(14-1) 내지 메모리 모듈(14-m)은 각각, 예를 들면 적어도 하나의 RAM(Random Access Memory) 등의 반도체 기록 소자로 구성되고, 전원 공급 및 동작 주파수의 제어가 가능하도록 되어 있다.
IO 브리지(15)는 시스템 버스(12)와 IO 버스(25)를 중계하는 브리지로서, 예 를 들면 일본 특개(特開) 2002-318701호 공보에 기재된 변환 제어 엔트리(TCE) 기구를 가지는 것이어도 좋다. IO 버스(25)에는 입출력 모듈(18-1) 내지 입출력 모듈(18-p), 전원 모듈(19), 클럭 공급 모듈(20), ROM(Read Only Memory)(21), HDD(Hard Disk Drive)(22) 및 드라이브(23)가 접속되어 있다.
입출력 모듈(18-1) 내지 입출력 모듈(18-p)은 예를 들면 조작 입력을 행하기 위한 키보드, 마우스, 터치 패드, 조이스틱(joystick), 트랙볼 등의 조작 입력 디바이스 또는 조작 입력 디바이스용 인터페이스 모듈, 디스플레이 등의 표시 장치 또는 그래픽 인터페이스, 음성 출력용 스피커 모듈 또는 사운드 인터페이스, 네트워크 인터페이스, 혹은 외부 기억 장치의 디스크 컨트롤러 등이다.
전원 모듈(19)은 계산기 시스템(1)의 각 부에 전원을 공급하거나 또는 전원의 공급을 제어하는 것이며, CPU(11-1) 내지 CPU(11-n) 중의 어느것인가로 실행되는 상술한 관리 OS의 처리에 의한 제어에 의거해서, 계산기 시스템(1)의 각 부에의 전원의 공급, 정지 또는 공급 전압의 변경 등을 행할 수가 있다. 클럭 공급 모듈(20)은 계산기 시스템(1)의 각 부에 클럭을 공급하거나 또는 클럭의 공급을 제어하는 것이며, CPU(11-1) 내지 CPU(11-n) 중의 어느것인가로 실행되는 상술한 관리 OS의 처리에 의한 제어에 의거해서, 계산기 시스템(1)의 각 부에의 클럭의 공급, 정지 또는 공급하는 클럭의 주파수의 변경 등을 행할 수가 있다.
ROM(21)에는 CPU(11-1) 내지 CPU(11-n) 중의 어느것인가로 실행되는 OS나, 그들 OS에서 실행되는 응용 프로그램이 격납(格納: store)되어 있다. 즉, ROM(21)에는 관리 OS도 격납되어 있고, 계산기 시스템(1)이 기동되었을 때, ROM(21)에 격 납되어 있는 관리 OS는 CPU(11-1) 내지 CPU(11-n) 중의 어느것인가에 의해 로드되어 실행되고, 계산기 시스템(1)에서 적어도 하나의 논리 구획을 생성하고, 각 논리 구획에 관련지어진 게스트 OS를 실행시키도록 할 수가 있다.
HDD(22)는 내부의 하드 디스크를 구동하여, 각종 정보를 기록하거나 판독출력할 수가 있다. 하드 디스크에는 CPU(11-1) 내지 CPU(11-n) 중의 어느것인가에서 실행되는 OS나, 그들 OS에서 실행되는 어플리케이션 프로그램을 격납하거나, CPU(11-1) 내지 CPU(11-n) 중의 어느것인가에서 실행되는 OS나, 그들 OS에서 실행되는 응용 프로그램에 의해 이용되는 데이터나, 이들에 의해 생성되는 데이터를 격납할 수가 있다.
IO 버스(25)에는 도 1에 도시되어 있는 것 이외의 장치가 접속되어 있어도 좋고, 또 IO 버스(25)와 접속되는 장치는 어떠한 중계 장치를 거쳐서 접속되도록 해도 좋다.
관리 OS용 타이머(16)는 관리 OS의 처리에 의해 이용되는 타이머이며, 게스트 OS 및 게스트 OS에서 실행되는 어플리케이션으로부터는 액세스 되지 않는다. 구체적으로는, 관리 OS는 관리 OS용 타이머(16)를 이용하여, 설정된 소정의 시간마다, CPU(11-1) 내지 CPU(11-n)에 타이머 인터럽트를 발생할 수가 있다. 유저 타이머(17)는 게스트 OS 및 게스트 OS에서 실행되는 어플리케이션으로부터 액세스할 수 있는 타이머이며, 게스트 OS 및 게스트 OS에서 실행되는 어플리케이션은 유저 타이머(17)를 이용하여, 설정된 소정의 시간마다 CPU(11-1) 내지 CPU(11-n)에 타이머 인터럽트를 발생할 수가 있다.
이하, CPU(11-1) 내지 CPU(11-n)를 개개로 구별할 필요가 없는 경우, 단지 CPU(11)라고 칭(稱)하고, 메모리 모듈(14-1) 내지 메모리 모듈(14-m)을 개개로 구별할 필요가 없는 경우, 단지 메모리 모듈(14)이라고 칭하며, 입출력 모듈(18-1) 내지 입출력 모듈(18-p)을 개개로 구별할 필요가 없는 경우, 단지 입출력 모듈(18)이라고 칭하기로 한다.
다음에, 도 2를 이용하여, 관리 OS와 게스트 OS에 대해서 설명한다.
예를 들면, CPU(11-4)가 관리 OS를 실행해서 논리 분할을 행하여, 논리 구획(LPAR/0 내지 LPAR/2)이 생성되고, 논리 구획(LPAR/0 내지 LPAR/2)에서 실행되는 각각의 OS에 할당되는 리소스가 CPU(11-1) 내지 CPU(11-3), 메모리 모듈(14) 및 입출력 모듈(18-1) 내지 입출력 모듈(18-3)인 경우에 대해서 설명한다.
CPU(11-4)에 의해 실행되는 관리 OS에 의해서 논리 분할이 행해져서, 논리 구획(LPAR/0 내지 LPAR/2)이 생성된다. 논리 구획에는 논리적으로 분할 가능한 모든 자원을 포함할 수 있으며, 예를 들면 메모리 모듈(14)의 물리 메모리 공간의 중복하지 않는 영역, CPU(11)의 각각의 CPU의 처리 시간(이하, CPU 시간이라고 칭한다)의 일부 또는 전부, 입출력 모듈(18) 등의 자원이 각각의 논리 구획에 할당된다.
관리 OS는 논리 구획 LPAR/0에 대해서, CPU(11-1)의 처리 시간의 전체, 메모리 모듈(14)의 메모리 공간의 일부, 입출력 모듈(18-1)의 전체와 입출력 모듈(18-2)의 처리 시간 중의 일부를 리소스로서 할당한다. 또, 관리 OS는 논리 구획(LPAR/1)에 대해서, CPU(11-2)의 처리 시간의 일부, 메모리 모듈(14)의 메모리 공 간의 일부, 입출력 모듈(18-2)의 처리 시간 중의 일부를 리소스로서 할당한다. 그리고, 관리 OS는 논리 구획(LPAR/2)에 대해서, CPU(11-2)의 처리 시간의 일부 및 CPU(11-3)의 처리 시간의 전체, 메모리 모듈(14)의 메모리 공간의 일부, 입출력 모듈(18-3)을 리소스로서 할당한다.
환언하면, CPU(11-1)는 논리 구획LPAR/0)에 할당되고, 논리 구획(LPAR/0)에서 실행되는 제1 OS를 실행하고, CPU(11-2)는 논리 구획(LPAR/1 및 LPAR/2)에 할당되고, 논리 구획(LPAR/1)에서 실행되는 제2 OS와 논리 구획(LPAR/2)에서 실행되는 제3 OS를 소정의 시간 배분(時間配分: time-division method)으로 시분할로 실행하고, CPU(11-3)는 논리 구획(LPAR/2)에 할당되고, 논리 구획(LPAR/2)에서 실행되는 제3 OS를 CPU(11-2)와 함께 실행한다.
도 3은 물리 메모리 공간의 할당예이다.
도 3에 도시되는 바와 같이, 복수의 메모리 모듈(예를 들면, 메모리 모듈(14-1) 내지 메모리 모듈(14-3)의 기억 영역은 하나의 물리 메모리 공간에 할당되고, 물리 메모리 공간이 가상적으로 하나의 메모리 공간으로서 관리 OS와 복수의 논리 구획(여기서는, LPAR/0, LPAR/1, LPAR/2)으로 분배된다. 관리 OS에 할당되는 메모리 영역은 배타적으로 이용 가능하도록 이루어져 있다.
그리고, 입출력 모듈(18-1)은 논리 구획(LPAR/0)에 할당되고, 논리 구획(LPAR/0)에서 실행되는 제1 OS에서 실행되는 어플리케이션에 의한 처리를 실행하고, 입출력 모듈(18-2)은 논리 구획(LPAR/0 및 LPAR/1)에 할당되고, 논리 구획(LPAR/0)에서 실행되는 제1 OS와 논리 구획(LPAR/1)에서 실행되는 제2 OS에서 각각 실행되는 어플리케이션에 의한 처리를 모두 실행하고, 입출력 모듈(18-3)은 논리 구획(LPAR/2)에 할당되고, 논리 구획(LPAR/2)에서 실행되는 제3 OS에서 실행되는 어플리케이션에 의한 처리를 실행한다.
이와 같이, 논리 구획에 대해서 리소스가 할당되어 있는 상태에서, 예를 들면 논리 구획(LPAR/1)에서 실행되는 제2 OS로부터 유저의 조작 입력이 소정의 시간 입력되지 않기 때문에, 제2 OS에 할당되어 있는 리소스에의 전원의 공급의 정지, 공급 전압값의 변경, 또는 공급되는 클럭의 주파수의 변경 등의 동작 상태의 천이 요구가 관리 OS에 통지된 경우, 전원 모듈(19)을 제어해서 논리 구획(LPAR/1)에 할당되어 있는 리소스의 전원 공급을 멈추어 버리거나, 클럭 제어 모듈(20)을 제어해서 논리 구획(LPAR/1)에 할당되어 있는 리소스에 공급되는 클럭 주파수를 변경시켜 버리는 것에 의해, LPAR/0에서 실행되는 제1 OS 및 LPAR/2에서 실행되는 제3 OS의 처리에 지장을 초래하거나 처리를 실행할 수 없게 되어 버릴 우려가 있다.
즉, 관리 OS는 각각의 논리 구획에 할당된 리소스를 인식하고, 어느것인가의 게스트 OS로부터 동작 상태의 천이 요구를 받은 경우, 그 게스트 OS의 처리를 실행하는 논리 구획에 할당된 리소스가 다른 논리 구획과 공용(共用)되고 있는지 여부를 검출하고, 리소스에의 전원의 공급의 정지, 공급 전압값의 변경, 또는 공급되는 클럭의 주파수의 변경 등의 동작 상태의 천이가 가능한지 여부를 판단할 필요가 있다.
관리 OS는 게스트 OS로부터의 요구에 의거해서, 다른 논리 구획에서 실행되고 있는 처리에 영향을 미치지 않도록, 게스트 OS가 실행되는 논리 구획에 속하는 리소스, 환언하면 물리 계산기의 구성요소의 동작 상태를 변화시킴으로써, 효과적으로 소비 전력을 삭감하는 것이 가능하다.
여기서는, 관리 OS는 하나의 CPU(11-4)로 실행되고, 관리 OS를 실행하는 CPU(11-4)는 게스트 OS를 실행하지 않는 것으로서 설명했지만, 관리 OS를 복수의 CPU로 실행하도록 해도 좋고, 또 관리 OS를 실행하는 CPU(11)에서 예를 들면 시분할로 처리를 행하는 것 등에 의해, 게스트 OS도 실행하도록 해도 좋은 것은 물론이다.
예를 들면, 도 4에 도시되는 바와 같이, CPU(11-4)가 관리 OS를 실행해서, 논리 구획(LPAR/0 내지 LPAR/2)을 생성함과 동시에, 논리 구획LPAR/0 내지 LPAR/2)에서 실행되는 각각의 OS에 할당되는 리소스로서 CPU(11-4) 자신의 처리 시간 중의 소정 비율의 처리 시간을 할당하고, 또 CPU(11-1) 내지 CPU(11-3), 메모리 모듈(14) 및 입출력 모듈(18-1) 내지 입출력 모듈(18-3)을 할당하도록 할 수가 있다.
CPU(11-4)에 의해 실행되는 관리 OS에 의해서 논리 분할이 행해져서, 논리 구획(LPAR/0 내지 LPAR/2)이 생성된다. 도 2를 이용하여 상술한 경우와 마찬가지로 해서, 논리 구획에는 논리적으로 분할 가능한 모든 자원을 포함할 수 있으며, 예를 들면 메모리 모듈(14)의 물리 메모리 공간에서 중복하지 않는 영역, CPU(11)의 각각의 CPU의 처리 시간의 일부 또는 전부, 입출력 모듈(18) 등의 자원이 각각의 논리 구획에 할당되도록 할 수가 있다.
관리 OS는 논리 구획(LPAR/0)에 대해서, 자기 자신이 실행되고 있는 CPU(11-4)의 처리 시간 중의 일부, CPU(11-1)의 처리 시간의 전체, 메모리 모듈(14)의 메 모리 공간의 일부, 입출력 모듈(18-1)의 전체와 입출력 모듈(18-2)의 처리 시간 중의 일부를 리소스로서 할당한다. 또, 관리 OS는 논리 구획(LPAR/1)에 대해서, 자기 자신이 실행되고 있는 CPU(11-4)의 처리 시간 중의 일부, CPU(11-2)의 처리 시간의 일부, 메모리 모듈(14)의 메모리 공간의 일부, 입출력 모듈(18-2)의 처리 시간 중의 일부를 리소스로서 할당한다. 그리고, 관리 OS는 논리 구획(LPAR/2)에 대해서, 자기 자신이 실행되고 있는 CPU(11-4)의 처리 시간중의 일부, CPU(11-2)의 처리 시간의 일부 및 CPU(11-3)의 처리 시간의 전체, 메모리 모듈(14)의 메모리 공간의 일부, 입출력 모듈(18-3)을 리소스로서 할당할 수가 있다.
환언하면, CPU(11-1)는 논리 구획(LPAR/0)에 할당되고, 논리 구획(LPAR/0)에서 실행되는 제1 OS를 CPU(11-4)와 함께 실행하고, CPU(11-2)는 논리 구획(LPAR/1 및 LPAR/2)에 할당되고, 논리 구획(LPAR/1)에서 실행되는 제2 OS와 논리 구획(LPAR/2)에서 실행되는 제3 OS(을)를, CPU(11-4)와 함께 소정의 시간 배분으로 시분할로 실행하고, CPU(11-3)는 논리 구획(LPAR/2)에 할당되고, 논리 구획(LPAR/2)에서 실행되는 제3 OS를 CPU(11-2) 및 CPU(11-4)와 함께 실행할 수가 있다.
도 5는 관리 OS가 실행되고, 도 2를 이용하여 설명한 바와 같이 해서, 복수의 논리 구획(여기서는, LPAR/0, LPAR/1, LPAR/2)으로의 논리 분할이 실행된 경우에, 계산기 시스템(1)에서 실행 가능한 기능을 도시하는 기능 블록도이다. 이하의 설명에서의 논리 구획의 할당은 도 2를 이용하여 설명한 경우를 예로 한다.
계산기 시스템(1)이 기동되었을 때, 관리 OS(51)가 실행된다. 관리 OS(51)는 게이트 OS 관리 제어부(61), 논리 구획표 관리부(62), 정지 후보 리스트 작성부 (63), 정지 후보 리스트 기억 제어부(64), 인터럽트 제어부(65), 전원 제어부(66), 클럭 공급 제어부(67), OS 전환용 콘텍스트 보존 제어부(68) 및 전력 제어용 콘텍스트 보존 제어부(69)로서 이하에 설명하는 각종 기능을 가지고, 논리 분할된 각각의 논리 구획에서 실행되는 게스트 OS(52-1) 내지 게스트 OS(52-3)의 처리를 제어한다.
이하, 게스트 OS(52-1) 내지 게스트 OS(52-3)를 개개(個個)로 구별할 필요가 없을 때, 단지 게스트 OS(52)라고 칭하기로 한다.
게스트 OS 관리 제어부(61)는 논리 구획표 관리부(62)의 처리에 의해 관리되는 논리 구획표 및, 정지 후보 리스트 작성부(63)에 의해 작성되어 정지 후보 리스트 기억 제어부(64)에 의해 기억되는 정지 후보 리스트에 의거해서, 인터럽트 처리부(65)에 의해 발생되는 인터럽트의 타이밍에 의거해서, 게스트 OS(52-1 내지 52-3)의 동작을 제어한다. 또, 게스트 OS 관리 제어부(61)는 동작을 제어하고 있는 게스트 OS(52-1 내지 52-3) 중의 어느것인가로부터, 소비 전력을 삭감하기 위한 동작 상태의 천이 요구를 받은 경우, 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획표 및 모듈 정보표와 정지 후보 리스트 기억 제어부(64)에 의해 기억이 제어되고 있는 정지 후보 리스트를 기초로, 천이 요구를 한 게스트 OS의 처리를 실행하는 논리 구획에 할당된 리소스가, 다른 논리 구획과 공용되고 있는지 여부를 검출하고, 리소스에의 전원의 공급의 정지, 공급 전압값의 변경 또는 공급되는 클럭의 주파수의 변경 등의 동작 상태의 천이가 가능한지 여부를 판단하고, 전원 제어부(66) 및 클럭 공급 제어부(67)에 통지한다.
논리 구획표 관리부(62)는 관리 OS(51)에 의해 배타적으로 이용 가능한 메모리 영역에 기록되는 논리 구획표를 관리한다. 도 2를 이용하여 설명한 바와 같이, CPU(11-4)가 관리 OS(51)를 실행해서 논리 분할을 행하는 것에 의해, 논리 구획(LPAR/0 내지 LPAR/2)이 생성되고, 논리 구획(LPAR/0 내지 LPAR/2)에서 실행되는 각각의 OS에 할당되는 리소스가 CPU(11-1) 내지 CPU(11-3), 메모리 모듈(14) 및 입출력 모듈(18-1) 내지 입출력 모듈(18-3)인 경우의 논리 구획표를 도 6에 도시한다.
도 6의 논리 구획표에서, 논리 구획(LPAR/0)에는 물리 메모리 공간의 0x20000000 번지로 시작되는 1GB의 영역, CPU(11-1)의 CPU 시간의 100%와, 입출력 모듈(18-1) 및 입출력 모듈(18-2)이 리소스로서 할당되어 있다. 또, 논리 구획(LPAR/1)에는 물리 메모리 공간의 0x50000000 번지로 시작되는 512MB의 영역, CPU(11-2)의 CPU 시간의 60% 및 입출력 모듈(18-2)이 리소스로서 할당되어 있다. 마찬가지로, 논리 구획(LPAR/2)에는 물리 메모리 공간의 0x80000000 번지로 시작되는 1GB의 영역, CPU(11-2)의 CPU 시간의 40% 및 CPU(11-3)의 CPU 시간의 100%와 입출력 모듈(18-3)이 리소스로서 할당되어 있다.
여기서, 논리 구획에는 논리 어드레스 공간이 주어진다. 논리 구획에서 실행되는 게스트 OS(52)의 각각에서는 도 7에 도시되는 바와 같이, 논리 어드레스 공간이 물리 어드레스 공간으로서 인식되고, 논리 구획에 할당된 물리 어드레스 범위가 논리 어드레스 공간의 선두부터 할당된다. 논리 어드레스는 게스트 OS(52)가 CPU(11)의 어드레스 변환 기구를 적절히 설정하여 유효하게 이용하는 것에 의해, 또 가상 어드레스에 할당되도록 할 수도 있다. 논리 구획표 관리부(62)에 의해 논리 구획 관리표가 관리되는 것에 의해서, 관리 OS(51)는 각각의 논리 구획에서 실행되는 게스트 OS(52)가 인식하는 논리 메모리 공간 및 논리 어드레스와, 메모리 모듈(14)의 물리 메모리 공간 및 물리 어드레스와의 정합(整合)을 취(取)하는 것이 가능해진다.
논리 구획표는 논리 분할의 형태나 실행되는 게스트 OS가 변경된 경우 및, 계산기 시스템(1)에 포함되는 물리적인 모듈이 변경된 경우, 그들 변경에 따라 갱신된다. 따라서, 논리 구획표 관리부(62)는 게스트 OS 관리 제어부(61)로부터, 논리 분할의 형태나 실행되는 OS의 변경 또는 할당되는 리소스의 변경이 통지된 경우, 논리 구획표를 갱신한다.
또, 논리 구획표 관리부(62)는 도 1에 도시되는 각 모듈의 모듈 정보표를 보존하고 있다. 도 8은 도 1의 입출력 모듈(18)의 모듈 정보표의 1예이다. 장치 정보에는 예를 들면 동작 상태마다의 전원 전압, 클럭 주파수 등의 정보가 포함된다. 여기서는, 모듈 상태표는 일반적인 퍼스널 컴퓨터나 워크스테이션 및, 그들에서 실행 가능한 각종 OS에서 이용되는 Advanced Configuration and Power Interface(ACPI) Specification에 의거한 동작 상태에 대응해서, 동작 상태마다의 전원 전압, 클럭 주파수 등의 정보가 기재되어 있는 것으로 하지만, 동작 상태는 ACPI에 의거하지 않는 것이어도 좋다. 관리 OS(51)는 각 모듈의 장치 정보를 인식하는 것에 의해, 게스트 OS로부터의 상태 천이 요구의 내용에 따른 최적한 상태를 선택하고, 상태 천이 요구를 낸 게스트 OS의 리소스로서 할당되어 있는 모듈의 상 태 설정을 결정하고, 공급되는 전원의 전압 또는 클럭 주파수를 설정한다. 또한, 상태 천이 요구의 내용과 일치하는 상태가 없는 경우, 보다 동작 레벨이 높은 상태가 선택되는 것으로 해도 좋다.
정지 후보 리스트 작성부(63)는 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획표를 참조해서, 게스트 OS 관리 제어부(61)가 동작을 제어하고 있는 어느것인가의 게스트 OS로부터 동작 상태의 천이 요구를 받은 경우, 다른 게스트 OS의 실행에 영향을 미치는 일 없이 전력 소비량을 제한하기 위해서, 예를 들면 전력 절약 모드나 전원 정지 상태로 상태를 천이하는 것이 가능한 모듈을 미리 추출해서, 정지 후보 리스트를 작성하고, 작성된 정지 후보 리스트를 정지 후보 리스트 기억 제어부(64)에 공급한다.
구체적으로는, 정지 후보 리스트 작성부(63)는 논리 분할이 실행되어 논리 구획이 작성된 경우, 논리 분할의 형태나 실행되는 OS가 변경된 경우 및, 계산기 시스템(1)에 포함되는 물리적인 모듈이 변경된 경우, 논리 구획내에서 정지 가능한 자원의 리소스의 리스트를 작성한다.
정지 후보 리스트 작성부(63)는 내부의 메모리에, 도 9에 도시되는 메모리 구성표를 보존하고 있다. 메모리 구성표에는 메모리 모듈(14)의 물리적인 구조마다(도 9에서는 메모리 모듈(14-1) 내지 메모리 모듈(14-3)의 각각에 대응되어) 메모리 모듈(14) 전체를 하나의 모듈로서 인식한 경우의 물리 어드레스와, 각각의 기억 용량(사이즈)이 기재되어 있다.
정지 후보 리스트 생성부(63)는 논리 구획표를 참조해서, 논리 구획에 할당 된 리소스의 정보를 취득한다. 정지 후보 리스트 생성부(63)는 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)가 있는지 여부를 검출하고, 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)가 있으면, 정지 후보 리스트에 등록한다. 다음에, 정지 후보 리스트 생성부(63)는 각각의 논리 구획에 할당된 물리 메모리 범위를 조사하고, 도 9에 도시되는 메모리 구성표를 참조해서, 범위내의 메모리 모듈(14)이 다른 논리 구획과 공유되고 있지 않은지 여부를 검출하고, 다른 논리 구획과 공유되고 있지 않은 메모리 모듈(14)이 있으면, 해당하는 메모리 모듈(14)을 정지 후보 리스트에 등록한다. 또, 정지 후보 리스트 생성부(63)는 어느것인가의 논리 구획에만 할당된 입출력 모듈(18)이 있는지 여부, 환언하면 복수의 논리 구획에서 공유되고 있지 않은 입출력 모듈(18)가 있는지 여부를 검출하고, 복수의 논리 구획에서 공유되고 있지 않은 입출력 모듈(18)가 있으면, 해당하는 입출력 모듈(18)을 정지 후보 리스트에 등록한다.
도 10에 도 2를 이용하여 설명한 바와 같이, CPU(11-4)가 관리 OS를 실행해서 논리 구획(LPAR/0 내지 LPAR/2)이 생성되고, 논리 구획(LPAR/0 내지 LPAR/2)에서 실행되는 각각의 OS에 리소스가 할당되어 있는 경우의 정지 후보 리스트의 예를 도시한다. 도 10에 도시되는 정지 후보 리스트에는 논리 구획(LPAR/0)에 전유(專有)되도록 할당되어 있는 CPU(11-1), 입출력 모듈(18-1) 및 메모리 모듈(14-1)이 등록되고, 논리 구획(LPAR/1)에 전유 되도록 할당되어 있는 리소스는 없으므로, 아무것도 등록되어 있지 않고, 논리 구획(LPAR/2)에 전유되도록 할당되어 있는 CPU(11-3), 입출력 모듈(18-3) 및 메모리 모듈(14-3)이 등록되어 있다. 리스트 작 성 처리의 상세한 것에 대해서는 후술(後述)한다.
또, 정지 후보 리스트는 논리 구획표와 마찬가지로, 논리 분할의 형태나 실행되는 게스트 OS가 변경된 경우 및, 계산기 시스템(1)에 포함되는 물리적인 모듈이 변경된 경우, 그들 변경에 따라 갱신된다. 따라서, 정지 후보 리스트 생성부(63)는 게스트 OS 관리 제어부(61)로부터 논리 분할의 형태나 실행되는 OS의 변경 또는 할당되는 리소스의 변경이 통지된 경우, 정지 후보 리스트를 갱신한다.
정지 후보 리스트 기억 제어부(64)는 공급된 정지 후보 리스트의, 관리 OS에 의해 배타적으로 이용 가능한 메모리 영역에의 기억을 제어한다.
인터럽트 제어부(65)는 관리 OS용 타이머(16)에 의한 카운트에 의거해서, 소정의 타이밍에서 타이머 인터럽트를 발생시킨다. 예를 들면, 게스트 OS 관리 제어부(61)의 처리에 의해, 어느것인가의 리소스, 예를 들면 CPU(11)가 복수의 논리 구획에 의해 공유되고 있는 경우, 환언하면 어느것인가의 CPU(11)의 CPU 시간의 100% 미만이 어느것인가의 논리 구획에 할당되어 있는 경우, 인터럽트 제어부(65)는 관리 OS용 타이머(16)으로부터의 인터럽트에 의해서 소정의 시간마다 호출되고, 경과시간을 측정하여, 논리 구획에 할당된 시간이 경과할 때마다 CPU(11)를 사용하는 논리 구획의 전환을 제어한다.
전원 제어부(66)는 전원 모듈(19)에 의한 계산기 시스템(1)의 각 부에의 전원 공급을 제어한다. 구체적으로는 후술하는 처리에 의해, 어느것인가의 논리 구획에 할당된 리소스에의 전원 공급이 제어되는 경우, 전원 제어부(66)는 전원 모듈(19)을 제어해서, 소정의 리소스에의 전원 공급을 정지 또는 공급되는 전원 전압을 제어시킨다.
클럭 공급 제어부(67)는 클럭 공급 모듈(20)에 의한 계산기 시스템(1)의 각 부에의 클럭 공급을 제어한다. 구체적으로는, 후술 하는 처리에 의해, 어느것인가의 논리 구획에 할당된 리소스에의 클럭 공급이 제어되는 경우, 클럭 공급 제어부(67)는 클럭 공급 모듈(20)을 제어해서, 소정의 리소스에의 클럭의 공급을 정지 또는 공급되는 클럭 주파수를 변경시킨다.
OS 전환용 콘텍스트 보존 제어부(68)는 게스트 OS 관리 제어부(61)의 처리에 의해, 어느것인가의 CPU(11)가 복수의 논리 구획에 의해 공유되고 있는 경우, 환언하면 어느것인가의 CPU(11)의 CPU 시간의 100% 미만이 어느것인가의 논리 구획에 할당되어 있는 경우에 실행되는 시분할 처리에서, 인터럽트 제어부(65)의 처리에 의해 발생되는 타이머 인터럽트에 따라서 전환된 논리 구획의 처리를 실행시키기 위해서, 처리가 중단되는 CPU(11)의 실행 상태의 메모리 모듈(14)에의 기록을 제어함과 동시에, 상태가 복귀되는 경우의 실행 상태의 판독출력과 복원(復元: recovery)을 제어한다. 또, 입출력 모듈(18)이 복수의 논리 구획에서 공유되고 있고, 어떤 논리 구획에서 실행되고 있는 게스트 OS(52)의 처리에서 보존해야 할 실행 상태를 가지는 상태에서, CPU(11)의 처리가 다른 논리 구획에서 실행되고 있는 게스트 OS(52) 중의 어느것인가로 전환된 경우, OS 전환용 콘텍스트 보존 제어부(68)는 입출력 모듈(18)의 실행 상태의 메모리 모듈(14)에의 기록을 제어함과 동시에, 상태가 복귀되는 경우의 실행 상태의 판독출력과 복원을 제어한다.
전력 제어용 콘텍스트 보존 제어부(69)는 게스트 OS 관리 제어부(61)의 처리 에 의해, 전력 제어를 위해서, 어느것인가의 게스트 OS의 상태 천이 요구에 의거해서, 정지 후보 리스트 작성부(63)의 처리에 의해 작성되고, 정지 후보 리스트 기억 제어부(64)의 처리에 의해 기억이 제어된 정지 후보 리스트에 등록되어 있는 어느것인가의 리소스의 전원의 공급이 절단되어, 콘텍스트의 퇴피(退避: save)가 필요한 경우, 게스트 OS의 처리에 의해 실행되고 있는 CPU(11)의 어느것인가의 처리 상태 등의 콘텍스트를 퇴피시키고, HDD(22) 또는 입출력 모듈(18)에 접속되어 있는 외부 기억장치에의 콘텍스트의 보존을 제어함과 동시에, 상태가 복귀되는 경우의 콘텍스트의 판독출력과 복원을 제어한다.
다음에, 게스트 OS(52)의 기능에 대해서 설명한다. 게스트 OS(52-1)는 논리 구획(LPAR/0)에서 실행되고, 게스트 OS(52-2)는 논리 구획(LPAR/1)에서 실행되며, 게스트 OS(52-3)는 논리 구획(LPAR/2)에서 실행된다.
게스트 OS(52-1) 내지 게스트 OS(52-3)에는 각각, 정보 처리부(81-1)내지 정보 처리부(81-3), 메모리 제어부(82-1) 내지 메모리 제어부(82-3) 및 ACPI 제어부(83-1) 내지 ACPI 제어부(83-3)으로서 이하에 설명하는 각종 기능을 가진다.
정보 처리부(81-1) 내지 정보 처리부(81-3)는 게스트 OS(52-1) 내지 게스트 OS(52-3)의 각각의 처리, 또는 각각에서 실행되는 어플리케이션 프로그램의 처리를 실행한다.
메모리 제어부(82-1) 내지 메모리 제어부(82-3)는 게스트 OS(52-1) 내지 게스트 OS(52-3)의 각각의 처리, 또는 각각에서 실행되는 어플리케이션 프로그램의 실행 상태, 처리에서 필요한 데이터, 또는 생성되는 데이터의 보존을 제어하는 것 이다.
ACPI 제어부(83-1) 내지 ACPI 제어부(83-3)는 게스트 OS(52-1) 내지 게스트 OS(52-3)의 동작 상태 제어 기능을 제어한다. 동작 상태 제어 기능은 예를 들면 유저의 조작 입력이 없는 경우 등, 게스트 OS(52-1) 내지 게스트 OS(52-3)에 할당된 입력 모듈로부터의 인터럽트가 일정기간 발생하지 않는 경우 등에 있어서, 대응하는 논리 구획의 리소스의 동작 속도를 저하시키거나 동작을 정지시키거나 전원을 끄는 등의 제어를 행하기 위해서, 관리 OS(51)에 대해서 동작 상태 천이 요구를 통지한다. ACPI 제어부(83-1) 내지 ACPI 제어부(83-3)는 예를 들면 일반적인 퍼스널 컴퓨터나 워크스테이션 및 그들에서 실행 가능한 각종 OS에서 이용되는 Advanced Configuration and Power Interface (ACPI) Specification에 의거해서 동작 상태를 제어한다. 본 발명의 계산기 시스템(1)에서는, 관리 OS(51)가 ACPI에 의한 동작 상태 제어 기능을 가진 게스트 OS(52-1) 내지 게스트 OS(52-3)로부터 통지되는 ACPI에 의거하는 동작 상태 천이 요구를 받고, 이것을 기본으로, 계산기 시스템(1)에 포함되는 각종 모듈의 동작을 제어할 수 있도록 이루어져 있다.
또한, 여기서는, 각 논리 구획에서 실행된 게스트 OS(52-1) 내지 게스트 OS(52-3)의 전부에 ACPI에 의한 동작 상태 제어 기능을 가지는 것으로서 설명했지만, 논리 구획에서 실행되는 게스트 OS(52-1) 내지 게스트 OS(52-3)의 전부가 반드시 ACPI에 의한 동작 상태 제어 기능을 가지지 않아도 좋다. 또, 동작 상태 제어 기능의 동작 설정은 게스트 OS(52-1) 내지 게스트 OS(52-3)가 관리 OS(51)로부터 독립해서 고유(固有: individual)하게 설정 가능한 것으로 해도 좋고, 예를 들면 유저의 설정 조작에 따라서 동작 상태 제어 기능을 무효로 하는 것이 가능하도록 해도 좋다.
정보 처리부(81-1) 내지 정보 처리부(81-3)를 개개로 구별할 필요가 없을 때, 단지 정보 처리부(81)라고 칭하고, 메모리 제어부(82-1) 내지 메모리 제어부(82-3)를 개개로 구별할 필요가 없을 때, 단지 메모리 제어부(82)라고 칭하며, ACPI 제어부(83-1) 내지 ACPI 제어부(83-3)를 개개로 구별할 필요가 없을 때, 단지 ACPI 제어부(83)라고 칭하기로 한다.
다음에, 관리 OS(51)가 논리 분할한 논리 구획에서 실행되는 게스트 OS(52-1) 내지 게스트 OS(52-3)를 제어하는 경우의 동작에 대해서, 플로차트를 이용하여 설명한다.
도 11의 플로차트를 참조해서, 정지 후보 리스트 작성 처리 1에 대해서 설명한다.
스텝 S1에서, 논리 구획표 관리부(62)는 논리 분할의 형태나 실행되는 게스트 OS가 변경되었는지 여부 및, 계산기 시스템(1)에 포함되는 물리적인 모듈이 변경되었는지 여부를 기초로, 논리 구획표의 생성 또는 갱신이 필요한지 여부를 판단한다. 스텝 S1에서 논리 구획표의 생성 또는 갱신이 필요하지 않다고 판단된 경우, 논리 구획표의 생성 또는 갱신이 필요하다고 판단될 때까지 스텝 S1의 처리가 되풀이된다.
스텝 S1에서 논리 구획표의 생성 또는 갱신이 필요하다고 판단된 경우, 스텝 S2에서 논리 구획표 관리부(62)는 게스트 OS 관리 제어부(61)로부터 현재의 논리 분할의 형태, 실행되는 게스트 OS 및 계산기 시스템(1)에 포함되는 물리적인 모듈에 관한 정보를 취득해서, 논리 구획표를 생성 또는 갱신한다.
스텝 S3에서, 정지 후보 리스트 작성부(63)는 스텝 S2에서 생성 또는 갱신된 논리 구획표를 참조한다.
스텝 S4에서, 정지 후보 리스트 작성부(63)는 논리 구획표를 참조해서, 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)가 있는지 여부를 판단한다.
스텝 S4에서 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)가 있다고 판단된 경우, 스텝 S5에서 정지 후보 리스트 작성부(63)는 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)를 추출하고, 정지 후보 리스트에 기재한다.
스텝 S4에서 어느것인가의 논리 구획에 100% 할당되어 있는 CPU(11)가 없다고 판단된 경우, 또는 스텝 S5의 처리 종료후, 스텝 S6에서 정지 후보 리스트 작성부(63)는 논리 구획표를 참조해서, 다른 논리 구획과 공유되어 있지 않은 메모리 모듈(14)이 있는지 여부를 판단한다.
스텝 S6에서 다른 논리 구획과 공유되어 있지 않은 메모리 모듈(14)이 있다고 판단된 경우, 스텝 S7에서 정지 후보 리스트 작성부(63)는 다른 논리 구획과 공유되어 있지 않은 메모리 모듈(14)을 추출하고, 정지 후보 리스트에 기재한다.
스텝 S6에서 다른 논리 구획과 공유되어 있지 않은 메모리 모듈(14)이 없다고 판단된 경우, 또는 스텝 S7의 처리 종료후, 스텝 S8에서, 정지 후보 리스트 작성부(63)는 논리 구획표를 참조해서, 다른 논리 구획과 공유되어 있지 않은 입출력 모듈(18)이 있는지 여부를 판단한다.
스텝 S8에서, 다른 논리 구획과 공유되어 있지 않은 입출력 모듈(18)이 있다고 판단된 경우, 스텝 S9에서 정지 후보 리스트 작성부(63)는 다른 논리 구획과 공유되어 있지 않은 입출력 모듈(18)을 추출하고, 정지 후보 리스트에 기재한다.
스텝 S8에서 다른 논리 구획과 공유되어 있지 않은 입출력 모듈(18)이 없다고 판단된 경우, 또는 스텝 S9의 처리 종료후, 처리는 종료된다.
이와 같은 처리에 의해, 도 10에 도시되는 정지 후보 리스트가 작성되고, 정지 후보 리스트 기억 제어부(64)의 처리에 의해 기억이 제어된다.
다음에, 도 12의 플로차트를 참조해서, 논리 구간(LPAR/0)에서 게스트 OS(52-1)가 실행되고, 클럭 주파수를 내리는 동작 상태의 천이 요구가 이루어진 경우의 처리에 대해서 설명한다.
스텝 S31에서, 관리 OS(51)는 게스트 OS(52-1)의 기동을 위한 논리 구획(LPAR/0)을 결정한다.
스텝 S32에서, 관리 OS(51)는 게스트 OS(52-1)에 기동을 지령(指令)하고, 논리 구간(LPAR/0)에 할당된 디바이스 정보를 통지한다. 여기서, 관리 OS(51)는 새로운 논리 구획에 새로운 게스트 OS를 기동시키므로, 도 11을 이용하여 설명한 정지 후보 리스트 작성 처리 1을 실행해서, 정지 후보 리스트를 신규 작성 또는 갱신한다.
스텝 S33에서, 게스트 OS(52-1)는 관리 OS(51)의 제어에 따라서, 기동하고, 할당된 디바이스 정보를 취득한다.
스텝 S34에서, 게스트 OS(52-1)는 유저의 조작 입력에 의거해서, 예를 들면 응용 프로그램의 실행 등의 통상 처리를 행한다.
스텝 S35에서, 게스트 OS(52-1)는 예를 들면 유저로부터의 조작이 일정 시간 이상 입력되지 않은 경우 등, 관리 OS(51)에 대해서 동작 상태의 천이 요구를 통지하는지 여부를 판단한다. 스텝 S35에서 동작 상태의 천이 요구를 통지하지 않는다고 판단된 경우, 처리는 스텝 S34로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S35에서 동작 상태의 천이 요구를 통지한다고 판단된 경우, 스텝 S36에서 게스트 OS(52-1)는 클럭 주파수를 내리기 위한 동작 상태 천이요구를 관리 OS(51)에 대해서 통지한다.
스텝 S37에서, 관리 OS(51)는 어느것인가의 게스트 OS로부터(여기서는 게스트 OS(52-1)로부터) 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S37에서 동작 상태 천이 요구의 통지를 받고 있지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S37의 처리가 되풀이된다.
스텝 S37에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S38에서 관리 OS(51)는 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획표를 참조함과 동시에, 정지 후보 리스트 기억 제어부(64)에 의해 기억이 제어되고 있는 정지 후보 리스트를 참조해서, 동작 상태의 천이 요구를 통지해 온 게스트 OS(여기서는 게스트 OS(52-1))의 동작 상태의 천이에 대응해서 천이 가능한 모듈을 추출함과 동시에, 논리 구획표 관리부(62)에 의해 보존되고 있는 모듈마다의 모듈 정보표를 참조해서, 천이 가능한 모듈의 천이 상태를 선택한다.
구체적으로는, 관리 OS(51)는 도 10을 이용하여 설명한 정지 후보 리스트를 참조해서, 동작 상태의 천이 요구를 통지해 온 게스트 OS(52-1)에서의 정지 후보 모듈인 CPU(11-1), 입출력 모듈(18-1) 및 메모리 모듈(14-1)을 추출한다. 그리고, 예를 들면, 도 8을 이용하여 설명한 바와 같은 논리 구획표 관리부(62)에 의해 보존되고 있는 모듈마다의 모듈 정보표를 참조해서, 클럭 주파수가 내려진 상태로 동작 상태를 천이시키는 요구에 대해서 천이 가능한 모듈의 천이 상태를 선택한다.
스텝 S39에서, 관리 OS(51)는 천이 상태의 결정 내용을 동작 상태의 천이 요구를 통지해 온 게스트 OS(여기서는 게스트 OS(52-1))에 통지한다.
스텝 S40에서, 관리 OS(51)는 스텝 S38의 처리에 의해 어느것인가의 모듈의 클럭 주파수가 내려지는 것이 허가되었는지 여부를 판단한다. 스텝 S40에서, 어느 모듈도 클럭 주파수가 내려지는 것이 허가되지 않았다고 판단된 경우, 처리는 스텝 S37로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S40에서 어느것인가의 모듈의 클럭 주파수가 내려지는 것이 허가되었다고 판단된 경우, 스텝 S41에서 관리 OS(51)는 상태의 천이를 위해 필요한 처리, 구체적으로는 예를 들면 메모리 모듈(14) 등에 기록되어 있는 정보 중에서 퇴피가 필요한 정보가 있는지 여부를 판단하고, 퇴피가 필요한 정보가 있는 경우, 그 정보를 취득하고, 필요에 따라서 HDD(22)나 입출력 모듈(18)에 접속되어 있는 외부 기억 장치 중의 어느것인가에 기억시키는 처리를 제어한다.
스텝 S42에서, 게스트 OS(52-1)는 어느것인가의 모듈의 클럭 주파수가 내려지는 것이 허가되었는지 여부를 판단한다. 스텝 S42에서 어느것인가의 모듈의 클럭 주파수가 내려지는 것이 허가되지 않았다고 판단된 경우, 처리는 스텝 S34로 되 돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S42에서 어느것인가의 모듈의 클럭 주파수가 내려지는 것이 허가되었다고 판단된 경우, 게스트 OS(52-1)는 스텝 S43에서 상태의 천이를 위해 필요한 처리, 구체적으로는 관리 OS(51)의 제어에 의거해서, 퇴피가 필요한 정보를 출력하는 처리 등을 실행하고, 스텝 S44에서 관리 OS(51)의 제어에 의거해서, 소정 모듈의 통상 처리 상태에서 저소비 전력 동작 상태로 상태를 천이한다.
스텝 S45에서, 게스트 OS(52-1)는 예를 들면 유저의 조작 입력을 받은 경우 등에 있어서, 관리 OS(51)에 저소비 전력 상태에서 통상 동작 상태로의 동작 상태의 천이 요구를 통지하는지 여부를 판단한다. 스텝 S45에서 동작 상태의 천이 요구를 통지하지 않는다고 판단된 경우, 동작 상태의 천이 요구를 통지한다고 판단될 때까지 스텝 S45의 처리가 되풀이된다.
스텝 S45에서 동작 상태의 천이 요구를 통지한다고 판단된 경우, 스텝 S46에서 게스트 OS(52-1)는 클럭 주파수를 올리기 위한 동작 상태 천이요구를 관리 OS(51)에 대해서 통지한다.
스텝 S47에서, 관리 OS(51)는 어느것인가의 게스트 OS로부터(여기서는 게스트 OS(52-1)로부터) 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S47에서 동작 상태 천이 요구의 통지를 받지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S47의 처리가 되풀이된다.
스텝 S47에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S48에서 관리 OS(51)는 상태의 천이를 허가하고, 동작 상태 천이 요구의 요구원(要 求元)으로 되는 게스트 OS(여기서는 게스트 OS(52-1))에 통지한다.
스텝 S49에서, 관리 OS(51)는 상태의 천이를 위해 필요한 처리, 구체적으로는 논리 구획(LPAR/0)에 할당되어 있는 리소스 중에서 클럭 주파수가 내려진 리소스에 대해서 클럭 주파수를 통상 상태로 올리게 하거나 퇴피시킨 정보의 복원을 제어하는 등의 처리를 실행한다.
스텝 S50에서, 게스트 OS(52-1)는 상태의 천이를 허가하는 통지를 받고, 상태의 천이를 위해 필요한 처리, 구체적으로는 관리 OS(51)의 제어에 의거해서 퇴피된 정보를 취득해서, 다시 한번(再度) 메모리 모듈(14)에 전개(展開)하는 처리 등을 실행하고, 처리가 종료된다.
이와 같은 처리에 의해, 게스트 OS(52-1)가 가지는 ACPI 등에 준거(準據)한 소비 전력의 삭감을 위한 상태 천이 요구를 발행하는 기능을 이용하여, 관리 OS(51)가 논리 구획표, 정지 후보 리스트 및 모듈 정보표를 참조해서, 다른 게스트 OS의 처리에 영향을 미치지 않도록, 가능한 모듈의 클럭 주파수를 내려서, 저소비 전력 동작 상태로 상태를 천이시키는 것에 의해 소비 전력을 삭감시키고, 게스트 OS(52-1)로부터의 다시 한번의 동작 상태의 천이 요구에 의해, 논리 구획(LPAR/0)에 할당되어 있는 리소스 중에서 클럭 주파수가 내려진 리소스에 대해서 클럭 주파수를 통상 상태로 올리게 해서, 통상 동작 상태로 상태를 복귀시키도록 할 수가 있다.
그런데, 게스트 OS(52) 중의 어느것인가의 동작 상태가 전원 공급 정지 상태로 천이된 경우, 자기 자신은 관리 OS(51)에 대해서 상태의 복귀를 요구할 수가 없 다.
그래서, 게스트 OS(52) 중의 적어도 하나 또는 게스트 OS(52) 중의 적어도 하나에서 동작 가능한 응용 프로그램은, 전원 공급 정지 상태의 다른 게스트 OS(52)의 실행 재개를 관리 OS(51)에 요구하는 Hypervisor 호출을 행하는 기능을 가지는 것으로 한다. Hypervisor 호출 기능을 가지는 게스트 OS(52)나 또는 Hypervisor 호출 기능을 가지는 응용 프로그램은 일시 정지중인 게스트 OS(52)의 실행 재개를 지령하는 조작을 유저가 입력하기 위한 유저 인터페이스를 제공한다. 일시 정지중인 다른 게스트 OS(52)의 실행 재개를 관리 OS(51)에 요구하는 Hypervisor 호출을 행하는 기능을 자기 자신이 가지는 게스트 OS(52), 또는 이러한 기능을 가지는 어플리케이션 프로그램이 실행되고 있는 게스트 OS(52)는 유저로부터의 실행 재개 지시를 수취(受取)하고, Hypervisor 호출을 행하는 기능을 이용하여 관리 OS(51)에 일시 정지중인 게스트 OS(51)의 실행 재개를 요구한다.
또한, 유저가 일시 정지중인 게스트 OS(52)의 실행 재개를 지령하는 조작을 입력하기 위한 유저 인터페이스는 계산기 시스템(1)의 관리자만이 조작 가능하도록 보호되는 것이 바람직하다.
도 13의 플로차트를 참조해서, 게스트 OS(52-2)가 일시 정지중인 게스트 OS(52-1)의 실행 재개를 관리 OS(51)에 요구하는 Hypervisor 호출을 행하는 경우의 처리에 대해서 설명한다.
스텝 S81에서, 게스트 OS(52-2)는 통상 처리를 행하고 있다.
스텝 S82 내지 스텝 S85에서, 관리 OS(51) 및 게스트 OS(52-1)는 도 12의 스 텝 S31 내지 스텝 S34와 마찬가지 처리를 실행한다. 즉, 관리 OS(51)는 게스트 OS(52-1)의 기동을 위한 논리 구획(LPAR/0)을 결정하고, 게스트 OS(52-1)에 기동을 지령하고, 논리 구간(LPAR/0)에 할당된 디바이스 정보를 통지한다. 그리고, 게스트 OS(52-1)는 관리 OS(51)의 제어에 따라서 기동하고, 할당된 디바이스 정보를 취득하며, 유저의 조작 입력에 의거해서, 예를 들면 어플리케이션 프로그램의 실행 등의 통상 처리를 행한다.
스텝 S86에서, 게스트 OS(52-1)는 예를 들면 유저로부터의 조작이 일정 시간 이상 입력되지 않은 경우 등, 관리 OS(51)에 대해서 전원 차단을 위한 동작 상태의 천이 요구를 통지하는지 여부를 판단한다. 스텝 S86에서 동작 상태의 천이 요구를 통지하지 않는다고 판단된 경우, 처리는 스텝 S85로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S86에서 동작 상태의 천이 요구를 통지한다고 판단된 경우, 스텝 S87에서 게스트 OS(52-1)는 전원 차단을 위한 동작 상태 천이 요구를 관리 OS(51)에 대해서 통지한다.
스텝 S88에서, 관리 OS(51)는 어느것인가의 게스트 OS로부터(여기서는 게스트 OS(52-1)로부터) 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S88에서 동작 상태 천이 요구의 통지를 받고 있지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S88의 처리가 되풀이된다.
스텝 S88에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S89에서, 관리 OS(51)는 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획 표를 참조함과 동시에, 정지 후보 리스트 기억 제어부(64)에 의해 기억이 제어되고 있는 정지 후보 리스트를 참조해서, 동작 상태의 천이 요구를 통지해 온 게스트 OS(여기서는 게스트 OS(52-1))의 동작 상태의 천이에 대응해서 천이 가능한 모듈을 추출함과 동시에, 논리 구획표 관리부(62)에 의해 보존되고 있는 모듈마다의 모듈 정보표를 참조해서, 천이 가능한 모듈의 천이 상태를 선택한다.
구체적으로는, 관리 OS(51)는 도 10을 이용하여 설명한 정지 후보 리스트를 참조해서, 동작 상태의 천이 요구를 통지해 온 게스트 OS(52-1)에서의 정지 후보 모듈인 CPU(11-1), 입출력 모듈(18-1) 및 메모리 모듈(14-1)을 추출한다. 그리고, 예를 들면, 도 8을 이용하여 설명한 바와 같은 논리 구획표 관리부(62)에 의해 보존되고 있는 모듈마다의 모듈 정보표를 참조해서, 전원 차단의 동작 천이 요구에 대해서 천이 가능한 모듈의 천이 상태를 선택한다.
스텝 S90에서, 관리 OS(51)는 천이 상태의 결정 내용을 동작 상태의 천이 요구를 통지해 온 게스트 OS(여기서는 게스트 OS(52-1))에 통지한다.
스텝 S91에서, 관리 OS(51)는 스텝 S89의 처리에 의해 어느것인가의 모듈의 전원을 차단하는 것이 허가되었는지 여부를 판단한다. 스텝 S91에서 어느 모듈에서도 전원이 차단되는 것이 허가되지 않았다고 판단된 경우, 처리는 스텝 S88로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S91에서 어느것인가의 모듈의 전원이 차단되는 것이 허가되었다고 판단된 경우, 스텝 S92에서 관리 OS(51)는 상태의 천이를 위해 필요한 처리, 구체적으로는 예를 들면 메모리 모듈(14) 등에 기록되어 있는 정보 중에서 퇴피가 필요한 정보가 있는지 여부를 판단하고, 퇴피가 필요한 정보가 있는 경우, 그 정보를 취득하며, 필요에 따라서 HDD(22)나 입출력 모듈(18)에 접속되어 있는 외부 기억 장치 중의 어느것인가에 기억시키는 처리를 제어한다.
스텝 S93에서, 게스트 OS(52-1)는 어느것인가의 모듈에서 전원이 차단되는 것이 허가되었는지 여부를 판단한다. 스텝 S93에서 어느 모듈에서도 전원이 차단되는 것이 허가되지 않았다고 판단된 경우, 처리는 스텝 S85로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S93에서 어느것인가의 모듈의 전원이 차단되는 것이 허가되었다고 판단된 경우, 게스트 OS(52-1)는 스텝 S94에서 상태의 천이를 위해 필요한 처리, 구체적으로는 관리 OS(51)의 제어에 의거해서 퇴피가 필요한 정보를 출력하는 처리 등을 실행하고, 스텝 S95에서 관리 OS(51)의 제어에 의거해서, 소정 모듈의 통상 처리 상태에서 실행 정지 상태로 상태를 천이한다.
스텝 S96에서, 게스트 OS(52-2)는 예를 들면 유저의 조작 입력에 의거해서, 다른 게스트 OS(여기서는 게스트 OS(52-1))의 동작 상태를 실행 정지 상태에서 통상 동작 상태로 천이시키기 위해서, 관리 OS(51)에 동작 상태의 천이 요구를 통지할지 여부를 판단한다. 스텝 S96에서 동작 상태의 천이 요구를 통지하지 않는다고 판단된 경우, 처리는 스텝 S81로 되돌아가고, 게스트 OS(52-2)에서는 동작 상태의 천이 요구를 통지한다고 판단될 때까지 스텝 S81 및 스텝 S96의 처리가 되풀이된다.
스텝 S96에서 동작 상태의 천이 요구를 통지한다고 판단된 경우, 스텝 S97에 서 게스트 OS(52-2)는 소정의 게스트 OS(여기서는 게스트 OS(52-1)의 동작 상태를 실행 정지 상태에서 통상 동작 상태로 천이시키기 위해서, 관리 OS(51)에 동작 상태의 천이 요구를 통지한다.
스텝 S98에서, 관리 OS(51)는 어느것인가의 게스트 OS로부터(여기서는 게스트 OS(52-2)로부터) 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S98에서 동작 상태 천이 요구의 통지를 받고 있지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S98의 처리가 되풀이된다.
스텝 S98에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S99에서 관리 OS(51)는 상태의 천이를 허가하고, 동작 상태가 천이될 게스트 OS(여기서는 게스트 OS(52-1))를 기동시킨다.
스텝 S100에서, 관리 OS(51)는 상태의 천이를 위해 필요한 처리, 구체적으로는 게스트 OS(52-1)가 이용하고 있는, 즉 논리 구획(LPAR/0)에 할당되어 있는 리소스중에서 전원 공급이 절단되어 있는 것에 대해서, 다시 한번 전원을 공급시키거나 퇴피시킨 정보의 복원을 제어하는 등의 처리를 실행한다.
스텝 S101에서, 게스트 OS(52-1)는 상태의 천이를 허가하는 통지를 받고, 상태의 천이를 위해 필요한 처리, 구체적으로는 관리 OS(51)의 제어에 의거해서 퇴피된 정보를 취득하여, 다시 한번 메모리 모듈(14)에 전개하는 처리 등을 실행하고, 처리가 종료된다.
이와 같은 처리에 의해, 게스트 OS(52-1)가 가지는 ACPI 등에 준거한 소비 전력의 삭감을 위한 상태 천이 요구를 발행하는 기능을 이용하여, 관리 OS(51)가 논리 구획표, 정지 후보 리스트 및 모듈 정보표를 참조해서, 다른 게스트 OS의 처리에 영향을 미치지 않도록 가능한 모듈에의 전원 공급을 차단해서, 실행 정지 상태로 상태를 천이시키는 것에 의해 소비 전력을 삭감시키고, 게스트 OS(52-1) 이외의 다른 게스트 OS, 예를 들면 게스트 OS(52-2)로부터의 동작 상태의 천이 요구에 의해, 실행 정지 상태에 있는 게스트OS(52-1)가 이용하고 있는, 즉 논리 구획(LPAR/0)에 할당되어 있는 리소스 중에서 전원 공급이 절단되어 있는 것에 대해서 다시 한번 전원을 공급시켜서, 통상 동작 상태로 상태를 복귀시키도록 할 수가 있다.
다음에, 도 14의 플로차트를 참조해서 도 12의 스텝 S35, 스텝 S36, 스텝 S42, 스텝 S43의 처리, 또는 도 13의 스텝 S86, 스텝 S87, 스텝 S93, 스텝 S94의 처리에 대응하는 처리인, 게스트 OS(52)에 의한 동작 상태 제어 처리에 대해서 설명한다.
스텝 S131에서, 게스트 OS(52)의 정보 처리부(81)는 인터럽트가 발생했는지 여부를 판단한다.
스텝 S131에서 인터럽트가 발생하고 있지 않다고 판단된 경우, 스텝 S132에서 정보 처리부(81)는 통상 처리를 실행하고, 처리는 스텝 S131로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S131에서 인터럽트가 발생했다고 판단된 경우, 스텝 S133에서 정보 처리부(81)는 발생한 인터럽트는 유저 타이머(17)(도 1)에 의해 카운트되는 유저 타이머 인터럽트인지 여부, 즉 소정의 시간, 유저로부터의 조작 입력이 행해지지 않 은 경우에 발생되는 인터럽트인지 여부를 판단한다.
스텝 S133에서, 발생한 인터럽트는 유저 타이머 인터럽트가 아니라고 판단된 경우, 스텝 S134에서 정보 처리부(81)는 조작 입력에 의한 인터럽트인지 여부를 판단한다.
스텝 S134에서, 조작 입력에 의한 인터럽트라고 판단된 경우, 스텝 S135에서 정보 처리부(81)는 조작 입력에 대응하는 처리를 실행함과 동시에, 유저 타이머(17)를 리세트한다.
스텝 S134에서 발생한 인터럽트는 예를 들면, 관리 OS로부터의 제어 명령인 조작 입력 이외의 인터럽트라고 판단된 경우, 스텝 S136에서 정보 처리부(81)는 인터럽트에 따른 처리를 실행한다. 스텝 S135 또는 스텝 S136의 처리의 종료후, 처리는 스텝 S131로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S133에서 발생한 인터럽트는 유저 타이머 인터럽트라고 판단된 경우, 스텝 S137에서 정보 처리부(81)는 ACPI 제어부(83)에 유저 타이머 인터럽트의 발생을 통지한다. ACPI 제어부(83)는 클럭 주파수를 내리거나 전원을 차단하기 위한 동작 상태 천이 요구를 관리 OS(51)에 통지한다. 이 처리는 예를 들면 도 12를 이용하여 설명한 스텝 S36의 처리, 또는 도 13을 이용하여 설명한 스텝 S87의 처리에 대응하는 처리이다.
스텝 S138에서, 정보 처리부(81)는 관리 OS(51)로부터 동작 상태의 천이가 지령되었는지 여부를 판단한다. 스텝 S138에서 동작 상태의 천이가 지령되지 않았다고 판단된 경우, 처리는 스텝 S131로 되돌아가서, 그 이후의 처리가 되풀이된다.
스텝 S138에서 동작 상태의 천이가 지령되었다고 판단된 경우, 스텝 S139에서 정보 처리부(81)는 동작 상태를 천이함에 있어서 콘텍스트의 퇴피가 필요한지 여부를 판단한다.
스텝 S139에서, 콘텍스트의 퇴피가 필요하다고 판단된 경우, 스텝 S140에서 정보 처리부(81)는 메모리 제어부(82)의 처리에 의해 기억이 제어되고 있는 콘텍스트를 예를 들면 HDD(22) 등에 퇴피시킨다.
스텝 S139에서 콘텍스트의 퇴피가 필요하지 않다고 판단된 경우, 또는 스텝 S140의 처리의 종료후, 처리는 종료된다.
이와 같은 처리에 의해, 게스트 OS(52)는 ACPI에 의거해서 동작 상태의 천이를 제어할 수 있도록, 관리 OS에 동작 상태의 천이 요구를 통지할 수 있고, 관리 OS로부터 동작 상태의 천이가 지령된 경우, 콘텍스트의 퇴피 등이 필요한 처리가 실행되고, 동작 상태가 천이 된다.
다음에, 도 15의 플로차트를 참조해서, 소비 전력량의 삭감을 위한 동작 상태 천이 요구를 받은 관리 OS(51)가 실행하는 처리, 즉 도 12의 스텝 S37 내지 스텝 S41의 처리 또는 도 13의 스텝 S88 내지 스텝 S92의 처리에 대응하는 처리인 동작 상태 천이 처리 1에 대해서 설명한다.
스텝 S171에서, 게스트 OS 관리 제어부(61)는 게스트 OS(52) 중의 어느것인가로부터 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S171에서 동작 상태 천이 요구의 통지를 받고 있지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S171의 처리가 되풀이된다.
스텝 S171에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S172에서 게스트 OS 관리 제어부(61)는 정지 후보 리스트 작성부(63)에 의해 생성되고, 정지 후보 리스트 기억 제어부(64)에 의해 기억이 제어되고 있는 정지 후보 리스트 및, 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획표를 참조한다.
스텝 S173에서, 게스트 OS 관리 제어부(61)는 정지 후보 리스트 및 논리 구획표를 기초로, 동작 상태 천이 요구를 통지한 게스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서 정지 가능 또는 상태의 천이가 가능한 모듈이 있는지 여부를 판단한다.
스텝 S173에서 정지 가능 또는 상태의 천이가 가능한 모듈이 없다고 판단된 경우, 스텝 S174에서 게스트 OS 관리 제어부(61)는 동작 상태 천이 요구를 통지한 게스트 OS(52)에 대해서 상태 천이가 불가(不可)인 것을 통지하고, 처리는 종료된다.
스텝 S173에서 정지 가능 또는 상태의 천이가 가능한 모듈이 있다고 판단된 경우, 스텝 S175에서 게스트 OS 관리 제어부(61)는 논리 구획표 관리부(62)에 의해 관리되고 있는 정지 가능 또는 상태의 천이가 가능한 모듈에 대응하는 모듈 정보표를 참조한다.
스텝 S176에서, 게스트 OS 관리 제어부(61)는 스텝 S175에서 참조한 모듈 정보표를 기초로, 상태 천이를 행하는 경우의 천이 상태를 선택한다.
구체적으로는, 게스트 OS 관리 제어부(61)는 동작 상태 천이 요구가 전원 정 지를 요구하는 것이고, 정지 후보 리스트를 참조해서, 정지 가능한 모듈, 즉 대응하는 게스트 OS(52)가 100% 사용하고 있는 모듈이 있는 경우는 그 모듈의 전원 공급을 정지시키는 것으로 하고, 동작 상태 천이 요구가 클럭 주파수의 저하에 의한 저소비 전력 모드로의 전환이며, 대응하는 게스트 OS(52)가 100% 사용하고 있는 모듈이 있는 경우는 그 모듈에 공급되는 클럭 주파수를 저하시키는 것으로 한다. 또한, 동작 상태 천이 요구의 종류에 관계없이, 대응하는 게스트 OS(52)가 부분적으로 사용하고 있는 모듈 밖에 존재하지 않는 경우, 시분할 처리에서 할당되어 있는 시간만, 전원 공급 또는 공급되는 클럭 주파수를 제어해서, 전력 소비량을 감소시킬 수 있도록 해도 좋다.
스텝 S177에서, 게스트 OS 관리 제어부(61)는 상태가 천이될 게스트 OS(52)에서 콘텍스트의 퇴피가 필요한지 여부를 판단한다.
스텝 S177에서 콘텍스트의 퇴피가 필요하다고 판단된 경우, 스텝 S178에서 게스트 OS 관리 제어부(61)는 전력 제어용 콘텍스트 보존 제어부(69)에 콘텍스트의 퇴피가 필요한 것을 통지하고, 전력 제어용 콘텍스트 보존 제어부(69)는 상태가 천이될 게스트 OS(52)의 콘텍스트를 퇴피시킨다.
스텝 S177에서, 콘텍스트의 퇴피가 필요하지 않다고 판단된 경우 또는 스텝 S178의 처리의 종료후, 스텝 S179에서 게스트 OS 관리 제어부(61)는 상태 천이 요구를 통지한 게스트 OS(52)에 상태 천이를 허가하는 것을 통지하고, 전원 제어부(66) 또는 클럭 공급 제어부(67)의 처리에 의해, 동작 상태 천이 요구를 통지한 게스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서, 상태의 천 이가 허가된 모듈에 대해서 전원 또는 클럭 주파수 등의 설정을 제어시키고, 처리가 종료된다.
이와 같은 처리에 의해, 관리 OS(51)는 동작 상태 천이 요구를 통지한 게스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서 상태의 천이가 가능한 모듈을 선택해서 천이될 상태를 결정하고, 필요에 따라서 콘텍스트를 퇴피시킨 후에, 상태의 천이가 가능하다고 해서 선택된 모듈의 전원 공급의 설정 또는 클럭 주파수를 변경시킬 수가 있다. 이것에 의해, 관리 OS(51)는 유저에 의해 일정 시간 이상 조작 입력이 없는 등에 의해서 게스트 OS(52)로부터 동작 상태의 천이가 요구된 경우, 병행해서 실행되고 있는 다른 게스트 OS(52)의 동작에 영향을 미치지 않고 , 모듈의 일부의 소비 전력량을 삭감시키도록 할 수가 있다.
다음에, 도 16의 플로차트를 참조해서, 소비 전력량의 삭감을 위한 동작 상태에서 통상 상태로의 상태 천이 요구를 받은 관리 OS(51)가 실행하는 처리, 즉 도 12의 스텝 S47 내지 스텝 S49의 처리 또는 도 13의 스텝 S98 내지 스텝 S100의 처리에 대응하는 처리인 동작 상태 천이 처리 2에 대해서 설명한다.
스텝 S201에서, 게스트 OS 관리 제어부(61)는 게스트 OS(52) 중의 어느것인가로부터 동작 상태 천이 요구의 통지를 받았는지 여부를 판단한다. 스텝 S201에서 동작 상태 천이 요구의 통지를 받고 있지 않다고 판단된 경우, 동작 상태 천이 요구의 통지를 받았다고 판단될 때까지 스텝 S201의 처리가 되풀이된다.
스텝 S201에서 동작 상태 천이 요구의 통지를 받았다고 판단된 경우, 스텝 S202에서 게스트 OS 관리 제어부(61)는 정지 후보 리스트 작성부(63)에 의해 생성 되고, 정지 후보 리스트 기억 제어부(64)에 의해 기억이 제어되고 있는 정지 후보 리스트 및, 논리 구획표 관리부(62)에 의해 관리되고 있는 논리 구획표를 참조한다.
스텝 S203에서, 게스트 OS 관리 제어부(61)는 정지 후보 리스트 및 논리 구획표를 기초로, 동작 상태 천이 요구를 통지한 게스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서 상태가 천이되어 있는 모듈을 확인한다.
스텝 S204에서, 게스트 OS 관리 제어부(61)는 논리 구획표 관리부(62)에 의해 관리되고 있는 정지 가능한 모듈에 대응하는 모듈 정보표를 참조한다.
스텝 S205에서, 게스트 OS 관리 제어부(61)는 스텝 S204에서 참조한 모듈 정보표를 기초로 천이 상태를 선택한다.
스텝 S206에서, 게스트 OS 관리 제어부(61)는 상태가 천이될 게스트 OS(52)에서 콘텍스트가 퇴피되어 있는지 여부를 판단한다.
스텝 S206에서 콘텍스트가 퇴피되어 있다고 판단된 경우, 스텝 S207에서 게스트 OS 관리 제어부(61)는 전력 제어용 콘텍스트 보존 제어부(69)에 콘텍스트의 복원이 필요한 것을 통지하고, 전력 제어용 콘텍스트 보존 제어부(69)는 상태가 천이될 게스트 OS(52)의 콘텍스트를 복원시킨다.
스텝 S206에서 콘텍스트가 퇴피되어 있지 않다고 판단된 경우 또는 스텝 S207의 처리의 종료후, 스텝 S208에서 게스트 OS 관리 제어부(61)는 상태 천이 요구를 통지한 게스트 OS(52)에 상태 천이를 허가하는 것을 통지하고, 전원 제어부(66) 또는 클럭 공급 제어부(67)의 처리에 의해, 동작 상태 천이 요구를 통지한 게 스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서 상태가 천이되어 있던 모듈에 대해서 전원, 또는 클럭 주파수 등의 설정을 제어시켜서 상태를 복귀시키고, 처리가 종료된다.
이와 같은 처리에 의해, 관리 OS(51)는 동작 상태 천이 요구를 통지한 게스트 OS(52)가 실행되고 있는 논리 구획에 할당되어 있는 모듈 중에서 상태가 천이되어 있던 모듈을 복귀시키도록 할 수가 있다.
이와 같이 해서, 본 발명을 적용한 계산기 시스템(1)에서는, 게스트 OS(52)의 요구에 의거해서, 관리 OS(51)에 의해, 실행 중인 다른 게스트 OS(52)의 처리에 영향을 미치는 일없이, 효과적으로 소비 전력을 삭감시키는 것이 가능하므로, 게스트 OS(52)의 용도에 따른 소비 전력 제어가 가능해진다.
상술한 일련의 처리는 소프트웨어에 의해 실행할 수도 있다. 그 소프트웨어는 그 소프트웨어를 구성하는 프로그램이 전용 하드웨어에 짜넣어져 있는 컴퓨터 또는 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들면 범용 퍼스널 컴퓨터 등에 기록 매체로부터 인스톨된다.
이 기록 매체는 도 1에 도시하는 바와 같이, 컴퓨터와는 별도로 유저에게 프로그램을 제공하기 위해서 배포되는 프로그램이 기록되어 있는 리무버블(removable) 미디어(24), 즉 자기(磁氣) 디스크(플렉시블 디스크를 포함한다), 광디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함한다), 광학 자기 디스크(MD(Mini-Disk)(상표)를 포함한다), 혹은 반도체 메모리 등으로 이루어지는 패키지 미디어 등에 의해 구성된다.
또, 본 명세서에서 기록 매체에 기록되는 프로그램을 기술하는 스텝은 기재된 순서에 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도 병렬적 혹은 개별(個別)로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서 시스템이란, 하나 또는 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
본 발명에 의하면, 복수의 오퍼레이팅 시스템을 실행시킬 수 있으며, 특히 오퍼레이팅 시스템의 동작이 관리되고, 복수의 오퍼레이팅 시스템이 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구가 통지된 경우, 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원의 동작 상태를 제어하도록 했으므로, 복수의 오퍼레이팅 시스템이 실행되고 있는 상태에서, 동작하고 있는 오퍼레이팅 시스템에 영향을 미치는 일 없이, 소정의 물리 자원의 상태를 제어하는 것이 가능해져, 효율적으로 소비 전력량을 저감시킬 수가 있다.
또, 다른 본 발명에 의하면, 복수의 오퍼레이팅 시스템을 실행시킬 수 있으며, 특히 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅시스템으로부터 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션에 상태 천이 요구가 통지된 경우, 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원을 추출하고, 추출된 물리 자원 상태를 제어하도록 했으므로, 효율좋게 소비 전력량을 저감시킬 수가 있다.

Claims (14)

  1. 복수의 연산 수단을 가지는 정보 처리 시스템에 있어서,
    오퍼레이팅 시스템을 실행하는 오퍼레이팅 시스템 실행 수단과,
    상기 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션을 실행하는 관리 어플리케이션 실행 수단
    을 구비하고,
    상기 오퍼레이팅 시스템 실행 수단 및 상기 관리 어플리케이션 실행 수단은 복수의 상기 연산 수단 중의 어느것인가에 대응하고,
    상기 오퍼레이팅 시스템 실행 수단은 복수의 상기 오퍼레이팅 시스템을 실행 가능하고,
    상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 상기 오퍼레이팅 시스템 중의 적어도 하나는 상기 관리 어플리케이션에 대해서 상태 천이(遷移: change) 요구를 통지하는 기능을 구비하고,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 제1 오퍼레이팅 시스템으로부터 상태 천이 요구의 통지를 받은 경우, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 물리 자원(資源: resource)의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  2. 제1항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 물리 자원을 논리적으로 분할해서, 다른 처리를 실행시키는 논리 분할 기능을 가지고,
    상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 상기 오퍼레이팅 시스템은 상기 관리 어플리케이션의 상기 논리 분할 기능에 의해 논리 분할되어 생성된 복수의 논리 구획에서 각각 실행되는
    것을 특징으로 하는 정보 처리 시스템.
  3. 제1항에 있어서,
    상기 오퍼레이팅 시스템 실행 수단 및 상기 관리 어플리케이션 실행 수단은 적어도 그의 일부가 동일한 상기 물리 자원에 대응하는
    것을 특징으로 하는 정보 처리 시스템.
  4. 제1항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 상기 물리 자원에의 전원 공급을 제어하는 기능을 가지는
    것을 특징으로 하는 정보 처리 시스템.
  5. 제4항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션에서 배타적(排他的: exclusive)으로 이용되고, 소정의 정보를 기록하는 기록 수단을 더 구비하고,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 상기 물리 자원의 실행 상태 또는 실행 중인 처리에 관한 정보를 상기 기록 수단에 기록시킨 후, 상기 물리 자원에의 전원 공급을 제어하는 기능을 가지는
    것을 특징으로 하는 정보 처리 시스템.
  6. 제4항에 있어서,
    소정의 정보를 기록하고, 또한 상기 물리 자원으로서 상기 제1 오퍼레이팅 시스템에 전유적(專有的: exclusive)으로 이용되고 있지 않은 기록 수단을 더 구비하고,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 물리 자원의 실행 상태 또는 실행중인 처리에 관한 정보를 상기 기록 수단에 기록 시킨 후, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 상기 물리 자원에의 전원 공급을 제어하는 기능을 가지는
    것을 특징으로 하는 정보 처리 시스템.
  7. 제1항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 제1 오퍼레이팅 시스템에 의해서 이용되고 있는 상기 물리 자원에 공급되는 클럭 주파수를 제어하는 기능을 가지는
    것을 특징으로 하는 정보 처리 시스템.
  8. 제1항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고, 또한 상기 상태 천이 요구를 통지한 상기 제1 오퍼레이팅 시스템 이외의 상기 오퍼레이팅 시스템에 의해 이용되고 있지 않은 상기 물리 자원의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  9. 제8항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은
    복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 어느것인가의 상기 오퍼레이팅 시스템에 의해 점유(占有)되고 있는 상기 물리 자원을 일람(一覽)하는 리스트를 생성하는 리스트 생성 기능을 구비하고,
    복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 리스트 생성 기능에 의해 생성된 상기 리스트를 참조하고, 상기 제1 오퍼레이팅 시스템에 의해서 이용되고, 또한 상기 상태 천이 요구를 통지한 상기 제1 오퍼레이팅 시스템 이외의 상기 오퍼레이팅 시스템에 의해서 이용되고 있지 않은 상기 물리 자원의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  10. 제1항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 제1 오퍼레이팅 시스템에 의해 시분할(時分割)로 이용되도록 할당된 기간만, 상기 물리 자원의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  11. 제10항에 있어서,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은
    상기 물리 자원을 논리적으로 분할해서, 다른 처리를 실행시키는 논리 분할 기능을 가지고,
    상기 논리 분할 기능에 의해서 분할된 논리 구간의 각각에서 복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 상기 논리 구간마다 이용되고 있는 상기 물리 자원을 일람하는 리스트를 생성하는 리스트 생성 기능을 구비하고,
    복수의 상기 오퍼레이팅 시스템이 상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 상태에서, 상기 제1 오퍼레이팅 시스템으로부터 상태 천이 요구를 받은 경우, 상기 리스트 생성 기능에 의해 생성된 상기 리스트를 참조하고, 상기 제1 오퍼레이팅 시스템에 의해서 시분할로 이용되도록 할당된 기간만, 상기 물리 자원의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  12. 제1항에 있어서,
    상기 오퍼레이팅 시스템 실행 수단에 의해 실행되고 있는 복수의 상기 오퍼 레이팅 시스템 중의 적어도 하나는 다른 상기 오퍼레이팅 시스템의 동작 상태의 천이 요구를 상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션에 통지하는 기능을 가지고,
    상기 관리 어플리케이션 실행 수단에 의해 실행되고 있는 상기 관리 어플리케이션은 상기 제1 오퍼레이팅 시스템의 동작 상태를 제어하고 있을 때에, 제2 오퍼레이팅 시스템으로부터 상기 제1 오퍼레이팅 시스템의 동작 상태의 천이 요구를 받은 경우, 상기 천이 요구에 의거해서 상기 제1 오퍼레이팅 시스템의 동작 상태를 제어하는
    것을 특징으로 하는 정보 처리 시스템.
  13. 복수의 연산 수단을 이용하여 정보를 처리하는 경우의 정보 처리 방법에 있어서,
    상기 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅시스템으로부터, 상기 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션에 상태 천이 요구를 통지하는 통지 스텝과,
    상기 통지 스텝의 처리에 의해 통지된 상기 상태 천이 요구를 기초로, 상기 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원을 추출하는 추출 스텝과,
    상기 추출 스텝의 처리에 의해 추출된 상기 물리 자원의 상태를 제어하는 상 태 제어 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  14. 복수의 연산 수단을 이용한 정보의 처리를 컴퓨터에 실행시키는 프로그램으로서,
    상기 연산 수단 중의 어느것인가에서 실행되고 있는 제1 오퍼레이팅시스템으로부터 상기 오퍼레이팅 시스템의 동작을 관리하는 관리 어플리케이션에 상태 천이 요구를 통지하는 통지 스텝과,
    상기 통지 스텝의 처리에 의해 통지된 상기 상태 천이 요구를 기초로, 상기 제1 오퍼레이팅 시스템과 병행해서 실행되고 있는 다른 제2 오퍼레이팅 시스템의 처리에 영향을 미치는 일 없이, 상태를 제어하는 것이 가능한 물리 자원을 추출하는 추출 스텝과,
    상기 추출 스텝의 처리에 의해 추출된 상기 물리 자원 상태를 제어하는 상태 제어 스텝
    을 포함하는 것을 특징으로 하는 처리를 컴퓨터에 실행시키기 위한 프로그램.
KR1020050094153A 2004-10-14 2005-10-07 정보 처리 시스템 및 정보 처리 방법과 프로그램 KR20060052086A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00299538 2004-10-14
JP2004299538A JP2006113767A (ja) 2004-10-14 2004-10-14 情報処理システム、および、情報処理方法、並びに、プログラム

Publications (1)

Publication Number Publication Date
KR20060052086A true KR20060052086A (ko) 2006-05-19

Family

ID=36182289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050094153A KR20060052086A (ko) 2004-10-14 2005-10-07 정보 처리 시스템 및 정보 처리 방법과 프로그램

Country Status (4)

Country Link
US (1) US20060085794A1 (ko)
JP (1) JP2006113767A (ko)
KR (1) KR20060052086A (ko)
CN (1) CN100361083C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160145783A (ko) * 2014-06-24 2016-12-20 인텔 코포레이션 가상 머신 전력 관리

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647509B2 (en) * 2006-05-12 2010-01-12 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
CN101211389B (zh) * 2006-12-31 2010-04-07 联想(北京)有限公司 一种硬件安全单元以及其服务请求的处理方法和系统
WO2008117411A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited グリッド処理制御装置
EP2136298A1 (en) * 2007-04-11 2009-12-23 Panasonic Corporation Data saving system, data returning system, data saving method and data returning method
WO2008149412A1 (ja) * 2007-06-04 2008-12-11 Fujitsu Limited 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US8176498B2 (en) * 2007-09-11 2012-05-08 Hewlett-Packard Development Company, L.P. Power setting adjustments by mission operating system in response to requests from platform manager
JP4902501B2 (ja) * 2007-11-12 2012-03-21 株式会社日立製作所 電力制御方法、計算機システム、及びプログラム
US8141092B2 (en) 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition
US8141093B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in an IOV management partition
US8141094B2 (en) 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
US7844845B2 (en) * 2007-12-04 2010-11-30 Lenovo (Singapore) Pte. Ltd. System and method for preventing user O.S. in VMM system from deenergizing device being used by service O.S.
JP5433837B2 (ja) 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
US20090182732A1 (en) * 2008-01-11 2009-07-16 Jianwei Dian Query based operation realization interface
JP4839328B2 (ja) * 2008-01-21 2011-12-21 株式会社日立製作所 サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
JP5251188B2 (ja) * 2008-03-18 2013-07-31 富士通株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
US7941688B2 (en) * 2008-04-09 2011-05-10 Microsoft Corporation Managing timers in a multiprocessor environment
US8948822B2 (en) 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8359415B2 (en) * 2008-05-05 2013-01-22 International Business Machines Corporation Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
JP5157717B2 (ja) 2008-07-28 2013-03-06 富士通株式会社 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム
US8948270B2 (en) 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8964828B2 (en) 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
JP5199000B2 (ja) * 2008-09-25 2013-05-15 株式会社日立製作所 ファイルサーバリソース分割方法、システム、装置及びプログラム
US8910169B2 (en) * 2008-09-30 2014-12-09 Intel Corporation Methods and systems to perform a computer task in a reduced power consumption state
US9449314B2 (en) * 2008-10-02 2016-09-20 International Business Machines Corporation Virtualization of a central processing unit measurement facility
US7827321B2 (en) 2008-10-02 2010-11-02 International Business Machines Corporation Central processing unit measurement facility
JP5445463B2 (ja) * 2008-11-17 2014-03-19 日本電気株式会社 計算機システム、データ保存方法およびプログラム
US9323306B2 (en) * 2008-12-03 2016-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Energy based time scheduler for parallel computing system
US8144582B2 (en) * 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
JP5359401B2 (ja) 2009-03-11 2013-12-04 富士通株式会社 プログラム、コンピュータ及び制御方法
US8458368B2 (en) * 2009-05-26 2013-06-04 Oracle America, Inc. System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device
US9829950B2 (en) 2009-05-26 2017-11-28 Lenovo Enterprise Solutions (Singapore) PTE., LTD. Power management in a virtual machine farm at the local virtual machine platform level by a platform hypervisor extended with farm management server functions
WO2012004948A1 (ja) 2010-07-06 2012-01-12 パナソニック株式会社 仮想計算機システム、仮想計算機制御方法、及び集積回路
JP2012018515A (ja) 2010-07-07 2012-01-26 Fujitsu Ltd 情報処理装置,制御方法,制御プログラム
US9141179B2 (en) * 2010-10-21 2015-09-22 Intel Corporation Fine grained power management in virtualized mobile platforms
US9804857B2 (en) * 2010-12-17 2017-10-31 Intel Corporation Method and apparatus for multi-mode mobile computing devices and peripherals
WO2012104940A1 (ja) * 2011-02-04 2012-08-09 パナソニック株式会社 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路
JP5703854B2 (ja) * 2011-03-04 2015-04-22 日本電気株式会社 コンピュータシステム及びコンピュータシステム起動方法
JP5633440B2 (ja) * 2011-03-17 2014-12-03 富士通株式会社 情報処理装置、電力制御方法及び電力制御プログラム
CN103201720B (zh) 2011-09-07 2017-02-08 松下电器(美国)知识产权公司 虚拟计算机控制装置、虚拟计算机控制方法以及集成电路
JP5382471B2 (ja) * 2011-12-28 2014-01-08 株式会社日立製作所 電力制御方法、計算機システム、及びプログラム
US9280379B2 (en) * 2012-02-28 2016-03-08 Red Hat Israel, Ltd. Hibernation via paravirtualization
EP2849501B1 (en) 2012-05-09 2020-09-30 Samsung Electronics Co., Ltd. Method and apparatus for controlling discontinuous reception in mobile communication system
EP3621353A1 (en) 2012-05-21 2020-03-11 Samsung Electronics Co., Ltd. Method and device for transmitting and receiving data in mobile communication system
EP2860883B1 (en) * 2012-06-12 2019-08-14 Samsung Electronics Co., Ltd. Method and device for transmitting and receiving small data in mobile communication system
US9152458B1 (en) * 2012-08-30 2015-10-06 Google Inc. Mirrored stateful workers
US20140189603A1 (en) * 2012-12-28 2014-07-03 Darryl L. Adams Gesture Based Partition Switching
JP6189267B2 (ja) * 2014-08-20 2017-08-30 株式会社東芝 情報処理装置、方法およびプログラム
CN104573498A (zh) * 2015-01-16 2015-04-29 梁庆生 一种可防止操作系统被木马及病毒攻击的方法及设备
JP6297232B2 (ja) * 2015-12-10 2018-03-20 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US6189145B1 (en) * 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US6820207B2 (en) * 2001-03-01 2004-11-16 International Business Machines Corporation Method for rebooting only a specific logical partition in a data processing system as per a request for reboot
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160145783A (ko) * 2014-06-24 2016-12-20 인텔 코포레이션 가상 머신 전력 관리
US9921862B2 (en) 2014-06-24 2018-03-20 Intel Corporation Virtual machine power management

Also Published As

Publication number Publication date
CN100361083C (zh) 2008-01-09
JP2006113767A (ja) 2006-04-27
US20060085794A1 (en) 2006-04-20
CN1760836A (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
KR20060052086A (ko) 정보 처리 시스템 및 정보 처리 방법과 프로그램
US8307369B2 (en) Power control method for virtual machine and virtual computer system
US7877358B2 (en) Replacing system hardware
EP2495655B1 (en) Method for switching operating system and electronic apparatus using the same
JP4209906B2 (ja) 低消費電力メモリ管理方法及びその方法を用いた計算機
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
US11181970B2 (en) System and method for performing distributed power management without power cycling hosts
US20120272243A1 (en) Protecting high priority workloads in a virtualized datacenter
EP2169514B1 (en) Methods and systems to perform a computer task in a reduced power consumption state
KR20070100367A (ko) 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
CN107003713B (zh) 用于电力管理的逻辑分区的事件驱动的方法和系统
JP6458650B2 (ja) 情報処理システム、情報処理プログラムおよび情報処理装置
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
JP5085611B2 (ja) 実環境と仮想環境を遷移させるコンピュータ・プログラム
JP2008243049A (ja) 情報処理装置および同装置のメモリ制御方法
US20180341482A1 (en) Method and arrangement for utilization of a processing arrangement
KR20200044427A (ko) 클라우드에서의 노드 전원 관리 방법
US20230401078A1 (en) Efficient disk cache management for virtual machines
Agarwal Paging techniques in virtual environment
Chuang et al. Modified Packing Algorithm for Dynamic Energy-Saving in Cloud Computing Servers
Banerjee et al. ESX Memory Resource Management: Swap

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid