KR20160097363A - 자원 프로세싱 방법, 운영체제, 및 장치 - Google Patents
자원 프로세싱 방법, 운영체제, 및 장치 Download PDFInfo
- Publication number
- KR20160097363A KR20160097363A KR1020167018877A KR20167018877A KR20160097363A KR 20160097363 A KR20160097363 A KR 20160097363A KR 1020167018877 A KR1020167018877 A KR 1020167018877A KR 20167018877 A KR20167018877 A KR 20167018877A KR 20160097363 A KR20160097363 A KR 20160097363A
- Authority
- KR
- South Korea
- Prior art keywords
- operating system
- load operating
- resource
- physical
- processor core
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 63
- 238000013507 mapping Methods 0.000 claims abstract description 184
- 238000000034 method Methods 0.000 claims abstract description 139
- 238000007726 management method Methods 0.000 claims description 517
- 230000008569 process Effects 0.000 claims description 65
- 230000009467 reduction Effects 0.000 claims description 60
- 238000012544 monitoring process Methods 0.000 claims description 36
- 238000000638 solvent extraction Methods 0.000 claims description 35
- 230000000903 blocking effect Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 13
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 8
- 238000013468 resource allocation Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 21
- 230000000694 effects Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
본 발명의 실시예는 자원 프로세싱 방법, 운영체제, 및 장치를 제공한다. 상기 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제 및 물리적 자원 풀(pool)을 포함한다. 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하는 단계; 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하는 단계; 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계; 상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계; 상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하는 단계; 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계를 포함한다.
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하는 단계; 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하는 단계; 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계; 상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계; 상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하는 단계; 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계를 포함한다.
Description
본 발명의 실시예는 통신 기술에 관한 것이며, 특히 자원 프로세싱 방법, 운영체제, 및 장치에 관한 것이다.
현재, 프로세서는 멀티-코어 프로세서의 시대로 접어들었고, 대부분의 멀티-코어 프로세서는 가상화 기술을 지원한다. 멀티-코어 프로세서에서는, 복수의 프로세서가 하나의 칩에 집적되고, 이에 의해 병렬 실행이 가능하게 된다. 게다가, 하나의 물리적 컴퓨터는 가상화 기술을 사용함으로써 복수의 가상 컴퓨터로 변환될 수 있다. 그러므로 멀티-코어 프로세서 및 가상화 기술의 결합으로, 복수의 운영체제가 하나의 물리적 컴퓨터 상에서 동시에 운영될 수 있다.
기존의 이종 멀티-코어 운영체제 아키텍처에서는, 하나의 관리 운영체제와 복수의 부하 운영체제가 하나의 물리적 컴퓨터(호스트 머신) 상에서 운영된다. 관리 운영체제는 다양한 응용 프로그램 및 복수의 부하 운영체제를 위한 실행 환경을 제공하도록 구성되어 있다. 부하 운영체제는 다양한 응용 프로그램을 위한 실행 환경을 제공하도록 구성되어 있다. 관리 운영체제는 하이퍼바이저(Hypervisor)를 사용함으로써 부하 운영체제를 실행 환경에 대응하는 물리적 자원을 제공하며, 여기서 물리적 자원은 프로세서 코어, 물리적 메모리, 외부 장치 등을 주로 포함한다. 각각의 부하 운영체제는 배타적 방식으로 하나 이상의 프로세서 코어를 사용하고, 물리적 메모리, 외부 장치 등을 시분할 다중화 방식으로 다른 부하 운영체제와 공유한다.
복수의 부하 운영체제는 물리적 메모리, 외부 장치 등을 시분할 다중화 방식으로 공유하기 때문에, 상대적으로 대량의 부하 운영체제가 있을 때, 부하 운영체제의 운영에 지연이 야기되고, 이에 의해 부하 운영체제의 전반적인 성능이 저하된다.
본 발명의 실시예는 부하 운영체제의 전반적인 성능을 향상시키기 위해 자원 프로세싱 방법, 운영체제, 및 장치를 제공한다.
제1 관점에 따라, 본 발명의 실시예는 자원 프로세싱 방법으로서, 상기 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제, 복수의 부하 운영체제 및 물리적 자원 풀(pool)을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하고, 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하며, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계 - 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함함 - ;
상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 - 상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나임 - ;
상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계 - ; 및
상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계
를 포함하며,
상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
제1 관점을 참조하여, 제1 관점의 제1 가능한 실시 방식에서, 상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계, 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계는:
상기 관리 운영체제가 상기 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하는 단계 - 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함 - ; 및
상기 관리 운영체제가 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하는 단계
를 포함한다.
제1 관점의 제1 가능한 실시 방식을 참조하여, 제1 관점의 제2 가능한 실시 방식에서, 상기 관리 운영체제가 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계 이전에, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하는 단계
를 더 포함하고,
상기 관리 운영체제가 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 초기화 프로그램에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계
를 포함한다.
제1 관점을 참조하여, 제1 관점의 제3 가능한 실시 방식에서, 상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 이전에, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가, 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하는 단계
를 더 포함하며, 여기서 상기 제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함하며,
상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계는,
상기 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계
를 포함한다.
제1 관점의 제3 가능한 실시 방식을 참조하여, 제1 관점의 제4 가능한 실시 방식에서, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 이후에, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 스타트업 프로세서 코어에 대한 데몬(daemon)을 사전에 설정하고, 상기 데몬에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하는 단계
를 더 포함하고,
상기 관리 운영체제가 각각의 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계
를 포함한다.
제1 관점의 제4 가능한 실시 방식을 참조하여, 제1 관점의 제5 가능한 실시 방식에서, 상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계, 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계는:
상기 관리 운영체제가 상기 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하는 단계
를 포함하며,
상기 인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 데몬으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 상기 물리적 메모리 어드레스에 있는, 상기 관리 운영체제에 의해 상기 데몬에 사전에 설정되어 있는 위치는 상기 물리적 메모리 어드레스에 있는 상기 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령한다.
제1 관점 또는 제1 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나의 가능한 실시 방식을 참조하여, 제1 관점의 제6 가능한 실시 방식에서, 상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하는 것은:
상기 관리 운영체제가 상기 부하 운영체제의 수에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원에 대해 1차 분할(first-time division)을 수행하여 복수의 물리적 자원 집합을 획득하고 - 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같음 - , 상기 관리 운영체제가 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정하는 단계; 및
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당하는 단계
를 포함한다.
제1 관점의 제6 가능한 실시 방식을 참조하여, 제1 관점의 제7 가능한 실시 방식에서, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
제1 관점의 제7 가능한 실시 방식을 참조하여, 제1 관점의 제8 가능한 실시 방식에서, 상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하는 단계;
상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하는 단계 - 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
제1 관점의 제7 가능한 실시 방식을 참조하여, 제1 관점의 제9 가능한 실시 방식에서, 상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은:
상기 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하는 단계;
상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임계값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하는 단계 - 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
제1 관점에 따라, 본 발명의 실시예는 자원 프로세싱 방법을 제공하며, 상기 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 상기 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 상기 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며, 상기 자원 프로세싱 방법은:
제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계 - 상기 맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되며, 제1 부하 운영체제는 상기 멀티-코어 운영체제 중 임의의 부하 운영체제임 - ;
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하고, 상기 맵핑 관계에 따라 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하는 단계;
상기 제1 부하 운영체제의 스타트업 프로세스 코어가 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하는 단계 - 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 제1 부하 운영체제가 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계
를 포함한다.
제2 관점을 참조하여, 제2 관점의 제1 가능한 실시 방식에서, 상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계는:
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하는 단계 - 상기 스타트업 프로세서 코어는 상기 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행함 - ; 및
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하는 단계
를 포함하며,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계는,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 초기화 프로그램을 실행하고, 상기 관리 운영체제에 의해 상기 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 상기 초기화 프로그램으로부터 판독하며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계
를 포함한다.
제2 관점을 참조하여, 제2 관점의 제2 가능한 실시 방식에서, 상기 제1 부하 운영체제의 스타트업 프로세서는, 기동되어 있고 상기 관리 부하 시스템에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 상기 데몬은 제1 부하 운영체제에 대해 관리 운영체제에 의해 사전에 설정되며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계가 상기 데몬에 설정되어 있으며,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계는:
상기 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행되고 있는 데몬이, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고, 상기 스타트업 프로세서 코어가 상기 인코-코어 차단 메시지의 명령에 따라 상기 데몬으로부터, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 판독하는 단계
를 포함하고,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계는:
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계
를 포함한다.
제2 관점을 참조하여, 제2 관점의 제1 또는 제2 가능한 실시 방식에서, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
제3 관점에 따라, 본 발명의 실시예는 관리 운영체제를 제공하며, 상기 관리 운영체제는 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 상기 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 상기 관리 운영체제는:
각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하도록 구성되어 있는 자원 할당 모듈 - 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함함 - ;
각각의 부하 운영체제에 대한 스타트업 미러를 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있는 맵핑 관계 설정 모듈;
제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있는 스타트업 프로세서 코어 결정 모듈 - 상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나임 - ; 및
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 구성 모듈에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있도록 하고, 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하도록 구성되어 있는 명령 모듈
을 포함하며,
상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
제3 관점을 참조하여, 제3 관점의 제1 가능한 실시 방식에서, 상기 명령 모듈은 구체적으로:
상기 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하고 - 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함 - ; 및
상기 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하도록 구성되어 있다.
제3 관점의 제1 가능한 실시 방식을 참조하여, 제3 관점의 제2 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 맵핑 관계 설정 모듈이 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하기 전에, 상기 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 초기화 프로그램 구성 모듈
을 더 포함하고,
상기 맵핑 관계 설정 모듈은 구체적으로, 상기 초기화 프로그램에서 제1 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있다.
제3 관점을 참조하여, 제3 관점의 제3 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 스타트업 프로세서 코어 결정 모듈이, 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하기 전에, 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하도록 구성되어 있는 이용 가능한 프로세서 코어 획득 모듈
을 더 포함하며,
여기서 상기 제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함하며,
상기 이용 가능한 프로세서 코어 획득 모듈은 구체적으로, 상기 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있다.
제3 관점의 제3 가능한 실시 방식을 참조하여, 제3 관점의 제4 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 스타트업 프로세서 코어 결정 모듈이 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한 후에, 상기 제1 부하 운영체제에 대해 상기 스타트업 프로세서 코어에 대한 데몬을 사전에 설정하고, 상기 데몬에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 데몬 구성 모듈
을 더 포함하고,
상기 맵핑 관계 설정 모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있다.
제3 관점의 제4 가능한 실시 방식을 참조하여, 제3 관점의 제5 가능한 실시 방식에서, 상기 명령 모듈은 구체적으로: 상기 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하도록 구성되어 있으며, 여기서 상기 인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 데몬으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 상기 물리적 메모리 어드레스에 있는, 상기 데몬 구성 모듈에 의해 상기 데몬에 사전에 설정되어 있는 위치는 상기 물리적 메모리에 있는 상기 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행한다.
제3 관점 또는 제3 관점의 제1 내지 제5 가능한 실시 방식 중 임의의 가능한 실시 방식을 참조하여, 제3 관점의 제6 가능한 실시 방식에서, 상기 자원 할당 모듈은 구체적으로:
상기 부하 운영체제의 수에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원에 대해 1차 분할을 수행하여 복수의 물리적 자원 집합을 획득하고 - 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같고, 상기 관리 운영체제는 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정함 - ; 그리고
각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당하도록 구성되어 있다.
제3 관점의 제6 가능한 실시 방식을 참조하여, 제3 관점의 제7 가능한 실시 방식에서, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
제3 관점의 제7 가능한 실시 방식을 참조하여, 제3 관점의 제8 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제1 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제1 자원 관리 모듈
을 포함하고,
상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며,
여기서 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
제3 관점의 제7 가능한 실시 방식을 참조하여, 제3 관점의 제9 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 상기 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제2 모니터링 모듈; 및
상기 제2 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제2 자원 관리 모듈
을 더 포함하며,
여기서 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하도록 추가로 구성되어 있으며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
제3 관점의 제7 가능한 실시 방식을 참조하여, 제3 관점의 제10 가능한 실시 방식에서, 상기 관리 운영체제는:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제에 의해 송신된 자원 감소 요구 메시지를 수신하도록 구성되어 있는 제1 수신 모듈
을 더 포함하며,
여기서 상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 자원 감소 요구 메시지에서, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며,
상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
제4 관점에 따라, 본 발명의 실시예는 부하 운영체제를 제공하며, 상기 부하 운영체제는 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 상기 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 상기 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며, 상기 부하 운영체제는:
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하도록 구성되어 있는 맵핑 관계 획득 모듈 - 상기 맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되며, 제1 부하 운영체제는 상기 멀티-코어 운영체제 중 임의의 부하 운영체제임 - ;
상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하고, 상기 맵핑 관계에 따라 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하도록 구성되어 있는 명령 실행 모듈;
상기 명령 실행 모듈에 의해 상기 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하도록 구성되어 있는 스타트업 파라미터 획득 모듈 - 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 프로세서 코어의 식별자 및 상기 제1 부하 운영체제의 물리적 메모리 어드레스에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하도록 구성되어 있는 물리적 자원 집합 획득 모듈
을 포함한다.
제4 관점을 참조하여, 제4 관점의 제1 가능한 실시 방식에서, 상기 맵핑 관계 획득 모듈은 구체적으로:
상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고 - 상기 스타트업 프로세서 코어는 상기 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행함 - ; 그리고
상기 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 구성되어 있으며,
상기 명령 실행 모듈은 구체적으로, 상기 초기화 프로그램을 실행하고, 상기 관리 운영체제에 의해 상기 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 상기 초기화 프로그램으로부터 판독하며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있다.
제4 관점을 참조하여, 제4 관점의 제2 가능한 실시 방식에서, 상기 제1 부하 운영체제의 스타트업 프로세서는, 기동되어 있고 상기 관리 부하 시스템에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 상기 데몬은 제1 부하 운영체제에 대해 관리 운영체제에 의해 사전에 설정되며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계가 상기 데몬에 설정되어 있으며,
상기 맵핑 관계 획득 모듈은 구체적으로, 상기 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행되고 있는 데몬이, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 상기 인코-코어 차단 메시지의 명령에 따라 상기 데몬으로부터, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 판독하도록 구성되어 있으며,
상기 명령 실행 모듈은 구체적으로, 상기 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있다.
제4 관점 또는 제4 관점의 제1 또는 제2 가능한 실시 방식을 참조하여, 제4 관점의 제3 가능한 실시 방식에서, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
제5 관점에 따라, 본 발명의 실시예는 멀티-코어 운영체제를 제공하며, 상기 멀티-코어 운영체제는:
제3 관점에서 설명된 호스트 머신 상에서 실행 중인 관리 운영체제;
제4 관점에서 설명된 복수의 부하 운영체제; 및
물리적 자원 풀
을 포함하며,
상기 물리적 자원 풀은 호스트 머신의 프로세서 코어, 물리적 메모리, 및 외부 장치를 포함한다.
제6 관점에 따라, 본 발명의 실시예는 호스트 머신을 제공하며, 상기 호스트 머신은 프로세서 및 메모리를 포함하며, 상기 메모리는 실행 명령을 저장하며, 상기 호스트 머신이 실행될 때, 상기 프로세서는 상기 메모리와 통신하며, 상기 프로세서는 상기 실행 명령을 실행하여, 상기 호스트 머신으로 하여금 제1 관점 또는 제1 관점의 제1 내지 제31 가능한 실시 방식 중 임의의 가능한 실시 방식에서 설명된 자원 프로세싱 방법을 실행할 수 있게 한다.
본 발명의 실시예는 자원 프로세싱 방법, 운영체제 및 장치를 제공한다. 상기 방법에 따르면, 관리 운영체제는 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하고, 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며; 상기 관리 운영체제는 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하고; 상기 관리 운영체제는, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 맵핑 관계에 따라 물리적 메모리 어드레스에 액세스할 수 있게 하며, 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하며, 여기서 상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함하며; 상기 관리 운영체제는 상기 스타트업 미러에 스타트업 파라미터를 기록하여, 하이퍼바이저의 참여를 요구함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 그 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화한다. 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용하여, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원에 대해 독립적인 페이지 테이블, 러닝 클록, 런타임 환경 등을 구성하며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
본 발명의 실시예 또는 종래기술의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 실시예 또는 종래기술을 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 발명에 따른 멀티-코어 운영체제의 아키텍처에 대한 개략도이다.
도 2는 본 발명에 따른 자원 프로세싱 방법의 실시예 1에 대한 개략적인 흐름도이다.
도 3은 본 발명에 따른 자원 프로세싱 방법의 실시예 2에 대한 개략적인 흐름도이다.
도 4는 본 발명에 따른 자원 프로세싱 방법의 실시예 3에 대한 개략적인 흐름도이다.
도 5는 본 발명에 따른 자원 프로세싱 방법의 실시예 4에 대한 개략적인 흐름도이다.
도 6은 본 발명에 따른 자원 프로세싱 방법의 실시예 5에 대한 개략적인 흐름도이다.
도 7은 본 발명에 따른 자원 프로세싱 방법의 실시예 6에 대한 개략적인 흐름도이다.
도 8a는 본 발명에 따른 제1 부하 운영체제를 위한 프로세서 코어를 부가하는 개략적인 흐름도이다.
도 8b는 본 발명에 따라 제1 부하 운영체제에 의해 프로세서 코어를 해제하는 개략적인 흐름도이다.
도 9a는 본 발명에 따른 제1 부하 운영체제를 위한 물리적 메모리를 부가하는 개략적인 흐름도이다.
도 9b는 본 발명에 따라 제1 부하 운영체제에 의해 물리적 메모리를 해제하는 개략적인 흐름도이다.
도 10a는 본 발명에 따른 제1 부하 운영체제를 위한 외부 장치를 부가하는 개략적인 흐름도이다.
도 10b는 본 발명에 따른 제1 부하 운영체제를 위한 외부 장치를 감소시키는 개략적인 흐름도이다.
도 11은 본 발명에 따른 관리 운영체제의 실시예 1에 대한 개략적인 구조도이다.
도 12는 본 발명에 따른 관리 운영체제의 실시예 2에 대한 개략적인 구조도이다.
도 13은 본 발명에 따른 관리 운영체제의 실시예 3에 대한 개략적인 구조도이다.
도 14는 본 발명에 따른 부하 운영체제의 실시예 1에 대한 개략적인 구조도이다.
도 15는 본 발명에 따른 부하 운영체제의 실시예 2에 대한 개략적인 구조도이다.
도 16은 이종 플랫폼 상의 멀티-코어 시스템의 아키텍처에 대한 개략도이다.
도 17은 본 발명에 따른 호스트 머신의 실시예 1에 대한 개략적인 구조도이다.
도 1은 본 발명에 따른 멀티-코어 운영체제의 아키텍처에 대한 개략도이다.
도 2는 본 발명에 따른 자원 프로세싱 방법의 실시예 1에 대한 개략적인 흐름도이다.
도 3은 본 발명에 따른 자원 프로세싱 방법의 실시예 2에 대한 개략적인 흐름도이다.
도 4는 본 발명에 따른 자원 프로세싱 방법의 실시예 3에 대한 개략적인 흐름도이다.
도 5는 본 발명에 따른 자원 프로세싱 방법의 실시예 4에 대한 개략적인 흐름도이다.
도 6은 본 발명에 따른 자원 프로세싱 방법의 실시예 5에 대한 개략적인 흐름도이다.
도 7은 본 발명에 따른 자원 프로세싱 방법의 실시예 6에 대한 개략적인 흐름도이다.
도 8a는 본 발명에 따른 제1 부하 운영체제를 위한 프로세서 코어를 부가하는 개략적인 흐름도이다.
도 8b는 본 발명에 따라 제1 부하 운영체제에 의해 프로세서 코어를 해제하는 개략적인 흐름도이다.
도 9a는 본 발명에 따른 제1 부하 운영체제를 위한 물리적 메모리를 부가하는 개략적인 흐름도이다.
도 9b는 본 발명에 따라 제1 부하 운영체제에 의해 물리적 메모리를 해제하는 개략적인 흐름도이다.
도 10a는 본 발명에 따른 제1 부하 운영체제를 위한 외부 장치를 부가하는 개략적인 흐름도이다.
도 10b는 본 발명에 따른 제1 부하 운영체제를 위한 외부 장치를 감소시키는 개략적인 흐름도이다.
도 11은 본 발명에 따른 관리 운영체제의 실시예 1에 대한 개략적인 구조도이다.
도 12는 본 발명에 따른 관리 운영체제의 실시예 2에 대한 개략적인 구조도이다.
도 13은 본 발명에 따른 관리 운영체제의 실시예 3에 대한 개략적인 구조도이다.
도 14는 본 발명에 따른 부하 운영체제의 실시예 1에 대한 개략적인 구조도이다.
도 15는 본 발명에 따른 부하 운영체제의 실시예 2에 대한 개략적인 구조도이다.
도 16은 이종 플랫폼 상의 멀티-코어 시스템의 아키텍처에 대한 개략도이다.
도 17은 본 발명에 따른 호스트 머신의 실시예 1에 대한 개략적인 구조도이다.
본 발명의 실시예의 목적, 기술적 솔루션, 및 이점을 더 잘 이해할 수 있도록 하기 위해, 이하에서는 본 발명의 실시예의 첨부된 도면을 참조하여 본 발명의 실시예에 따른 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 이하의 상세한 설명에서의 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
도 1은 본 발명에 따른 멀티-코어 운영체제의 아키텍처에 대한 개략도이다. 도 1에 도시된 바와 같이, 본 실시예에서 제공하는 멀티-코어 운영체제는 호스트 머신 상에서 실행되는 관리 운영체제 및 복수의 부하 운영체제를 포함하고 물리적 자원 풀(pool)을 포함한다. 호스트 머신은 실제의 물리적 노드이고, 관리 운영체제는 복수의 부하 운영체제를 관리하는데, 이것은 주로 복수의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 복수의 부하 운영체제에 할당하는 것과, 부하 운영체제의 기동 및 로그아웃을 담당하는 것을 포함한다. 복수의 부하 운영체제는 기동되지 않은 부하 운영체제 및 실행 중인 부하 운영체제를 포함한다. 특히, 부하 운영체제가 기동된 후, 부하 운영체제는 관리 운영체제에 의해 할당된 물리적 자원을 배타적으로 사용하고 물리적 자원에 액세스할 수 있으며; 부하 운영체제는 하이퍼바이저에 도움을 요청함이 없이 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원에 대해 독립적인 페이지 테이블, 독립적인 클록, 독립적인 런타임 라이브러티 등을 구성하며, 부하 운영체제는 독립적인 페이지 테이블, 독립적인 클록, 독립적인 런타임 라이브러티 등을 사용함으로써, 관리 운영체제 및 부하 운영체제는 어드레스 버스, 데이터 버스, 및 제어 버스를 포함하는 시스템 버스를 공유한다. 관리 운영체제와 부하 운영체제 간의 통신 및 부하 운영체제와 다른 부하 운영체제 간의 통신은 내부 통신 메커니즘(인터-인스턴스 통신 모듈)에 의해 실현된다. 관리 운영체제 및 각각의 부하 운영체제는 독립적 페이지 테이블을 개별적으로 가지며, 각각의 부하 운영체제는 독립적인 물리적 자원을 사용하고, 관리 운영체제는 관리를 수행하되, 부하 운영체제가 물리적 자원에 대해 수행하는 액세스, 통신 등에는 참여하지 않는다. 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하고, 선택적으로 물리적 자원 풀은 네트워크 어댑터 어레이와 같은 외부 장치를 더 포함한다.
도 2는 본 발명에 따른 자원 프로세싱 방법의 실시예 1에 대한 개략적인 흐름도이다. 본 실시예의 실행 본체는 호스트 머신 상에서 실행되는 관리 운영체제이고, 여기서 관리 운영체제는 구체적으로 도 1의 실시예에 도시된 관리 운영체제이다. 도 2에 도시된 바와 같이, 본 발명의 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 201: 상기 관리 운영체제는 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하고, 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하며, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정한다.
각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함한다.
단계 202: 상기 관리 운영체제는 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한다.
상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나이다.
단계 203: 상기 관리 운영체제는, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 스타트업 프로세서 코어에 명령한다.
상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
본 실시예의 애플리케이션 시나리오는 도 1의 실시예에 도시된 것일 수 있으며, 본 실시예에서 반복적으로 상세히 설명하지 않는다. 본 실시예에서, 본 실시예에서 제공하는 자원 프로세싱 방법은 관리 운영체제를 실행 본체로 사용함으로써 상세히 설명된다. 관리 운영체제는 구체적으로 도 1에 도시된 관리 운영체제일 수 있다.
특정한 실시 프로세스에서, 단계 201에서, 관리 운영체제가 각각의 부하 운영체제에 대해, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 할당하는 것은 다음의 방식으로 실행될 수 있다:
관리 운영체제는, 물리적 자원 풀에 있으면서 이 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원을 결정한다. 구체적으로, 관리 운영체제는 자원 풀 내의 이용 가능한 물리적 자원의 목록을 유지하며, 여기서 물리적 자원 풀 내의 모든 이용 가능한 물리적 자원의 식별자가 목록에 기록된다. 이용 가능한 물리적 자원은 관리 운영체제 또는 부하 운영체제에 의해 현재 사용되고 있지 않은 물리적 자원이다. 관리 운영체제는 부하 운영체제의 수에 따라 상기 자원 풀 내의 이용 가능한 물리적 자원에 대해 1차 분할(first-time division)을 수행하여 복수의 물리적 자원 집합을 획득하고, 여기서 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같으며; 상기 관리 운영체제는 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정하고, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당한다. 각각의 물리적 자원 집합은 호스트 머신의 프로세서 코어 중 일부 및 호스트 머신의 물리적 메모리 중 한 부분을 포함한다.
선택적으로, 관리 운영체제는 부하 운영체제에 의해 배타적으로 사용되는 외부 장치를 부하 운영체제에 할당할 수 있으며, 물리적 자원 집합은 호스트 머신의 외부 장치를 더 포함한다. 외부 장치는 네트워크 어댑터 또는 자기디스크 등이 될 수 있다.
특정한 실시예를 예로 사용한다. 도 1을 더 참조하면, 도 1에서, 물리적 자원 풀의 검은색 영역은 사용 중인 물리적 자원이고, 이 흑색 영역이 아닌 물리적 자원은 이용 가능한 물리적 자원이다. 2개의 부하 운영체제가 있으며, 이것을 제1 부하 운영체제 및 제2 부하 운영체제라 한다. 관리 운영체제는 이용 가능한 물리적 자원에 대해 1차 분할을 수행하고, 2개의 물리적 자원 집합을 획득한다. 특정한 실시 프로세스에서, 관리 운영체제는 물리적 자원에 대해 물리적 분할을 수행하고, 그 분할은 다음의 방식으로 수행될 수 있다:
프로세서 코어: 프로세서 코어는 분할을 위한 최소 기능 단위로서 사용되거나, 프로세서가 단위로서 사용될 수 있다. 이중 플랫폼에 있어서는, 이종 프로세서 코어 및 코프로세서 코어가 글로벌 컴퓨팅 자원으로 분류될 수도 있다.
물리적 메모리: 물리적 메모리의 연속적 또는 불연속적 세그먼트가 분할을 위한 단위로서 사용되고, 메모리 블록의 특정한 크기는 신호 블록의 크기 또는 하이브리드 블록의 크기일 수 있다.
외부 장치와 관련해서, 분할은 다음의 방식으로 주로 수행될 수 있다:
네트워크: 물리적 네트워크 어댑터가 분할을 위한 단위로서 사용된다. 물리적 네트워크 어댑터가 불충분하면, 멀티-어레이 기능을 가지거나 서버 가상화(예를 들어, Single-Root I/O Virtualization, SR-IOV로 약칭)를 지원하는 물리적 네트워크 어댑터가 사용되고, 어레이 또는 가상 기능(Virtual Function, VF로 약칭)에 따라 분할된다. 물리적 네트워크 어댑터도 이 네트워크 어댑터의 독립적인 물리적 기능도 충분하지 않을 때만, 물리적 네트워크 어댑터를 공유하는 것으로 간주하여, 네트워크 어댑터의 전면부 및 후면부를 가상화하는 방식으로, 운영체제 인스턴스에 복수의 물리적 네트워크 어댑터를 제공한다.
자기디스크: 물리적 자기디스크가 분할을 위한 단위로서 사용된다. 물리적 자기디스크가 불충분하면, 장래에 SR-IOV를 지원할 수 있는 자기디스크는 디스크 가상화 기능을 사용함으로써 분할될 수 있다. 단일의 물리적 자기디스크는 자기디스크를 논리적으로 파티셔닝하는 방식으로 공유되며, 최종적으로 네트워크 파일 시스템(Network File System, NFS로 약칭) 및 랜덤 액세스 메모리 디스크(RAM)와 같은 기술을 사용하여 종래의 디스크 파일 시스템의 기능을 대체할 수 있다.
단말: 단말 장치(모니터 또는 키보드), 직렬 포트 등의 사용은 자원을 소비하지 않으므로, 시스템 성능이 영향을 받지 않는다는 전제하에, 상위 계층 요구를 충족하도록, 하드웨어 추출 계층 가상화 방식으로 직렬 포트와 단말과 같은 복수 집합의 장치 자원을 가상화에 의해 획득할 수 있다.
자원 분할과 관련해서, 본 실시예에서, 프로세서 코어 및 물리적 메모리는 물리적 공간에서 분리되고, 주변기기에 대해서도 물리적 단위 분할 방식을 사용하지만 물리적 분할이 부적절할 때는 시분할 다중화를 수행하는 대안의 솔루션 역시 지원된다.
관리 운영체제는 제1 부하 운영체제상에서 실행 중인 운영체제 인스턴스의 유형 및 제2 부하 운영체제상에서 실행 중인 운영체제 인스턴스의 유형에 따라, 물리적 자원 집합과 부하 운영체제 간의 대응관계를 구축한다. 관리 운영체제가 제1 부하 운영체제상에서 실행 중인 운영체제 인스턴스의 유형에 따라 더 많은 물리적 자원을 필요로 하면, 관리 운영체제는 그림자 영역에 대응하는 물리적 자원을 제1 부하 운영체제에 할당하고, 이에 상응해서, 관리 운영체제는 흰색 영역에 대응하는 물리적 자원을 제2 부하 운영체제에 할당한다.
관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 각각의 부하 운영체제에 할당한 후, 관리 운영체제는 각각의 부하 운영체제에 대해, 각각의 부하 운영체제를 기동하는 데 사용되는 스타트업 미러를 사전에 구축한다. 스타트업 미러란 부하 운영체제의 실행에 필요한 하드웨어 및 코어 데이터 구조가 구성되지 않았거나 충분하게 준비되지 않았을 때 부하 운영체제에 대해, 코어 실행에 필요한 하드웨어를 구성하고 코어 실행에 필요한 데이터 구조를 구축하는 프로그램을 말하며, 여기서 상기 프로그램은 구체적으로 스타트업 프로세서 코어가 자신의 상태를 갱신할 수 있도록 프로그램의 세그먼트 방식으로 실행되며, 여기서 상기 프로그램은 하드웨어 및 코어 데이터 구조가 준비된 후 각각의 부하 운영체제에 대해 구성되고 각각의 코어 서비스를 기동하며 각각의 코어 모듈을 로딩하여, 최종적으로 부하 운영체제를 기동한다.
또한, 관리 운영체제는 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 각각의 부하 운영체제의 각각의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 추가로 설정한다. 당업자라면 본 발명에 포함된, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계란 구체적으로 스타트업 미러에 대응하는 가상 메모리 어드레스 내 중 그 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 맵핑 관계를 말하며, 관리 운영체제는 페이지 테이블의 방식으로 맴핑 관계를 실현할 수 있다는 것을 이해할 수 있을 것이다.
특정한 실시 프로세스에서, 부하 운영체제의 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 각각의 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 부하 운영체제에 대해 설정되어 있는 맵핑 관계를 먼저 획득하고, 그 부하 운영체제는 맵핑 관계에 따라 물리적 메모리 어드레스에 직접적으로 액세스할 수 있고 어드레스 변환을 수행하지 않아도 된다. 부하 운영체제의 스타트업 미러가 기동된 후, 스타트업 미러는 부하 운영체제를 기동하도록 구성된다. 실행 프로세스에서, 스타트업 미러는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러에 대응하는 맵핑 관계에 따라 물리적 메모리 어드레스에 직접적으로 액세스한다. 당업자라면 관리 운영체제가 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 일부의 맵핑 관계를 스타트업 미러에 대해 설정할 수도 있고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 모든 맵핑 관계를 스타트업 미러에 대해 설정할 수도 있다는 것을 이해할 수 있을 것이다. 관리 운영체제가 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 일부의 맵핑 관계를 스타트업 미러에 대해 설정할 때, 그리고 부하 운영체제에 할당된 스타트업 프로세서가 스타트업 미러의 기동을 실행하는 프로세스 중에 있을 때, 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 모든 맵핑 관계를 설정할 수 있다. 부하 운영체제가 기동된 후, 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 설정한다.
단계 202에서, 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 스타트업 프로세서 코어를 결정하는 것은 다음의 가능한 실시 방식을 포함한다: 관리 운영체제는 사전에 설정된 정책에 따라 스타트업 프로세서 코어를 결정하고, 관리 운영체제는 제1 부하 운영체제에 할당된 프로세서 코어에서, 하나의 프로세서 코어를 스타트업 프로세서 코어로서 무작위로 선택하며, 관리 운영체제는 사용자 명령을 획득하며, 그 사용자 명령에 따라 스타트업 프로세서 코어를 결정한다. 본 실시예는 관리 운영체제가 스타트업 프로세서 코어를 결정하는 특정한 실시 프로세스에 특별한 제한을 두지 않는다.
단계 203에서, 관리 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하도록 스타트업 프로세서 코어에 명령한다.
구체적으로, 스타트업 프로세서 코어는 맵핑 관계를 판독함으로써 물리적 메모리 어드레스에 직접적으로 액세스할 수 있으므로 어드레스 변환 프로세스를 수행하지 않아도 된다.
또한, 단계 203에서, 관리 운영체제는 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 스타트업 프로세서 코어에 추가로 명령한다. 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하므로, 스타트업 프로세서 코어는 스타트업 미러를 실행하는 프로세스에서, 스타트업 미러로부터 스타트업 파라미터를 판독하며, 여기서 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함하고, 이에 따라 제1 부하 운영체제는 스타트업 파라미터에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 할당된 물리적 자원 집합을 획득한다. 스타트업 미러의 실행은 부하 운영체제를 기동하기 위한 것이다. 스타트업 미러의 실행은 제1 부하 운영체제의 스타트업 프로세스와 동일하다.
선택적으로, 물리적 자원 집합이 호스트 머신의 일부의 외부 장치를 포함할 때, 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다. 장치 설명 정보 테이블은 외부 장치의 구성 정보, 예를 들어, 외부 어드레스의 물리적 메모리 어드레스의 구성, 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 맵핑 관계를 포함한다. 본 실시예는 장치 설명 정보 테이블에 포함되어 있는 특정한 내용에 대해 특별한 제한을 두지 않는다.
본 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 관리 운영체제는 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하고, 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며; 상기 관리 운영체제는 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하고; 상기 관리 운영체제는, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 맵핑 관계에 따라 물리적 메모리 어드레스에 액세스할 수 있게 하며, 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하며, 여기서 상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함하며; 상기 관리 운영체제는 상기 스타트업 미러에 스타트업 파라미터를 기록하여, 하이퍼바이저의 참여를 필요로 함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화한다. 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용하여, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원에 대해 독립적인 페이지 테이블, 러닝 클록, 런타임 환경 등을 구성하며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
이하에서는 수 개의 특정한 실시예를 사용하여 도 2에 도시된 방법 실시예의 기술적 솔루션을 상세히 설명한다.
특정한 실시예는 도 3에 도시된 것일 수 있다. 도 3은 본 발명에 따른 자원 프로세싱 방법의 실시예 2에 대한 개략적인 흐름도이다. 도 3에 도시된 바와 같이, 본 발명의 이 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 301: 관리 운영체제는 각각의 부하 운영체제에 대해, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 할당하고, 각각의 부하 운영체제에 대해 스타트업 미러를 구축한다.
각각의 물리적 자원 집합은 호스트 머신의 프로세서 코어 중 일부 및 호스트 머신의 물리적 메모리 중 한 부분을 포함한다.
단계 302: 관리 운영체제는 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 물리적 메모리 어드레스에 있는 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정한다.
단계 303: 관리 운영체제는 제1 부하 운영체제에 대해 상기 초기화 프로그램에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정한다.
단계 304: 관리 운영체제는 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신한다.
인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령한다.
단계 305: 관리 운영체제는 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행한다.
스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
단계 301에서, 관리 운영체제가 각각의 부하 운영체제에 대해, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 할당하고 각각의 부하 운영체제에 대해 스타트업 미러를 구축하는 프로세스는 단계 201에서의 프로세스와 유사하므로, 이에 대해서는 본 실시예에서 반복 설명하지 않는다.
단계 302에서, 관리 운영체제는 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 물리적 메모리 어드레스에 있는 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정한다.
당업자라면 관리 운영체제가 각각의 부하 운영체제에 대해, 각각의 부하 운영체제에 대응하는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 물리적 메모리 어드레스에 있는 각각의 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정한다는 것을 이해할 수 있을 것이다. 당업자라면 가상의 메모리 어드레스에 있는 각각의 부하 운영체제에 대응하는 스타트업 미러의 위치는 초기화 프로그램에 사전에 설정될 수도 있으며, 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 맵핑 관계에 따라, 물리적 메모리 어드레스에 있으면서 스타트업 미러가 위치하는 위치를 획득할 수 있다는 것을 이해할 수 있을 것이다.
단계 303에서, 관리 운영체제는 제1 부하 운영체제에 대해 초기화 프로그램에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정한다.
단계 304에서, 관리 운영체제는 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하며, 여기서 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령한다.
당업자라면 인터-코어 차단 메시지에 의해 하나의 값이 전달되고 이 값은 차단 벡터라 할 수 있으며, 인터-코어 차단 메시지에 대응하는 값 및 이 값에 대응하는 실행 프로세스 양자는 관리 운영체제 및 제1 부하 운영체제에 의해 미리 합의된다. 관리 운영체제가 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신할 때, 인터-코어 차단 메시지는 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령한다.
인터-코어 차단 메시지를 수신한 후, 제1 부하 운영체제의 스타트업 프로세서 코어는 사전에 설정된 고정 물리적 메모리에서 초기화 프로그램을 검색하고, 그 초기화 프로그램을 실행하며, 스타트업 프로세서 코어의 초기화를 완료하며, 여기서 스타트업 프로세서 코어의 초기화는 스타트업 프로세서 코어의 스타트업 프로세스이다. 초기화 프로그램의 실행 프로세스에서, 스타트업 프로세서 코어는 그 실행 중인 초기화 프로그램으로부터, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는, 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 설정되어 있는 위치를 판독하여, 스타트업 미러를 기동한다.
단계 305에서, 관리 운영체제는 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령하고; 초기화 프로그램을 실행하는 프로세스에서, 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독한다.
관리 운영체제가 초기화 프로그램의 실행이 종료된 후, 물리적 메모리 어드레스에 있는, 스타트업 미러가 위치하는 위치로 점프하도록 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하는 것은 다음의 방식으로 실시된다:
초기화 프로그램의 최종 명령은 스타트업 미러로 점프하도록 스타트업 프로세서 코어에 명령하는 데 사용된다. 초기화 프로그램의 최종 명령이 실행될 때, 스타트업 프로세서 코어는 스타트업 미러로 점프하여 스타트업 미러를 실행하며, 여기서 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
제1 부하 운영체제는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 할당되는, 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 결정한다.
본 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 관리 운영체제는 부하 운영체제에 대해 초기화 프로그램을 사전에 구축하고, 상기 초기화 프로그램에서 부하 운영체제에 대해, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정하며, 초기화 프로그램에서 제1 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 사전에 설정하고; 부하 운영체제의 스타트업 프로세서 코어는 초기화 프로그램을 실행하고, 스타트업 미러로부터 스타트업 파라미터를 판독하고, 스타트업 파라미터에 따라 물리적 자원 집합을 획득하며, 부하 운영체제의 스타트업 프로세스를 완료한다. 관리 운영체제는 하이퍼바이저의 참여를 요구함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 그 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화하며; 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용할 수 있으며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
다른 특정한 실시예가 도 4에 도시되어 있다. 도 4는 본 발명에 따른 자원 프로세싱 방법의 실시예 3에 대한 개략적인 흐름도이다. 도 4에 도시된 바와 같이, 본 발명의 이 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 401: 관리 운영체제는 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득한다.
제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함한다.
단계 402: 제1 부하 운영체제의 물리적 자원 집합이 이용 가능한 프로세서 코어를 포함할 때, 관리 운영체제는 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한다.
단계 403: 관리 운영체제는 제1 부하 운영체제에 대해 스타트업 프로세서 코어에 대한 데몬(daemon)을 사전에 설정하고, 상기 데몬에서, 물리적 메모리 어드레스에 있는 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정한다.
단계 404: 관리 운영체제는 제1 부하 운영체제에 대해 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정한다.
단계 405: 관리 운영체제는 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하며, 여기서 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는, 관리 운영체제에 의해 상기 데몬에 사전에 설정되어 있는 위치는, 물리적 메모리 어드레스에 있는, 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행한다.
인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 데몬으로부터 판독하도록 스타트업 프로세서 코어에 명령한다.
단계 401에서, 관리 운영체제가 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하는 것은 다음의 가능한 실시 방식들을 포함할 수 있다: 관리 운영체제는 제2 부하 운영체제의 실행 프로세스 중에 제2 부하 운영체제를 강제로 로그아웃하고; 관리 운영체제는 제2 부하 운영체제가 종료된 후 제2 부하 운영체제를 로그아웃하고; 제2 부하 운영체제는 실행이 종료된 후 자동으로 로그아웃된다. 제2 부하 운영체제가 로그아웃된 후, 관리 운영체제는 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하고, 여기서 이용 가능한 프로세서 코어는 제2 부하 운영체제의 스타트업 프로세서 코어 및 다른 응용 프로그램을 실행하는 다른 프로세서 코어를 포함한다.
당업자라면 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 수도 있고, 상기 이용 가능한 프로세서 코어를 포함하지 않을 수도 있다는 것을 이해할 수 있을 것이다.
특히, 본 실시예에서, 제2 부하 운영체제는 로그아웃되지만, 제2 부하 운영체제의 스타트업 프로세서 코어는 초기화 프로그램을 실행하였으며; 관리 운영체제는 제2 부하 운영체제의 스타트업 프로세서 코어를 제1 부하 운영체제의 스타트업 프로세서 코어로서 사용할 수 있다. 제2 부하 운영체제의 스타트업 프로세서 코어가 제1 부하 운영체제의 스타트업 프로세서 코어로서 작동할 때는, 하나의 초기화 프로그램을 완료하기 위해 상기 초기화 프로그램을 다시 초기화 프로그램을 실행하지 않아도 되며; 그렇지만, 상기 이용 가능한 프로세서 코어에 있으면서 다른 응용 프로그램을 실행하는 프로세서 코어가 상기 스타트업 프로세서 코어로서 작동할 때는, 여전히 초기화를 완료하기 위해 상기 초기화 프로그램을 실행하여야 한다.
단계 402에서, 제1 부하 운영체제의 물리적 자원 집합을 포함할 때, 관리 운영체제는 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한다.
당업자라면, 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 관리 운영체제는 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제의 스타트업 프로세서 코어를 결정할 수도 있고, 물리적 자원 집합 내의 다른 프로세서 코어 중에서 스타트업 프로세서 코어를 결정할 수도 있다.
관리 운영체제가 상기 이용 가능한 프로세서 코어 중에서 스타트업 프로세서 코어를 결정하면, 다음의 방식들이 실시에 사용될 수 있다: 관리 운영체제는 사전에 설정된 정책에 따라 이용 가능한 프로세서 코어 중에서 스타트업 프로세서 코어를 결정하고; 관리 운영체제는 상기 이용 가능한 프로세서 코어 중에서 하나의 프로세서 코어를 스타트업 프로세서 코어로서 무작위로 선택하고; 관리 운영체제는 사용자 명령을 획득하고, 상기 사용자 명령에 따라 상기 이용 가능한 프로세서 코어 중에서 스타트업 프로세서 코어를 결정한다.
단계 403에서, 관리 운영체제는 제1 부하 운영체제에 대해, 스타트업 프로세서 코어에 대한 데몬을 설정하고, 설정이 완료된 후, 데몬은 기동되어 있는 스타트업 프로세서 코어 상에서 항상 실행하며, 관리 운영체제에 의해 송신된 다양한 시스템 커맨드를 대기한다. 데몬은 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 설정된다. 관리 운영체제는 데몬에서, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 추가로 사전에 설정한다.
또한, 단계 404에서, 관리 운영체제는 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 사전에 설정한다.
단계 405에서, 관리 운영체제는 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하고, 인터-코어 차단 메시지에 대응하는 명령은 관리 운영체제와 제1 부하 운영체제에 의해 미리 합의된다. 스타트업 프로세서 코어 상에서 실행 중인 데몬이 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 데몬으로부터 판독하며; 스타트업 프로세서 코어가 스타트업 미러를 실행하는 프로세스에서, 스타트업 프로세서 코어는 상기 맵핑 관계에 따라 물리적 메모리 어드레스에 액세스한다.
관리 운영체제는 물리적 메모리에 있는 스타트업 미러가 위치하는 위치로 점프하도록 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하며, 여기서 점프 커맨드는 데몬에 설정되어 있으며, 이에 따라 스타트업 프로세서 코어는 물리적 메모리 어드레스에 있는 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 데몬으로부터 획득하고, 물리적 메모리 어드레스에 있는 스타트업 미러가 위치하는 위치로 점프하여, 제1 부하 운영체제의 스타트업 미러를 실행한다.
본 발명의 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 관리 운영체제는 데몬에 점프 커맨드를 설정하고, 이에 따라 스타트업 프로세서 코어는 물리적 메모리 어드레스에 있는 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 데몬으로부터 획득하고, 물리적 메모리 어드레스에 있는 스타트업 미러가 위치하는 위치로 점프하여, 제1 부하 운영체제의 스타트업 미러를 실행하며 이 스타트업 미러로부터 스타트업 파라미터를 획득한다. 관리 운영체제는 하이퍼바이저의 참여를 요구함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 그 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화하며; 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용할 수 있으며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
도 5는 본 발명에 따른 자원 프로세싱 방법의 실시예 4에 대한 개략적인 흐름도이다. 본 실시예에서의 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 호스트 머신의 프로세서 코어 중 일부와 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정한다. 본 실시예의 실행 본체는 복수의 부하 운영체제 중 임의의 부하 운영체제이다. 설명을 쉽게 하기 위해, 본 실시예에서, 실행 본체는 제1 부하 운영체제를 말한다. 도 5에 도시된 바와 같이, 본 발명의 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 501: 제1 부하 운영체제의 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독한다.
맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되고, 제1 부하 운영체제는 멀터-코어 운영체제 중 임의의 부하 운영체제이다.
단계 502: 제1 부하 운영체제의 스타트업 프로세서 코어는, 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 물리적 메모리에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하고, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행한다.
단계 503: 제1 부하 운영체제의 스타트업 프로세서 코어는 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득한다.
스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
단계 504: 제1 부하 운영체제는 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 설정되고 스타트업 미러 점프에 의해 제1 부하 운영체제에 할당되며 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 결정한다.
본 실시예의 애플리케이션 시나리오는 도 1의 실시예에 도시된 시나리오일 수 있으며, 이에 대해 본 실시예에서 반복 설명하지 않는다. 본 실시예에서, 본 실시예에서 제공하는 자원 프로세싱 방법에 대해 제1 부하 운영체제를 실행 본체로 사용함으로써 상세히 설명한다. 제1 부하 운영체제는 구체적으로 도 1에 도시된 부하 운영체제 중 임의의 부하 운영체제일 수 있다.
단계 501에서, 관리 운영체제가 제1 부하 운영체제에 대해 스타트업 프로세서 코어를 결정하고, 제1 부하 운영체제의 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 부하 운영체제에 대해 설정되어 있는 맵핑 관계를 획득하고, 제1 부하 운영체제는 맵핑 관계에 따라 물리적 메모리 어드레스에 직접적으로 액세스할 수 있으며 어드레스 변환을 수행하지 않아도 된다.
단계 502에서, 제1 부하 운영체제의 스타트업 프로세서 코어는, 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 설정되어 있고 스타트업 미러 점프를 실행하기 위한 명령을 수신하며, 제1 부하 운영체제는 관리 운영체제에 의해 사전에 설정되어 있고 스타트업 미러 점프를 위한 명령에 따라, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며; 제1 부하 운영체제의 스타트업 프로세서 코어가 스타트업 미러일 때, 제1 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러에 대응하는 맵핑 관계에 따라 물리적 메모리 어드레스에 직접적으로 액세스하여, 스타트업 미러의 스타트업 프로세스를 완료한다.
단계 503에서, 제1 부하 운영체제의 스타트업 프로세서 코어는 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하며, 여기서 스타트업 파라미터는 관리 운영체제에 의해 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 관리 운영체제에 의해 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
선택적으로, 물리적 자원 집합이 호스트 머신의 일부의 외부 장치를 포함할 때, 스타트업 파라미터는 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다. 장치 설명 정보 테이블은 외부 장치의 구성 정보, 예를 들어, 외부 어드레스의 물리적 메모리 어드레스의 구성, 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의 맵핑 관계를 포함한다. 본 실시예는 장치 설명 정보 테이블에 포함되어 있는 특정한 내용에 대해 특별한 제한을 두지 않는다.
단계 504에서, 제1 부하 운영체제는 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 설정되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 결정할 수 있으며, 제1 부하 운영체제는 자신이 배타적으로 사용하는 물리적 자원에 대해 독립적인 페이지 테이블, 클록, 런타임 환경 등을 구성할 수 있다.
당업자라면 제1 부하 운영체제가 스타트업 미러를 실행하는 목적이 제1 부하 운영체제를 기동하기 위한 것이라는 것을 이해할 수 있을 것이며; 스타트업 미러의 실행이 종료된 후, 제1 부하 운영체제의 스타트업이 완료되며, 제1 부하 운영체제가 러닝 스테이지로 진입한다.
본 발명의 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 제1 부하 운영체제의 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하고, 관리 운영체제에 의해 설정되어 있고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하고, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하며, 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하며, 여기서 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다. 제1 부하 운영체제는 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 할당되어 있고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하며; 제1 부하 운영체제는 스타트업 미러로부터 스타트업 파라미터를 판독하여, 하이퍼바이저의 참여를 요구함이 없이, 관리 운영체제에 부하 운영체제에 할당되고 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 판독하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화한다. 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용하여, 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원에 대해 독립적인 페이지 테이블, 클록, 런타임 환경 등을 구성하며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
이하에서는 수 개의 특정한 실시예를 사용하여 도 5에 도시된 방법 실시예의 기술적 솔루션을 상세히 설명한다.
특정한 실시예는 도 6에 도시된 것일 수 있다. 도 5은 본 발명에 따른 자원 프로세싱 방법의 실시예 5에 대한 개략적인 흐름도이다. 도 6에 도시된 바와 같이, 본 발명의 이 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 601: 제1 부하 운영체제의 스타트업 프로세서 코어는 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하며, 여기서 상기 스타트업 프로세서 코어는 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행한다.
단계 602: 제1 부하 운영체제의 스타트업 프로세서 코어는, 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하고, 관리 운영체제에 의해 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 판독하며, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행한다.
단계 603: 제1 부하 운영체제의 스타트업 프로세서 코어는 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득한다.
스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
단계 604: 제1 부하 운영체제는 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한다.
본 실시예에서, 단계 603은 단계 503과 유사하고, 단계 604는 단계 504와 유사하므로, 이에 대해서는 본 실시예에서 반복 설명하지 않는다.
단계 601에서, 제1 부하 운영체제의 스타트업 프로세서 코어는 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하며, 여기서 스타트업 프로세서 코어는 인터-코어 차단 메시지의 명령에 따라, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행한다.
구체적으로, 인터-코어 차단 메시지에 의해 하나의 값이 전달되고 이 값은 차단 벡터라 할 수 있으며, 인터-코어 차단 메시지에 대응하는 값 및 이 값에 대응하는 실행 프로세스 양자는 관리 운영체제 및 제1 부하 운영체제에 의해 미리 합의된다. 관리 운영체제는 제1 부하 운영체제의 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하며, 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령한다.
관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 제1 부하 운영체제의 스타트업 프로세서 코어는 사전에 설정된 고정 물리적 메모리에서 초기화 프로그램을 검색하고, 그 초기화 프로그램을 실행하여 스타트업 프로세서 코어의 초기화를 완료하며, 스타트업 프로세서 코어의 초기화는 스타트업 프로세서 코어의 스타트업 프로세스이다.
단계 602에서, 제1 부하 운영체제의 스타트업 프로세서 코어는 초기화 프로그램을 실행하는 프로세스에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 초기화 프로그램으로부터 판독하며; 제1 부하 운영체제의 스타트업 프로세서 코어가 맵핑 관계를 판독한 후, 스타트업 미러를 실행하는 후속의 프로세스에서, 제1 부하 운영체제의 스타트업 프로세서 코어는 맵핑 관계에 따라 물리적 메모리 어드레스를 직접적으로 액세스할 수 있으며 어드레스 변환을 수행하지 않아도 된다.
또한, 초기화 프로그램의 최종 명령은 스타트업 미러로 점프하도록 스타트업 프로세서 코어에 명령하는 데 사용되고 점프 명령으로서 해석될 수 있다. 제1 부하 운영체제의 스타트업 프로세서 코어가 관리 운영체제에 의해 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 초기화 프로그램으로부터 판독하고, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며, 맵핑 관계에 따라 물리적 메모리 어드레스에 직접적으로 액세스하여 제1 부하 운영체제에 대응하는 스타트업 미러를 실행한다.
본 발명의 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 제1 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 초기화 프로그램으로부터 판독하고, 관리 운영체제에 의해 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 판독하고, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하며, 스타트업 미러로부터 스타트업 파라미터를 판독하고, 스타트업 파라미터에 따라 물리적 자원 집합을 획득하며, 부하 운영체제의 스타트업 프로세스를 완료한다. 관리 운영체제는 하이퍼바이저의 참여를 요구함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 그 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화하며; 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용하며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
다른 특정한 실시예는 다음과 같다: 본 실시예에서, 제1 부하 운영체제의 스타트업 프로세서 코어는, 기동되어 있고 관리 운영체제에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 이 데몬은 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 설정되며, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요한 맵핑 관계는 데몬에 설정된다. 도 7은 본 발명에 따른 자원 프로세싱 방법의 실시예 6에 대한 개략적인 흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 실시예에서 제공하는 자원 프로세싱 방법은 다음을 포함한다:
단계 701: 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행 중인 데몬은 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고, 스타트업 프로세서 코어는 인터-코어 차단 메시지의 명령에 따라, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 데몬으로부터 판독한다.
단계 702: 제1 부하 운영체제의 스타트업 프로세서 코어는 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행한다.
단계 703: 제1 부하 운영체제의 스타트업 프로세서 코어는 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득한다.
스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
단계 704: 제1 부하 운영체제는 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 결정한다.
본 실시예와 도 6에서의 실시예 간의 차이점은 본 실시예어서의 스타트업 프로세서 코어는 기동되어 있는 프로세서 코어이며, 즉 초기화 프로그램이 스타트업 프로세서 코어 상에서 수행되지 않아도 된다는 점이다. 본 실시예에서의 단계 703은 도 5의 실시예에서의 단계 503과 유사하고 단계 704는 도 5의 실시예에서의 단계 504와 유사하므로, 이에 대해서는 본 실시예에서 반복 설명하지 않는다. 특정한 실시 프로세스에서, 관리 운영체제는 제1 부하 운영체제에 대해 스타트업 프로세서 코어에 대한 데몬을 사전에 설정하고, 설정이 완료된 후, 데몬은 기동되어 있는 스타트업 프로세서 코어 상에서 항상 실행된다.
단계 701에서, 관리 운영체제는 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하고, 인터-코어 차단 메시지에 대응하는 명령은 관리 운영체제 및 제1 부하 운영체제에 의해 미리 합의된다. 스타트업 프로세서 코어 상에서 실행 중인 데몬이 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 스타트업 프로세서 코어는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 데몬으로부터 판독하며; 스타트업 프로세서 코어가 스타트업 미러를 실행하는 프로세스에서, 스타트업 프로세서 코어는 상기 맵핑 관계에 따라 물리적 메모리 어드레스에 액세스한다.
단계 702에서, 제1 부하 운영체제의 스타트업 프로세서 코어는 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치로 점프하며, 맵핑 관계에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러를 실행한다.
본 발명의 실시예에서 제공하는 자원 프로세싱 방법에 따르면, 제1 부하 운영체제의 스타트업 프로세서 코어는 물리적 메모리 어드레스에 있는, 제1 부하 운영체제에 대응하는 스타트업 미러의 위치를 사전에 설정된 데몬으로부터 획득하고, 물리적 메모리 어드레스에 있는 스타트업 미러가 위치하는 위치로 점프하여, 제1 부하 운영체제의 스타트업 미러를 실행하고 이 스타트업 미러로부터 스타트업 파라미터를 획득한다. 관리 운영체제는 하이퍼바이저의 참여를 요구함이 없이, 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 그 부하 운영체제에 할당하며, 이에 의해 관리 운영체제에 의해 부하 운영체제에 물리적 자원을 할당하는 프로세스를 단순화하며; 또한, 각각의 부하 운영체제는 물리적 자원을 배타적으로 사용하며, 이에 의해 부하 운영체제의 전반적인 성능을 개선한다.
도 5 내지 도 7에서의 실시예에 기초하여, 스타트업 프로세서 코어는 스타트업 미러를 실행하고 제1 부하 운영체제의 스타트업을 완료한다. 제1 부하 운영체제가 기동된 후, 제1 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 모든 맵핑 관계를 구축하고; 제1 부하 운영체제의 프로세서 코어는 맵핑 관계에 따라, 가상 메모리 어드레스를 물리적 메모리 어드레스로 변환하며, 물리적 메모리 어드레스에 직접적으로 액세스한다.
또한, 제1 부하 운영체제의 실행 프로세스에서, 제1 부하 운영체제는 자신에게 할당된 프로세서 코어를 사용함으로써, 관리 운영체제에 의해 전달된 특권 명령을 실행할 수 있다. 특정한 실시 프로세스에서, 특권 명령을 실행하는 프로세서 코어는 스타트업 프로세서 코어일 수도 있고, 특권 명령을 실행하는 프로세서 코어가 관리 운영체제에 의해 제1 부하 운영체제에 할당된 프로세서 코어이기만 하면, 스타트업 프로세서 코어가 아닌 다른 프로세서 코어일 수도 있다. 특권 명령은 운영체제에 적용되고 일반적으로 사용자에게 직접 제공되지 않는다. 특권 명령은 자원 할당 및 관리에 주로 사용되는데, 이것은 사용자 액세스 권한의 검출, 작업 생성 및 전환 등을 들 수 있다.
본 실시예에서, 제1 부하 운영체제는 가상화 기술에서 특권 동작에 대한 하이퍼콜(hypercall)을 번역 또는 수행하는 단계 없이, 이 특권 명령을 직접적으로 수행한다. 구체적으로, 관리 운영체제는 제1 부하 운영체제가 실행을 수행하도록 제1 부하 운영체제에 특권 명령을 전달할 수 있으며, 이것은 호스트 머신의 정상적인 러닝 스테이지에 영향을 주지 않는다.
도 2 내지 도 7에서의 실시예는 관리 운영체제에 의해 제1 부하 운영체제에 물리적 자원을 할당하는 프로세스를 상세히 설명하며, 제1 부하 운영체제가 스타트업 미러를 실행하여 제1 부하 운영체제의 스타트업 프로세스를 완료하는 방법도 추가로 상세히 설명한다.
제1 부하 운영체제의 실행 프로세스에서, 제1 부하 운영체제의 물리적 자원은 동적으로 조정되어야 한다. 특정한 실시 프로세스에서, 제1 부하 운영체제를 동적으로 조정하는 2개의 가능한 실시 방식이 있다.
하나의 가능한 실시 방식은 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하고 제1 부하 운영체제의 물리적 자원을 조정하는 것이며, 이것은 구체적으로 2개의 가능한 상황을 포함한다.
하나의 가능한 상황에서: 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하며; 그리고
제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하며, 여기서 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며; 그리고
관리 운영체제가 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키며, 여기서 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
다른 가능한 상황에서: 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하며; 그리고
제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하며, 여기서 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며; 그리고
관리 운영체제가 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
구체적으로, 본 실시예에서, 관리 운영체제에 의해 제1 부하 운영체제에 할당된 물리적 자원은 프로세서 코어 자원, 물리적 메모리 자원, 및 외부 장치 자원을 포함한다. 관리 운영체제는 제1 부하 운영체제의 실행 프로세스에서, 제1 부하 운영체제에 할당된 물리적 자원의 이용률을 모니터링하며, 즉 프로세서 코어 자원, 물리적 메모리 자원, 및 외부 장치 자원의 이용률을 모니터링한다.
관리 운영체제가 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮은 것으로 결정할 때, 그것은 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 제1 부하 운영체제에 할당할 때, 관리 운영체제가 제1 부하 운영체제에 너무 많은 물리적 자원을 할당한다는 것을 나타내며; 이 경우, 관리 운영체제는 물리적 자원이 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정한다. 3가지 유형의 물리적 자원이 있으므로, 관리 운영체제는 각각의 물리적 자원의 이용률에 따라, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하고, 그런 다음 관리 운영체제는 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소한다. 특정한 실시 프로세스에서, 관리 운영체제는 제1 부하 운영체제의 물리적 자원의 이용률 및 다른 부하 운영체제의 물리적 자원의 이용률에 따라, 이용 가능한 물리적 자원에 대한 2차 분할을 수행하여, 제1 부하 운영체제의 물리적 자원을 감소시킬 수 있다. 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
관리 운영체제가 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높다 것으로 결정할 때, 그것은 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 제1 부하 운영체제에 할당할 때, 관리 운영체제가 제1 부하 운영체제에 너무 적은 물리적 자원을 할당한다는 것을 나타내며; 이 경우, 관리 운영체제는 물리적 자원이 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정한다. 3가지 유형의 물리적 자원이 있으므로, 관리 운영체제는 각각의 물리적 자원의 이용률에 따라, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하고, 그런 다음 관리 운영체제는 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에서의 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가한다. 특정한 실시 프로세스에서, 관리 운영체제는 제1 부하 운영체제의 물리적 자원의 이용률 및 다른 부하 운영체제의 물리적 자원의 이용률에 따라, 이용 가능한 물리적 자원에 대한 2차 분할을 수행하여, 제1 부하 운영체제의 물리적 자원을 부가할 수 있다. 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
다른 가능한 실시 방식은 다음과 같다: 제1 부하 운영체제는 자신의 물리적 자원의 사용 상태를 모니터링하고, 이에 따라 관리 운영체제는 제1 부하 운영체제의 물리적 자원을 조정한다. 2가지의 가능한 상황이 구체적으로 다음에 포함될 수 있다:
하나의 가능한 상황에서: 제1 부하 운영체제가 제1 부하 운영체제의 물리적 자원을 모니터링하며; 그리고
제1 부하 운영체제가 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮은 것으로 결정하면, 제1 부하 운영체제는 관리 운영체제에 자원 감소 요구 메시지를 송신하고, 여기서 상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다
다른 가능한 상황에서: 제1 부하 운영체제가 제1 부하 운영체제의 물리적 자원을 모니터링하며; 그리고
제1 부하 운영체제가 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높은 것으로 결정하면, 제1 부하 운영체제가 관리 운영체제에 자원 부가 요구 메시지를 송신하고, 여기서 상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원 또는 물리적 메모리 자원인지를 구별하는 데 사용된다.
구체적으로, 본 실시예에서, 제1 부하 운영체제는, 관리 운영체제에 의해 제1 부하 운영체제에 할당된 물리적 자원은 프로세서 코어 자원, 물리적 메모리 자원, 및 외부 장치 자원을 포함하는 것으로 결정한다. 제1 부하 운영체제는 실행 프로세스에서, 관리 운영체제에 의해 제1 부하 운영체제에 할당된 물리적 자원의 이용률을 모니터링하며, 즉 프로세서 코어 자원, 물리적 메모리 자원, 및 외부 장치 자원의 이용률을 모니터링한다.
관리 운영체제가 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮은 것으로 결정할 때, 그것은 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 제1 부하 운영체제에 할당할 때, 관리 운영체제가 제1 부하 운영체제에 너무 많은 물리적 자원을 할당한다는 것을 나타내며; 이 경우, 관리 운영체제는 물리적 자원이 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 관리 운영체제에 자원 감소 요구 메시지를 송신한다. 3가지 유형의 물리적 자원이 있으므로, 제1 부하 운영체제는 각각의 물리적 자원의 이용률에 따라, 감소되어야 하는 물리적 자원의 유형 식별자를 결정한다. 그러므로 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하며, 여기서 물리적 자원의 유형 식별자는 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
관리 운영체제가 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높은 것으로 결정할 때, 그것은 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 제1 부하 운영체제에 할당할 때, 관리 운영체제가 제1 부하 운영체제에 너무 적은 물리적 자원을 할당한다는 것을 나타내며; 이 경우, 관리 운영체제는 물리적 자원이 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 관리 운영체제에 자원 부가 요구 메시지를 송신한다. 3가지 유형의 물리적 자원이 있으므로, 제1 부하 운영체제는 각각의 물리적 자원의 이용률에 따라, 부가되어야 하는 물리적 자원의 유형 식별자를 결정한다. 그러므로 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하며, 여기서 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
전술한 2가지 가능한 실시 방식은 관리 운영체제 및 제1 부하 운영체제의 관점에서, 제1 부하 운영체제의 물리적 자원이 부가 또는 감소되어야 하는 것을 개별적으로 설명한다. 이하에서는 물리적 자원의 유형에 따라, 각각의 물리적 자원의 부가 또는 감소에 대해 상세히 설명한다.
도 8a는 본 발명에 따라 물리적 자원이 프로세서 코어일 때 제1 부하 운영체제를 위한 프로세서 코어를 부가하는 개략적인 흐름도이다. 도 8b는 본 발명에 따라 제1 부하 운영체제가 프로세서 코어를 해제하는 개략적인 흐름도이다.
도 8a에 도시된 바와 같이, 제1 부하 운영체제를 위한 프로세서 코어를 부가하는 단계는 다음의 단계를 포함한다.
단계 8101: 관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 프로세서 코어를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신한다.
상기 자원 부가 메시지는 상기 부가되어야 하는 프로세서 코어의 식별자를 포함한다.
구체적으로, 관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 프로세서 코어를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 여기서 부가된 프로세서 코어는 물리적 자원 풀에서의 이용 가능한 물리적 자원으로서 사용되지 않으며, 관리 운영체제 및 제1 부하 운영체제는 상기 부가된 프로세서 코어의 이용률을 모니터링한다.
단계 8102: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하며, 여기서 상기 자원 부가 메시지는 부가되어야 하는 프로세서 코어의 식별자를 포함한다.
단계 8103: 제1 부하 운영체제는 부가되어야 하는 프로세서 코어의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되는 프로세서 코어를 결정한다.
단계 8104: 관리 운영체제는 부가된 프로세서 코어에 점프 명령을 송신한다.
점프 명령은 제1 부하 운영체제의 커널 프로그램을 실행하도록 상기 부가된 프로세서 코어에 명령하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 상기 부가된 프로세서 코어에 명령하는 데 사용된다.
관리 운영체제는 제1 부하 운영체제에 대해, 사전에 설정된 고정 물리적 메모리에 커널 프로그램을 설정하고, 관리 운영체제 및 제1 부하 운영체제는, 제1 부하 운영체제가 가상 메모리 어드레스에서 물리적 메모리 어드레스가지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 모든 맵핑 관계를 커널 프로그램에 기록할 수 있다는 것을 미리 합의한다. 당업자라면 커널 프로그램이 상기 부가된 프로세서 코어를 실행하는 데 필요한 다른 정보를 더 포함할 수 있다는 것을 이해할 수 있을 것이며, 이에 대해서는 본 실시예에서 특별한 제한을 두지 않는다.
단계 8105: 제1 부하 운영체제의 부가된 프로세서 코어는 관리 운영체제에 의해 송신된 점프 명령을 수신하고, 이 점프 명령에 따라 제1 부하 운영체제의 커널 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스가지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 모든 맵핑 관계를 커널 프로그램으로부터 판독한다.
도 8b에 도시된 바와 같이, 제1 부하 운영체제에 의해 프로세서 코어를 해제하는 단계는 이하의 단계를 포함한다.
단계 8201: 관리 운영체제는 제1 부하 운영체제에 자원 감소 메시지를 송신한다.
자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함한다.
단계 8202: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하며, 여기서 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함한다.
단계 8203: 제1 부하 운영체제는 해제되어야 하는 프로세서 코어의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 프로세서 코어를 결정한다.
단계 8204: 제1 부하 운영체제는 프로세서 코어를 해제하며, 여기서 상기 해제된 프로세서 코어는 해제되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어이다.
제1 부하 운영체제가 프로세서 코어를 해제하는 것은 제1 부하 운영체제가 그 프로세서 코어를 더 이상 사용하지 않는다는 것을 말한다.
단계 8205: 관리 운영체제는 제1 부하 운영체제에 의해 해제된 프로세서 코어의 식별자를 획득하고, 상기 해제된 프로세서 코어의 식별자를 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하며, 여기서 상기 해제된 프로세서 코어는 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어이다.
도 9a는 본 발명에 따라 물리적 자원이 물리적 메모리 자원일 때 제1 부하 운영체제를 위한 물리적 메모리 어드레스를 부가하는 개략적인 흐름도이다. 도 9b는 본 발명에 따라 제1 부하 운영체제가 물리적 메모리 어드레스를 해제하는 개략적인 흐름도이다.
도 9a에 도시된 바와 같이, 제1 부하 운영체제를 위한 물리적 메모리 어드레스를 부가하는 단계를 이하의 단계를 포함한다:
단계 9101: 관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신한다.
상기 자원 부가 메시지는 상기 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함한다.
관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하며, 여기서 부가된 물리적 메모리 어드레스는 물리적 자원 풀에서의 이용 가능한 물리적 자원으로서 사용되지 않으며, 관리 운영체제 및 제1 부하 운영체제는 상기 부가된 물리적 메모리 어드레스의 이용률을 모니터링하며; 제1 부하 운영체제는 가상 메모리 어드레스에서 상기 부가된 물리적 메모리 어드레스까지의 맵핑 관계를 추가로 구축한다.
단계 9102: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하고, 여기서 상기 자원 부가 메시지는 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함한다.
단계 9103: 제1 부하 운영체제는 부가되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가된 물리적 메모리 어드레스를 결정한다.
도 9b에 도시된 바와 같이, 제1 부하 운영체제가 물리적 메모리 어드레스를 해제하는 단계는 이하의 단계를 포함한다:
단계 9201: 관리 운영체제는 제1 부하 운영체제에 자원 감소 메시지를 송신한다.
자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스의 식별자를 포함한다.
단계 9202: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하며, 여기서 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스의 식별자를 포함한다.
단계 9203: 제1 부하 운영체제는 해제되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 물리적 메모리 어드레스를 결정한다.
단계 9204: 제1 부하 운영체제는 물리적 메모리 어드레스를 해제하고, 여기서 상기 해제된 물리적 메모리 어드레스는 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스이다.
단계 9205: 관리 운영체제는 제1 부하 운영체제에 의해 해제된 물리적 메모리 어드레스의 식별자를 획득하고, 상기 해제된 물리적 메모리 어드레스의 식별자를 자원 물 내의 이용 가능한 물리적 자원의 목록에 부가하며, 여기서 해제된 물리적 메모리 어드레스는 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스이다.
도 10a는 본 발명에 따라 물리적 자원이 외부 장치 자원일 때 제1 부하 운영체제를 위한 외주 장치를 부가하는 개략적인 흐름도이다. 도 10b는 본 발명에 따라 제1 부하 운영체제를 위한 외부 장치를 감소시키는 개략적인 흐름도이다.
도 10a에 도시된 바와 같이, 제1 부하 운영체제를 위한 외부 장치를 부가하는 단계를 다음의 단계를 포함한다:
단계 10101: 관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 외부 장치를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 강렬한 삽입 메시지(hot-insertion message)를 송신한다.
상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용된다.
구체적으로, 관리 운영체제는 제1 부하 운영체제에 대해 부가되어야 하는 외부 장치를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 여기서 상기 부가된 외부 장치는 물리적 자원 풀에서의 이용 가능한 물리적 자원으로서 사용되지 않으며, 관리 운영체제 및 제1 부하 운영체제는 상기 부가된 외부 장치의 이용률을 모니터링한다.
강렬한 삽입 메시지가 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용되는 것은 2가지의 가능한 실시 방식을 포함한다:
하나의 가능한 실시 방식에서: 관리 운영체제는 제1 부하 운영체제에 강렬한 삽입 메시지를 송신하며, 여기서 상기 강렬한 삽입 메시지는 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 포함한다.
다른 가능한 실시 방식에서: 관리 운영체제는 제1 부하 운영체제에 강렬한 명령 메시지를 송신하며, 여기서 상기 강렬한 명령 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 사전에 설정된 고정 물리 메모리로부터 판독하도록 제1 부하 운영체제에 명령하는 데 사용된다.
단계 10102: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 강렬한 삽입 메시지를 수신한다.
단계 10103: 제1 부하 운영체제는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블에 따라, 부가되어야 하는 외부 장치의 식별자에 대응하는 외부 장치에 대한 강렬한 삽입 동작을 실행한다.
도 10b에 도시된 바와 같이, 제1 부하 운영체제를 위한 외부 장치를 감소시키는 단계는 다음의 단계를 포함한다:
단계 10201: 관리 운영체제는 제1 부하 운영체제에 강렬한 제거 메시지를 송신한다.
상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함한다.
단계 10202: 제1 부하 운영체제는 관리 운영체제에 의해 송신된 강렬한 제거 메시지를 수신하며, 여기서 상기 강렬한 제거 메시지는 상기 감소되어야 하는 외부 장치의 식별자를 포함한다.
단계 10203: 제1 부하 운영체제는 상기 감소되어야 하는 외부 장치의 식별자에 따라, 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치에 대해 강렬한 제거 동작을 수행한다.
단계 10204: 관리 운영체제는 제1 부하 운영체제에 대해 감소되어야 하는 외부 장치의 식별자를 획득하고, 상기 감소된 외부 장치의 식별자를 자원 풀에서의 이용 가능한 물리적 자원의 목록에 부가하며, 여기서 상기 감소된 외부 장치는 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치이다.
본 발명의 실시예에서, 전술한 방식으로 물리적 자원의 동작 조정이 실행되고, 이에 따라 제1 부하 운영체제가 물리적 자원을 배타적으로 사용할 수 있을 뿐만 아니라, 물리적 자원의 이용률도 제1 부하 운영체제의 물리적 자원을 부가 또는 감소함으로써 향상된다.
도 11은 본 발명에 따른 관리 운영체제의 실시예 1에 대한 개략적인 구조도이다. 상기 관리 운영체제는 도 1에 도시된 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 상기 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함한다. 도 11에 도시된 바와 같이, 본 실시예에서 제공하는 관리 운영체제(110)는 자원 할당 모듈(1101), 맵핑 관계 설정 모듈(1102), 스타트업 프로세서 코어 결정 모듈(1103), 및 명령 모듈(1104)을 포함한다.
자원 할당 모듈(1101)은 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하도록 구성되어 있으며, 여기서 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함한다.
맵핑 관계 설정 모듈(1102)은: 각각의 부하 운영체제에 대한 스타트업 미러를 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있다.
스타트업 프로세서 코어 결정 모듈(1103)은 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있으며, 여기서 상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나이다.
명령 모듈(1104)은 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 구성 모듈에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있도록 하고, 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하도록 구성되어 있으며, 여기서 상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 12는 본 발명에 따른 관리 운영체제의 실시예 2에 대한 개략적인 구조도이다. 본 실시예는 도 11의 실시예에 기초하여 실시되며, 구체적으로 다음과 같다:
선택적으로, 상기 명령 모듈(1104)은 구체적으로:
상기 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하고 - 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함 - ; 및
상기 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하도록 구성되어 있다.
선택적으로, 상기 관리 운영체제는, 상기 맵핑 관계 설정 모듈이 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하기 전에, 상기 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 초기화 프로그램 구성 모듈(1105)을 더 포함한다.
상기 맵핑 관계 설정 모듈(1102)은 구체적으로, 상기 초기화 프로그램에서 제1 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있고, 유사한 기술적 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 13은 본 발명에 따른 관리 운영체제의 실시예 3에 대한 개략적인 구조도이다. 본 실시예는 도 11의 실시예에 기초하여 실시되며, 구체적으로 다음과 같다:
선택적으로, 상기 관리 운영체제는, 상기 스타트업 프로세서 코어 결정 모듈이, 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하기 전에, 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하도록 구성되어 있는 이용 가능한 프로세서 코어 획득 모듈(1106)을 더 포함하며, 여기서 상기 제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함한다.
상기 이용 가능한 프로세서 코어 획득 모듈(1103)은 구체적으로: 상기 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있다.
선택적으로, 상기 관리 운영체제는, 상기 스타트업 프로세서 코어 결정 모듈이 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한 후에, 상기 제1 부하 운영체제에 대해 상기 스타트업 프로세서 코어에 대한 데몬을 사전에 설정하고, 상기 데몬에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 데몬 구성 모듈(1107)을 더 포함한다.
상기 맵핑 관계 설정 모듈(1102)은 구체적으로, 상기 제1 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있다.
선택적으로, 상기 명령 모듈(1104)은 구체적으로: 상기 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하도록 구성되어 있으며, 여기서 상기 인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 데몬으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 상기 물리적 메모리 어드레스에 있는, 상기 데몬 구성 모듈에 의해 상기 데몬에 사전에 설정되어 있는 위치는 상기 물리적 메모리에 있는 상기 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행한다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있고, 유사한 기술적 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 12 및 도 13에서의 실시예에 기초하여, 상기 자원 할당 모듈은 구체적으로:
상기 부하 운영체제의 수에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원에 대해 1차 분할을 수행하여 복수의 물리적 자원 집합을 획득하고 - 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같고, 상기 관리 운영체제는 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정함 - ; 그리고
각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당하도록 구성되어 있다.
선택적으로, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함한다.
상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
도 12 및 도 13에서의 실시예에 기초하여, 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링할 때, 2가지의 가능한 실시 방식이 포함되며, 관리 운영체제의 구조는 2가지의 가능한 실시 방식을 포함한다.
하나의 가능한 실시 방식은 상기 관리 운영체제가:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제1 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제1 자원 관리 모듈
을 포함하는 것이고, 여기서 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
상기 자원 구성 모듈은, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며, 여기서 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
다른 가능한 실시 방식은 상기 관리 운영체제가:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 상기 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제2 모니터링 모듈; 및
상기 제2 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제2 자원 관리 모듈
을 더 포함하는 것이며, 여기서 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
상기 자원 구성 모듈은, 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하도록 추가로 구성되어 있으며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
도 12 및 도 13에서의 실시예에 기초하여, 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링할 때, 2가지의 가능한 실시 방식이 포함되며, 관리 운영체제의 구조는 2가지의 가능한 실시 방식을 포함한다.
하나의 가능한 실시 방식은 상기 관리 운영체제가:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제에 의해 송신된 자원 감소 요구 메시지를 수신하도록 구성되어 있는 제1 수신 모듈
을 더 포함하는 것이며, 여기서 상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
상기 자원 구성 모듈은, 상기 자원 감소 요구 메시지에서, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며, 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
다른 가능한 실시 방식은 상기 관리 운영체제가:
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제에 의해 송신된 자원 부가 요구 메시지를 수신하도록 구성되어 있는 제2 수신 모듈
을 더 포함하는 것이며, 여기서 상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
상기 자원 구성 모듈은, 상기 자원 부가 요구 메시지에서의 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하도록 추가로 구성되어 있으며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원이다.
전술한 실시예에 기초하여, 상기 부가되어야 하는 물리적 자원이 프로세서 코어이면, 상기 자원 구성 모듈은 구체적으로:
상기 제1 부하 운영체제에 대해 부가되어야 하는 프로세서 코어를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하며 - 상기 자원 부가 메시지는 상기 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ; 그리고
상기 부가된 프로세서 코어에 점프 명령을 송신하도록 구성되어 있으며, 여기서 상기 점프 명령은 제1 부하 운영체제의 커널 프로그램을 실행하도록 상기 부가된 프로세서 코어에 명령하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 상기 부가된 프로세서 코어에 명령하는 데 사용된다.
전술한 실시예에 기초하여, 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원이면, 상기 자원 구성 모듈은 구체적으로:
상기 제1 부하 운영체제에 자원 감소 메시지를 송신하고 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 의해 해제된 프로세서 코어의 식별자를 획득하고, 상기 해제된 프로세서 코어의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며, 여기서 상기 해제된 프로세서 코어는 상기 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어이다.
전술한 실시예에 기초하여, 상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 자원 구성 모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하도록 추가로 구성되어 있으며, 여기서 상기 자원 부가 메시지는 상기 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함한다.
전술한 실시예에 기초하여, 상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 구성 자원 모듈은 구체적으로:
상기 제1 부하 운영체제에 자원 감소 메시지를 송신하고 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 의해 해제된 물리적 메모리 어드레스의 식별자를 획득하고, 상기 해제된 물리적 메모리 어드레스의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며, 여기서 상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스이다.
전술한 실시예에 기초하여, 상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 자원 구성모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 부가되어야 하는 외부 장치를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 강렬한 삽입 메시지를 송신하도록 추가로 구성되어 있으며, 여기서 상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용된다.
전술한 실시예에 기초하여, 상기 감소되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 자원 구성 모듈은 구체적으로,
상기 제1 부하 운영체제에 강렬한 제거 메시지를 송신하고 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 대해 감소된 외부 장치의 식별자를 획득하고, 상기 감소된 외부 장치의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며, 여기서 상기 감소된 외부 장치는 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치이다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 11 내지 도 13에서의 실시예에 기초하여, 부하 운영체제는 실행에 필요한 다른 모듈을 더 포함할 수 있으며, 예를 들어:
관리 운영체제와 다른 부하 운영체제 간의 최하위 계층 통신을 실행하도록 구성되어 있는 인터-인스턴스 통신 모듈 - 여기서 통지 및 응답은 네트워크를 사용하여 수행되지 않고 인터-프로세서 차단 방식으로 수행됨 - ;
자원 런타임 보조 모듈 - 하드웨어 기능의 제한으로 인해, 외부 장치의 차단이 부하 운영체제에 직접적으로 루팅될 수 없을 때, 관리 운영체제의 런타임 보조 모듈이 상기 차단을 포워딩할 수 있으며, 상기 차단에 대한 정상적인 응답을 실행하도록 일조하거나; 또는 하드웨어 기능이 차단의 자동적인 루팅 및 다이렉트 메모리 액세스(Direct memory Access, DMA로 약칭)의 자유로운 구성을 지원할 때, 즉 외부 장치의 차단이 부하 운영체제에 직접적으로 루팅될 때, 자원 런타임 보조 모듈은 취소될 수 있음 - ;
단말(키보드, 마우스, 또는 그래픽 카드)을 필요로 하는 가벼운 OS를 위한 가상 단말 장치를 준비하고, 메모리 공유와 같은 메커니즘을 사용함으로써 통신 효율을 보장하며, 실행 시의 지원을 제공하도록 구성되어 있는 단말 서비스 모듈; 및
시스템의 사용자-지향 관리 인터페이스를 가상화하고, 사용자가 복잡한 애플리케이션을 쉽게 관리할 수 있게 하며, 적절한 애플리케이션 스케줄링 정책을 개발하도록 구성되어 있는 애플리케이션 관리 모듈
을 더 포함할 수 있다.
도 14는 본 발명에 따른 부하 운영체제의 실시예 1에 대한 개략적인 구조도이다. 본 발명의 실시예에서 부하 운영체제는 도 1에 도시된 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 상기 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 상기 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며, 상기 부하 운영체제는(140)는 맵핑 관계 획득 모듈(1401), 명령 실행 모듈(1402), 스타트업 파라미터 획득 모듈(1403), 및 물리적 자원 집합 획득 모듈(1404)을 포함한다.
맵핑 관계 획득 모듈(1401)은 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하도록 구성되어 있으며, 여기서 상기 맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되며, 제1 부하 운영체제는 상기 멀티-코어 운영체제 중 임의의 부하 운영체제이다.
명령 실행 모듈(1402)은 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하고, 상기 맵핑 관계에 따라 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하도록 구성되어 있다.
스타트업 파라미터 획득 모듈(1403)은 상기 명령 실행 모듈에 의해 상기 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하도록 구성되어 있으며, 여기서 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함한다.
물리적 자원 집합 획득 모듈(1404)은 상기 프로세서 코어의 식별자 및 상기 제1 부하 운영체제의 물리적 메모리 어드레스에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하도록 구성되어 있다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 15는 본 발명에 따른 부하 운영체제의 실시예 2에 대한 개략적인 구조도이다. 본 실시예는 도 14에서의 실시예에 기초하여 실시되며, 구체적으로 다음과 같다:
선택적으로, 상기 맵핑 관계 획득 모듈(1401)은 구체적으로:
관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고 - 상기 스타트업 프로세서 코어는 상기 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행함 - ; 그리고
상기 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 구성되어 있다.
명령 실행 모듈(1402)은 구체적으로: 상기 초기화 프로그램을 실행하고, 상기 관리 운영체제에 의해 상기 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 상기 초기화 프로그램으로부터 판독하며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있다.
선택적으로, 상기 제1 부하 운영체제의 스타트업 프로세서는, 기동되어 있고 상기 관리 부하 시스템에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 상기 데몬은 제1 부하 운영체제에 대해 관리 운영체제에 의해 사전에 설정되며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계가 상기 데몬에 설정되어 있다
맵핑 관계 획득 모듈(1401)은 구체적으로, 상기 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행되고 있는 데몬이, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 상기 인코-코어 차단 메시지의 명령에 따라 상기 데몬으로부터, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 판독하도록 구성되어 있다.
명령 실행 모듈(1402)은 구체적으로: 상기 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있다.
선택적으로, 각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며; 그리고
상기 스타트업 파라미터는 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함한다.
선택적으로, 상기 물리적 자원 집합 획득 모듈이 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 구축하고; 그리고
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계에 따라, 상기 물리적 메모리 어드레스에 액세스하도록 구성되어 있는 맵핑 관계 구축 모듈(1405)
을 더 포함한다.
선택적으로, 상기 명령 실행 모듈(1402)은: 상기 물리적 자원 집합 획득 모듈이 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제에 할당된 프로세서 코어를 사용함으로써 상기 관리 운영체제에 의해 전달된 특권 명령을 실행하도록 추가로 구성되어 있다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 15에서의 실시예에 기초하여, 제1 부하 운영체제는 자신의 물리적 자원을 모니터링하며, 동적 자원 조정을 수행하며, 선택적으로, 부하 운영체제는:
상기 물리적 자원 집합 획득 모듈이, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제의 물리적 자원을 모니터링하도록 구성되어 있는 제1 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮다는 것이면, 상기 관리 운영체제에 자원 감소 요구 메시지를 송신하도록 구성되어 있는 제1 송신 모듈
을 더 포함하고,
상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용된다.
선택적으로, 상기 부하 운영체제는:
상기 물리적 자원 집합 획득 모듈이, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제의 물리적 자원을 모니터링하도록 구성되어 있는 제2 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높다는 것이면, 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하도록 구성되어 있는 제2 송신 모듈
을 더 포함하고,
상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원 또는 물리적 메모리 자원인지를 구별하는 데 사용된다.
선택적으로, 상기 부가되어야 하는 물리적 자원이 프로세서 코어이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하고 - 상기 자원 부가 메시지는 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 부가되어야 하는 프로세서 코어의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되는 프로세서 코어를 결정하며; 그리고
상기 제1 부하 운영체제의 부가된 프로세서 코어가 상기 관리 운영체제에 의해 송신된 점프 명령을 수신할 때, 상기 점프 명령에 따라 제1 부하 운영체제의 커널 프로그램을 실행하며, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 추가로 구성되어 있으며, 여기서 상기 제1 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램에 사전에 설정한다.
선택적으로, 상기 감소되어야 하는 물리적 자원이 프로세서 코어이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하고 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 해제되어야 하는 프로세서 코어의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 프로세서 코어를 결정하며; 그리고
상기 프로세서 코어를 해제하도록 추가로 구성되어 있으며,
상기 해제된 프로세서 코어는 상기 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어이다.
선택적으로, 상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하고 - 상기 자원 부가 메시지는 부가되어야 하는 물리적 메모리 어드레스를 포함함 - ; 그리고
상기 부가되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 결정하도록 추가로 구성되어 있다.
선택적으로, 상기 감소되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하고 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스를 포함함 - ;
상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 물리적 메모리 어드레스를 결정하며; 그리고
상기 물리적 메모리 어드레스를 해제하도록 추가로 구성되어 있으며, 여기서 상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스이다.
선택적으로, 상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 강렬한 삽입 메시지를 수신하고 - 상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용됨 - ; 그리고
상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블에 따라, 상기 부가되어야 하는 외부 장치의 식별자에 대응하는 외부 장치 상에서 강렬한 삽입 동작을 실행하도록 추가로 구성되어 있다.
선택적으로, 상기 감소되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 강렬한 제거 메시지를 수신하고 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 및
상기 감소되어야 하는 외부 장치의 식별자에 따라, 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치의 강렬한 제거 동작을 수행하도록 추가로 구성되어 있다.
본 발명의 실시예에서 제공하는 관리 운영체제는 전술한 자원 프로세싱 방법 실시예의 기술적 솔루션을 실행할 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
도 14 및 도 15에서의 실시예에 기초하여, 부하 운영체제는 실행에 필요한 다른 모듈을 더 포함할 수 있으며, 예를 들어:
호스트 머신 내에서 그리고 관리 운영체제와 부하 운영체제 또는 다른 부하 운영체제 사이에서 고속 통신을 실행하도록 구성되어 있는 인터-인스턴스 통신 모듈;
관리 운영체제이 제공하는 단말 가상화 서비스를 사용함으로써, 사용자가 단말 방식으로 직접적으로 부하 운영체제를 동작할 수 있는 가상 단말; 및
관리 운영체제에 의해 또는 다른 애플리케이션에 의해 개발된 애플리케이션을 수신하고, 그 애플리케이션을 실행 및 관리하도록 구성되어 있는 애플리케이션 관리 모듈
을 더 포함할 수 있다.
도 16은 이종 플랫폼 상의 멀티-코어 시스템의 아키텍처에 대한 개략도이다. 도 16에 도시된 바와 같이, 본 발명에 따른 가상화 시스템의 본 실시예에서는, 이종 노드 상에, 데이터 프로세싱 유닛(Data Processing Unit, DPU), 크세논(Xeon) 프로세서, 및 범용 그래픽 프로세싱 유닛(General Purpose Graphic Processing Unit, GPGPU로 약칭)과 같은 프로세서가 있다. 각각의 프로세서는 복수의 프로세서 코어를 포함하고, 이종 프로세서는 PCI-E 버스를 사용하여 상호접속되며 논-유니폼 메모리 액세스(Non-uniform Memory Access, NUMA로 약칭) 방식으로 결합된다. 이종 플랫폼 상에서는, 물리적 메모리, 디스크 어레이, 및 네트워크 어댑터 어레이와 같은 자원도 있으며, 이것들은 프론트 사이드 버스, 입출력 제어 센터, 및 PCI 버스와 같은 장치를 사용하여 접속된다.
본 실시예에서, 관리 운영체제 및 일부의 부하 운영체제는 Xeon 프로세서에 대응하는 프로세서 코어를 실행하고, 다른 주문형 부하 운영체제는 다른 프로세서에 대응하는 프로세서 코어를 실행하는데, 예를 들어, GPGPU는 고도의 병행성으로 컴퓨팅 작업을 실행하는 데 적절하며, DPU는 데이터 프로세싱 서비스를 실행하는 데 적절하다. 그러므로 부하 운영체제는 각각의 프로세서의 서비스 유형에 따라 PGGPU 및 DPU에 개별적으로 맞춰져 있고, 예를 들어, GPGPU에 맞춰진 부하 운영체제는 기본 행렬 연산을 위한 런타임 라이브러리 지원만을 포함하며, 컴퓨터 통일 장치 아키텍처(Computer Unified Device Architecture, CUDA로 약칭)와 같은 언어를 주로 지원하며; DPU에 맞춰진 부하 운영체제는 데이터 처리를 위한 패키지 지원만을 포함하며, 분산 시스템 인프라스트럭쳐(예를 들어, Hadoop)와 같은 애플리케이션을 주로 지원하며, 다른 컴퓨팅 구성요소는 배제한다.
관리 운영체제는 PCI-E 스위치에 의해 접속된 메모리(예를 들어, DRAM)를 추가로 관리하고, 관리자에 의해 지정된 구성 파일에 따라, DPU 상에 있는 복수의 부하 운영체제를 기동하며, 애플리케이션 관리 프로그램을 사용하여 부하 운영체제에 작업을 송신한다. 선택적으로, 데이터 프로세싱 애플리케이션에 있어서, 프로세스 및 스레드의 수량에 대한 애플리케이션의 조건이 높지 않기 때문에, 복수의 코어가 데이터 채널 처리 능력을 최적화할 때, 동시성의 스레드 및 프로세스와 같은 데이터 구조에 대한 지원은 감소될 수 있으며, 이에 의해 공간 또는 성능 오버헤드를 감소하고 성능을 향상시킨다.
도 17은 본 발명에 따른 호스트 머신의 실시예 1에 대한 개략적인 구조도이다. 도 17에 도시된 바와 같이, 본 실시예에서 제공하는 호스트 머신(170)은 프로세서(1701) 및 메모리(1702)를 포함하며, 여기서 메모리(1702)는 실행 명령을 저장하며, 호스트 머신(170)이 실행되면, 프로세서(1701)는 메모리(1702)와 통신하고, 프로세서(1701)는 메모리(1702)에 있는 실행 명령을 실행하여, 호스트 머신(170)이 전술한 자원 프로세싱 방법의 기술적 솔루션의 동작을 실행할 수 있게 한다.
본 실시예에서의 호스트 머신은 본 발명에 따라 전술한 가상 머신 시스템 관리 방법 실시예의 기술적 솔루션을 실해하도록 구성될 수 있으며, 유사한 실시 원리 및 기술적 효과를 가지며, 이에 대해서는 본 실시예에서 반복적으로 설명하지 않는다.
본 발명에서 제공하는 수 개의 실시예에서, 개시된 시스템 및 방법은 다른 방식으로 실현될 수 있다는 것에 유의해야 한다. 예를 들어, 설명된 시스템 실시예는 단지 예시에 불과하다. 예를 들어, 모듈 분할은 단지 논리적 기능 분할일 뿐이며, 실제의 실시에서는 다른 분할이 될 수도 있다. 예를 들어, 복수의 모듈 또는 구성요소는 다른 시스템에 결합되거나 통합될 수도 있으며, 일부의 특징이 무시될 수도 있고 수행되지 않을 수도 있다. 또한, 표시되거나 논의된 상호 커플링 또는 다이렉트 커플링 또는 통신 접속은 일부의 인터페이스를 통해 실현될 수 있다. 모듈 간의 간접 커플링 또는 통신 접속은 전기적, 기계적, 또는 다른 형태로 실현될 수 있다.
당업자라면 본 발명의 방법의 단계 중 일부 또는 전부는 관련 하드웨어에 명령을 내리는 컴퓨터 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있을 것이다. 프로그램은 컴퓨터가 판독 가능한 저장 매체에 저장될 수 있다. 프로그램이 실행되면, 방법 실시예의 단계들이 수행된다. 전술한 저장 매체는 ROM, RAM, 자기디스크, 또는 광디스크가 될 수 있다.
마지막으로, 전술한 실시예는 본 발명의 기술적 솔루션을 설명하기 위한 것에 지나지 않으며, 본 발명을 제한하려는 것이 아님에 유의해야 한다. 본 발명을 전술한 실시예를 참조하여 설명하였으나, 당업자라면 전술한 실시예에 설명된 기술적 솔루션에 대한 수정, 또는 기술적 특징 중 일부 또는 전부에 대한 등가의 대체는 대응하는 기술적 솔루션의 본질이 본 발명의 실시예의 기술적 솔루션의 범위를 벗어나지 않는 한, 이러한 변형 또는 대체를 수행할 수 있다는 것을 이해할 수 있을 것이다.
Claims (66)
- 자원 프로세싱 방법으로서,
상기 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제, 복수의 부하 운영체제 및 물리적 자원 풀(pool)을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하고, 각각의 부하 운영체제에 대한 스타트업 미러(startup mirror)를 구축하며, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계 - 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함함 - ;
상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 - 상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나임 - ;
상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계 - ; 및
상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계
를 포함하며,
상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함하는, 자원 프로세싱 방법. - 제1항에 있어서,
상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계, 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계는,
상기 관리 운영체제가 상기 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하는 단계 - 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함 - ; 및
상기 관리 운영체제가 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하는 단계
를 포함하는, 자원 프로세싱 방법. - 제2항에 있어서,
상기 관리 운영체제가 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계 이전에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하는 단계
를 더 포함하고,
상기 관리 운영체제가 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 초기화 프로그램에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계
를 포함하는, 자원 프로세싱 방법. - 제1항에 있어서,
상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 이전에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가, 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하는 단계
를 더 포함하며, 여기서 상기 제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함하며,
상기 관리 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계는,
상기 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계
를 포함하는, 자원 프로세싱 방법. - 제4항에 있어서,
상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 스타트업 프로세서 코어에 대한 데몬(daemon)을 사전에 설정하고, 상기 데몬에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하는 단계
를 더 포함하고,
상기 관리 운영체제가 각각의 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하는 단계
를 포함하는, 자원 프로세싱 방법. - 제5항에 있어서,
상기 관리 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 단계, 및 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계는,
상기 관리 운영체제가 상기 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하는 단계
를 포함하며,
상기 인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 데몬으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 상기 물리적 메모리 어드레스에 있는, 상기 관리 운영체제에 의해 상기 데몬에 사전에 설정되어 있는 위치는 상기 물리적 메모리 어드레스에 있는 상기 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하는, 자원 프로세싱 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하는 것은,
상기 관리 운영체제가 상기 부하 운영체제의 수에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원에 대해 1차 분할(first-time division)을 수행하여 복수의 물리적 자원 집합을 획득하고 - 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같음 - , 상기 관리 운영체제가 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정하는 단계; 및
상기 관리 운영체제가 각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당하는 단계
를 포함하는, 자원 프로세싱 방법. - 제7항에 있어서,
각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함하는, 자원 프로세싱 방법. - 제8항에 있어서,
상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하는 단계;
상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하는 단계 - 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 자원 프로세싱 방법. - 제8항에 있어서,
상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제의 실행을 모니터링하는 단계;
상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임계값보다 낮을 때, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하는 단계 - 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 자원 프로세싱 방법. - 제8항에 있어서,
상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제에 의해 송신된 자원 감소 요구 메시지를 수신하는 단계 - 상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 자원 프로세싱 방법. - 제8항에서,
상기 관리 운영체제가 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 관리 운영체제가 제1 부하 운영체제에 의해 송신된 자원 부가 요구 메시지를 수신하는 단계 - 상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용됨 - ; 및
상기 관리 운영체제가 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하는 단계
를 포함하며,
상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 자원 프로세싱 방법. - 제10항 또는 제12항에 있어서,
상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 부가하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 부가되어야 하는 프로세서 코어를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하는 단계 - 상기 자원 부가 메시지는 상기 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ; 및
상기 관리 운영체제가 상기 부가된 프로세서 코어에 점프 명령을 송신하는 단계
를 포함하며,
상기 점프 명령은 제1 부하 운영체제의 커널 프로그램을 실행하도록 상기 부가된 프로세서 코어에 명령하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 상기 부가된 프로세서 코어에 명령하는 데 사용되는, 자원 프로세싱 방법. - 제9항 또는 제11항에 있어서,
상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 감소시키는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 자원 감소 메시지를 송신하는 단계 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ; 및
상기 관리 운영체제가 제1 부하 운영체제에 의해 해제된 프로세서 코어의 식별자를 획득하고, 상기 해제된 프로세서 코어의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하는 단계
를 포함하며,
상기 해제된 프로세서 코어는 상기 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어인, 자원 프로세싱 방법. - 제10항 또는 제12항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 부가하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하는 단계
를 포함하며,
상기 자원 부가 메시지는 상기 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함하는, 자원 프로세싱 방법. - 제9항 또는 제11항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 감소시키는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 자원 감소 메시지를 송신하는 단계 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 관리 운영체제가 제1 부하 운영체제에 의해 해제된 물리적 메모리 어드레스의 식별자를 획득하고, 상기 해제된 물리적 메모리 어드레스의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하는 단계
를 포함하며,
상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스인, 자원 프로세싱 방법. - 제10항 또는 제12항에 있어서,
상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 부가하는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 대해 부가되어야 하는 외부 장치를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 강렬한 삽입 메시지(hot-insertion message)를 송신하는 단계
를 포함하며,
상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용되는, 자원 프로세싱 방법. - 제9항 또는 제11항에 있어서,
상기 감소되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 관리 운영체제가 제1 부하 운영체제의 물리적 자원을 감소시키는 단계는,
상기 관리 운영체제가 제1 부하 운영체제에 강렬한 제거 메시지(hot-removal message)를 송신하는 단계 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 및
상기 관리 운영체제가 제1 부하 운영체제에 대해 감소된 외부 장치의 식별자를 획득하고, 상기 감소된 외부 장치의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하는 단계
를 포함하며,
상기 감소된 외부 장치는 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치인, 자원 프로세싱 방법. - 자원 프로세싱 방법으로서,
상기 자원 프로세싱 방법은 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 상기 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 상기 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며, 상기 자원 프로세싱 방법은,
제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계 - 상기 맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되며, 제1 부하 운영체제는 상기 멀티-코어 운영체제 중 임의의 부하 운영체제임 - ;
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하고, 상기 맵핑 관계에 따라 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하는 단계;
상기 제1 부하 운영체제의 스타트업 프로세스 코어가 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하는 단계 - 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 제1 부하 운영체제가 프로세서 코어의 식별자 및 제1 부하 운영체제의 물리적 메모리 어드레스의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계
를 포함하는 자원 프로세싱 방법. - 제19항에 있어서,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계는,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하는 단계 - 상기 스타트업 프로세서 코어는 상기 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행함 - ; 및
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하는 단계
를 포함하며,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계는,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 초기화 프로그램을 실행하고, 상기 관리 운영체제에 의해 상기 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 상기 초기화 프로그램으로부터 판독하며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계
를 포함하는, 자원 프로세싱 방법. - 제19항에 있어서,
상기 제1 부하 운영체제의 스타트업 프로세서는, 기동되어 있고 상기 관리 부하 시스템에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 상기 데몬은 제1 부하 운영체제에 대해 관리 운영체제에 의해 사전에 설정되며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계가 상기 데몬에 설정되어 있으며,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하는 단계는,
상기 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행되고 있는 데몬이, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고, 상기 스타트업 프로세서 코어가 상기 인코-코어 차단 메시지의 명령에 따라 상기 데몬으로부터, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 판독하는 단계
를 포함하고,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계는,
상기 제1 부하 운영체제의 스타트업 프로세서 코어가, 상기 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하는 단계
를 포함하는, 자원 프로세싱 방법. - 제19항 내지 제21항 중 어느 한 항에 있어서,
각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함하는, 자원 프로세싱 방법. - 제22항에 있어서,
상기 제1 부하 운영체제가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 구축하는 단계; 및
상기 제1 부하 운영체제의 프로세서 코어가, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계에 따라, 물리적 메모리 어드레스에 액세스하는 단계
를 포함하는, 자원 프로세싱 방법. - 제22항에 있어서,
상기 제1 부하 운영체제가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가 제1 부하 운영체제에 할당된 프로세서 코어를 사용함으로써 상기 관리 운영체제에 의해 전달된 특권 명령(privileged instruction)을 실행하는 단계
를 더 포함하는 자원 프로세싱 방법. - 제23항 또는 제24항에 있어서,
상기 제1 부하 운영체제가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가 제1 부하 운영체제의 물리적 자원을 모니터링하는 단계; 및
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮은 것으로 결정하면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 감소 요구 메시지를 송신하는 단계
를 더 포함하고,
상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되는, 자원 프로세싱 방법. - 제23항 또는 제24항에 있어서,
상기 제1 부하 운영체제가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가 제1 부하 운영체제의 물리적 자원을 모니터링하는 단계; 및
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높은 것으로 결정하면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계
를 더 포함하고,
상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원 또는 물리적 메모리 자원인지를 구별하는 데 사용되는, 자원 프로세싱 방법. - 제26항에 있어서,
상기 부가되어야 하는 물리적 자원이 프로세서 코어이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에,
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하는 단계 - 상기 자원 부가 메시지는 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 제1 부하 운영체제가 상기 부가되어야 하는 프로세서 코어의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되는 프로세서 코어를 결정하는 단계; 및
상기 제1 부하 운영체제의 부가된 프로세서 코어가 상기 관리 운영체제에 의해 송신된 점프 명령을 수신하고, 상기 점프 명령에 따라 제1 부하 운영체제의 커널 프로그램을 실행하며, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하는 단계
를 더 포함하는 자원 프로세싱 방법. - 제25항에 있어서,
상기 감소되어야 하는 물리적 자원이 프로세서 코어이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하는 단계 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 제1 부하 운영체제가 상기 해제되어야 하는 프로세서 코어의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 프로세서 코어를 결정하는 단계; 및
상기 제1 부하 운영체제가 상기 프로세서 코어를 해제하는 단계
를 더 포함하며,
상기 해제된 프로세서 코어는 해제되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어인, 자원 프로세싱 방법. - 제26항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에,
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하는 단계 - 상기 자원 부가 메시지는 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 제1 부하 운영체제가 상기 부가되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 결정하는 단계
를 더 포함하는 자원 프로세싱 방법. - 제25항에 있어서,
상기 감소되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에, 상기 자원 프로세싱 방법은,
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하는 단계 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스를 포함함 - ;
상기 제1 부하 운영체제가 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 물리적 메모리 어드레스를 결정하는 단계; 및
상기 제1 부하 운영체제가 상기 물리적 메모리 어드레스를 해제하는 단계
를 더 포함하며,
상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스인, 자원 프로세싱 방법. - 제26항에 있어서,
상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에,
상기 제1 부하 운영체제가, 상기 관리 운영체제에 의해 송신된 강렬한 삽입 메시지를 수신하는 단계 - 상기 강렬한 삽입 명령 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 사전에 설정된 고정 물리 메모리로부터 판독하도록 제1 부하 운영체제에 명령하는 데 사용됨 - ; 및
상기 제1 부하 운영체제가 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블에 따라, 상기 부가되어야 하는 외부 장치의 식별자에 대응하는 외부 장치 상에서 강렬한 삽입 동작을 실행하는 단계
를 더 포함하는 자원 프로세싱 방법. - 제25항에 있어서,
상기 감소되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 제1 부하 운영체제가 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하는 단계 이후에,
상기 제1 부하 운영체제가 상기 관리 운영체제에 의해 송신된 강렬한 제거 메시지(hot-removal message)를 수신하는 단계 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 및
상기 제1 부하 운영체제가 상기 감소되어야 하는 외부 장치의 식별자에 따라, 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치의 강렬한 제거 동작을 수행하는 단계
를 더 포함하는 자원 프로세싱 방법. - 관리 운영체제로서,
상기 관리 운영체제는 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 상기 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 상기 관리 운영체제는,
각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 각각의 부하 운영체제에 할당하도록 구성되어 있는 자원 할당 모듈 - 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함함 - ;
각각의 부하 운영체제에 대한 스타트업 미러를 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있는 맵핑 관계 설정 모듈;
제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있는 스타트업 프로세서 코어 결정 모듈 - 상기 제1 부하 운영체제는 상기 부하 운영체제 중 어느 하나임 - ; 및
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요하고 상기 구성 모듈에 의해 사전에 구축되어 있는 맵핑 관계를 판독하도록 상기 스타트업 프로세서 코어에 명령하여, 상기 스타트업 프로세서 코어가 상기 스타트업 미러를 실행하는 프로세스에서 상기 맵핑 관계에 따라 상기 물리적 메모리 어드레스에 액세스할 수 있도록 하고, 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령하도록 구성되어 있는 명령 모듈
을 포함하며,
상기 스타트업 미러는 제1 부하 운영체제의 스타트업 파라미터를 포함하고, 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함하는, 관리 운영체제. - 제33항에 있어서,
상기 명령 모듈은 구체적으로,
상기 스타트업 프로세서 코어에 인터-코어 차단 메시지를 송신하고 - 상기 인터-코어 차단 메시지는, 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함 - ; 및
상기 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행하도록 스타트업 프로세서 코어에 명령함으로써, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 상기 초기화 프로그램의 실행이 종료된 후, 상기 물리적 메모리에 있는 상기 스타트업 미러의 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하도록 구성되어 있는, 관리 운영체제. - 제34항에 있어서,
상기 관리 운영체제는,
상기 맵핑 관계 설정 모듈이 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하기 전에, 상기 제1 부하 운영체제에 대해, 제1 부하 운영체제를 초기화하도록 구성되어 있는 초기화 프로그램을 사전에 설정하고, 상기 초기화 프로그램에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 초기화 프로그램 구성 모듈
을 더 포함하고,
상기 맵핑 관계 설정 모듈은 구체적으로, 상기 초기화 프로그램에서 제1 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있는, 관리 운영체제. - 제33항에 있어서,
상기 관리 운영체제는,
상기 스타트업 프로세서 코어 결정 모듈이, 제1 부하 운영체제에 할당된 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하기 전에, 제2 부하 운영체제의 이용 가능한 프로세서 코어를 획득하도록 구성되어 있는 이용 가능한 프로세서 코어 획득 모듈
을 더 포함하며,
여기서 상기 제2 부하 운영체제는 복수의 부하 시스템에서 제1 부하 운영체제가 아닌 로그아웃된 부하 운영체제이고, 상기 이용 가능한 프로세서 코어는 기동된 프로세서 코어를 포함하며, 제1 부하 운영체제의 물리적 자원 집합은 상기 이용 가능한 프로세서 코어를 포함하며,
상기 이용 가능한 프로세서 코어 획득 모듈은 구체적으로, 상기 제1 부하 운영체제의 물리적 자원 집합이 상기 이용 가능한 프로세서 코어를 포함할 때, 상기 관리 운영체제가 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정하도록 구성되어 있는, 관리 운영체제. - 제36항에 있어서,
상기 관리 운영체제는,
상기 스타트업 프로세서 코어 결정 모듈이 상기 이용 가능한 프로세서 코어에서, 제1 부하 운영체제를 기동하는 스타트업 프로세서 코어를 결정한 후에, 상기 제1 부하 운영체제에 대해 상기 스타트업 프로세서 코어에 대한 데몬을 사전에 설정하고, 상기 데몬에서, 상기 물리적 메모리 어드레스에 있는 제1 부하 운영체제의 스타트업 미러의 위치를 사전에 설정하도록 구성되어 있는 데몬 구성 모듈
을 더 포함하고,
상기 맵핑 관계 설정 모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 상기 데몬에서, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하도록 구성되어 있는, 관리 운영체제. - 제37항에 있어서,
상기 명령 모듈은 구체적으로, 상기 스타트업 프로세서 코어 상에서 실행 중인 데몬에 인터-코어 차단 메시지를 송신하도록 구성되어 있으며, 여기서 상기 인터-코어 차단 메시지는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 데몬으로부터 판독하도록 상기 스타트업 프로세서 코어에 명령하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 상기 물리적 메모리 어드레스에 있는, 상기 데몬 구성 모듈에 의해 상기 데몬에 사전에 설정되어 있는 위치는 상기 물리적 메모리에 있는 상기 스타트업 미러가 위치하는 위치로 점프하도록 상기 스타트업 프로세서 코어에 명령하여, 제1 부하 운영체제의 스타트업 미러를 실행하는, 관리 운영체제. - 제33항 내지 제38항 중 어느 한 항에 있어서,
상기 자원 할당 모듈은 구체적으로,
상기 부하 운영체제의 수에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 이용 가능한 물리적 자원에 대해 1차 분할을 수행하여 복수의 물리적 자원 집합을 획득하고 - 상기 물리적 자원 집합의 수는 상기 부하 운영체제의 수와 같고, 상기 관리 운영체제는 각각의 부하 운영체제와 각각의 물리적 자원 집합 간의 대응관계를 결정함 - ; 그리고
각각의 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원 집합을 상기 대응관계에 따라 각각의 부하 운영체제에 할당하도록 구성되어 있는, 관리 운영체제. - 제39항에 있어서,
각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함하는, 관리 운영체제. - 제40항에 있어서,
상기 관리 운영체제는,
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제1 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 감소되어야 하는 것으로 결정하고, 감소되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제1 자원 관리 모듈
을 포함하고,
상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며,
여기서 상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 관리 운영체제. - 제40항에 있어서,
상기 관리 운영체제는,
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 상기 제1 부하 운영체제의 실행을 모니터링하도록 구성되어 있는 제2 모니터링 모듈; 및
상기 제2 모니터링 모듈의 모니터링 결과가 상기 제1 부하 운영체제에 할당된 물리적 자원의 이용률이 제2 사전에 설정된 임계값보다 낮다는 것이면, 물리적 자원은 제1 부하 운영체제에 대해 부가되어야 하는 것으로 결정하고, 부가되어야 하는 물리적 자원의 유형 식별자를 결정하도록 구성되어 있는 제2 자원 관리 모듈
을 더 포함하며,
여기서 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하도록 추가로 구성되어 있으며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 관리 운영체제. - 제40항에 있어서,
상기 관리 운영체제는,
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제에 의해 송신된 자원 감소 요구 메시지를 수신하도록 구성되어 있는 제1 수신 모듈
을 더 포함하며,
여기서 상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 자원 감소 요구 메시지에서, 상기 감소되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 감소시키도록 추가로 구성되어 있으며,
상기 감소된 물리적 자원은 상기 감소되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 관리 운영체제. - 제40항에 있어서,
상기 관리 운영체제는,
상기 명령 모듈이 상기 제1 부하 운영체제에 대해 사전에 구축된 스타트업 미러를 실행하도록 상기 스타트업 프로세서 코어에 명령한 후에, 제1 부하 운영체제에 의해 송신된 자원 부가 요구 메시지를 수신하도록 구성되어 있는 제2 수신 모듈
을 더 포함하며,
여기서 상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되며,
상기 자원 구성 모듈은, 상기 자원 부가 요구 메시지에서의 상기 부가되어야 하는 물리적 자원의 유형 식별자에 따라, 상기 물리적 자원 풀에 있으면서 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에서의 물리적 자원의 식별자에 대응하는 상기 이용 가능한 물리적 자원에 대해 2차 분할을 수행하고, 제1 부하 운영체제의 물리적 자원을 부가하도록 추가로 구성되어 있으며, 여기서 상기 부가된 물리적 자원은 상기 부가되어야 하는 물리적 자원의 유형 식별자에 대응하는 물리적 자원인, 관리 운영체제. - 제42항 또는 제44항에 있어서,
상기 부가되어야 하는 물리적 자원이 프로세서 코어이면, 상기 자원 구성 모듈은 구체적으로,
상기 제1 부하 운영체제에 대해 부가되어야 하는 프로세서 코어를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하며 - 상기 자원 부가 메시지는 상기 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ; 그리고
상기 부가된 프로세서 코어에 점프 명령을 송신하도록 구성되어 있으며,
여기서 상기 점프 명령은 제1 부하 운영체제의 커널 프로그램을 실행하도록 상기 부가된 프로세서 코어에 명령하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 상기 부가된 프로세서 코어에 명령하는 데 사용되는, 관리 운영체제. - 제41항 또는 제43항에 있어서,
상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원이면, 상기 자원 구성 모듈은 구체적으로,
상기 제1 부하 운영체제에 자원 감소 메시지를 송신하고 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 의해 해제된 프로세서 코어의 식별자를 획득하고, 상기 해제된 프로세서 코어의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며,
여기서 상기 해제된 프로세서 코어는 상기 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어인, 관리 운영체제. - 제42항 또는 제44항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 자원 구성 모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 자원 부가 메시지를 송신하도록 추가로 구성되어 있으며, 여기서 상기 자원 부가 메시지는 상기 부가되어야 하는 물리적 메모리 어드레스의 식별자를 포함하는, 관리 운영체제. - 제41항 또는 제43항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 구성 자원 모듈은 구체적으로,
상기 제1 부하 운영체제에 자원 감소 메시지를 송신하고 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 의해 해제된 물리적 메모리 어드레스의 식별자를 획득하고, 상기 해제된 물리적 메모리 어드레스의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며,
여기서 상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스인, 관리 운영체제. - 제42항 또는 제44항에 있어서,
상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 자원 구성모듈은 구체적으로, 상기 제1 부하 운영체제에 대해 부가되어야 하는 외부 장치를 제1 부하 운영체제에 속하는 물리적 자원으로서 마킹하고, 제1 부하 운영체제에 강렬한 삽입 메시지를 송신하도록 추가로 구성되어 있으며, 여기서 상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용되는, 관리 운영체제. - 제41항 또는 제43항에 있어서,
상기 감소되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 자원 구성 모듈은 구체적으로,
상기 제1 부하 운영체제에 강렬한 제거 메시지를 송신하고 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 그리고
상기 제1 부하 운영체제에 대해 감소된 외부 장치의 식별자를 획득하고, 상기 감소된 외부 장치의 식별자를 상기 자원 풀 내의 이용 가능한 물리적 자원의 목록에 부가하도록 추가로 구성되어 있으며,
여기서 상기 감소된 외부 장치는 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치인, 관리 운영체제. - 부하 운영체제로서,
상기 부하 운영체제는 멀티-코어 운영체제에 적용되며, 상기 멀티-코어 운영체제는 관리 운영체제 및 호스트 머신 상에서 실행되는 복수의 부하 운영체제를 포함하고 물리적 자원 풀을 포함하며, 상기 물리적 자원 풀은 호스트 머신의 프로세서 코어 및 물리적 메모리를 포함하며, 각각의 부하 운영체제는 상기 관리 운영체제에 의해 할당되는 물리적 자원 집합을 배타적으로 사용하고, 각각의 물리적 자원 집합은 상기 호스트 머신의 프로세서 코어 중 일부와 상기 호스트 머신의 물리적 메모리 중 한 부분을 포함하며; 상기 관리 운영체제는 각각의 부하 운영체제에 대해 스타트업 미러를 사전에 구축하고, 각각의 부하 운영체제에 대해, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 설정하며, 상기 부하 운영체제는,
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제의 스타트업 미러를 실행하는 데 필요한 맵핑 관계를 판독하도록 구성되어 있는 맵핑 관계 획득 모듈 - 상기 맵핑 관계는 제1 부하 운영체제의 스타트업 프로세서 코어가 상기 물리적 메모리 어드레스에 액세스할 수 있게 하는 데 사용되며, 제1 부하 운영체제는 상기 멀티-코어 운영체제 중 임의의 부하 운영체제임 - ;
상기 관리 운영체제에 의해 설정되고 스타트업 미러 점프를 실행하기 위한 명령에 따라, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하고, 상기 맵핑 관계에 따라 제1 부하 운영체제에 대응하는 스타트업 미러를 실행하도록 구성되어 있는 명령 실행 모듈;
상기 명령 실행 모듈에 의해 상기 제1 부하 운영체제의 스타트업 미러를 실행하는 프로세스에서, 제1 부하 운영체제의 스타트업 미러로부터 제1 부하 운영체제의 스타트업 파라미터를 획득하도록 구성되어 있는 스타트업 파라미터 획득 모듈 - 상기 스타트업 파라미터는 제1 부하 운영체제에 할당된 프로세서 코어의 식별자 및 제1 부하 운영체제에 할당된 물리적 메모리 어드레스의 식별자를 포함함 - ; 및
상기 프로세서 코어의 식별자 및 상기 제1 부하 운영체제의 물리적 메모리 어드레스에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정하도록 구성되어 있는 물리적 자원 집합 획득 모듈
을 포함하는 부하 운영체제. - 제51항에 있어서,
상기 맵핑 관계 획득 모듈은 구체적으로,
상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신하고 - 상기 스타트업 프로세서 코어는 상기 인터-코어 차단 메시지의 명령에 따라, 상기 스타트업 프로세서 코어를 초기화하도록 구성되어 있고 제1 부하 운영체제에 대응하는 초기화 프로그램을 실행함 - ; 그리고
상기 초기화 프로그램을 실행하고, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 상기 초기화 프로그램으로부터 판독하도록 구성되어 있으며,
상기 명령 실행 모듈은 구체적으로, 상기 초기화 프로그램을 실행하고, 상기 관리 운영체제에 의해 상기 초기화 프로그램에 사전에 설정되어 있는 점프 명령을 상기 초기화 프로그램으로부터 판독하며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있는, 부하 운영체제. - 제51항에 있어서,
상기 제1 부하 운영체제의 스타트업 프로세서는, 기동되어 있고 상기 관리 부하 시스템에 의해 결정되는 프로세서 코어이며, 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 데몬이 실행되며, 상기 데몬은 제1 부하 운영체제에 대해 관리 운영체제에 의해 사전에 설정되며, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치 및 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 상기 스타트업 미러를 실행하는 데 필요한 맵핑 관계가 상기 데몬에 설정되어 있으며,
상기 맵핑 관계 획득 모듈은 구체적으로, 상기 제1 부하 운영체제의 스타트업 프로세서 코어 상에서 실행되고 있는 데몬이, 상기 관리 운영체제에 의해 송신된 인터-코어 차단 메시지를 수신한 후, 상기 인코-코어 차단 메시지의 명령에 따라 상기 데몬으로부터, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 스타트업 미러를 실행하는 데 필요하고 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 사전에 구축되어 있는 맵핑 관계를 판독하도록 구성되어 있으며,
상기 명령 실행 모듈은 구체적으로, 상기 관리 운영체제에 의해 데몬에 사전에 설정되어 있는 점프 명령을 판독하고, 제1 부하 운영체제에 대응하는 스타트업 미러의, 물리적 메모리 어드레스에 있는 위치로 점프하도록 구성되어 있는, 부하 운영체제. - 제51항 내지 제53항 중 어느 한 항에 있어서,
각각의 물리적 자원 집합은 상기 호스트 머신의 일부의 외부 장치를 더 포함하며,
상기 스타트업 파라미터는 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당된 외부 장치의 식별자 및 상기 외부 장치에 대응하는 장치 설명 정보 테이블을 더 포함하는, 부하 운영체제. - 제54항에 있어서,
상기 물리적 자원 집합 획득 모듈이 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 구축하고; 그리고
가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계에 따라, 상기 물리적 메모리 어드레스에 액세스하도록 구성되어 있는 맵핑 관계 구축 모듈
을 더 포함하는 부하 운영체제. - 제54항에 있어서,
상기 명령 실행 모듈은, 상기 물리적 자원 집합 획득 모듈이 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제에 할당된 프로세서 코어를 사용함으로써 상기 관리 운영체제에 의해 전달된 특권 명령을 실행하도록 추가로 구성되어 있는, 부하 운영체제. - 제55항 또는 제56항에 있어서,
상기 부하 운영체제는,
상기 물리적 자원 집합 획득 모듈이, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제의 물리적 자원을 모니터링하도록 구성되어 있는 제1 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 낮다는 것이면, 상기 관리 운영체제에 자원 감소 요구 메시지를 송신하도록 구성되어 있는 제1 송신 모듈
을 더 포함하고,
상기 자원 감소 요구 메시지는 감소되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 감소되어야 하는 물리적 자원이 프로세서 코어 자원, 물리적 메모리 자원, 또는 외부 장치 자원인지를 구별하는 데 사용되는, 부하 운영체제. - 제55항 또는 제56항에 있어서,
상기 부하 운영체제는,
상기 물리적 자원 집합 획득 모듈이, 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되고 제1 부하 운영체제에 의해 배타적으로 사용되는 물리적 자원을 결정한 후에, 제1 부하 운영체제의 물리적 자원을 모니터링하도록 구성되어 있는 제2 모니터링 모듈; 및
상기 제1 모니터링 모듈의 모니터링 결과가 상기 관리 운영체제에 의해 제1 부하 운영체제에 할당되는 물리적 자원의 이용률이 제1 사전에 설정된 임계값보다 높다는 것이면, 상기 관리 운영체제에 자원 부가 요구 메시지를 송신하도록 구성되어 있는 제2 송신 모듈
을 더 포함하고,
상기 자원 부가 요구 메시지는 부가되어야 하는 물리적 자원의 유형 식별자를 포함하고, 상기 물리적 자원의 유형 식별자는 상기 부가되어야 하는 물리적 자원이 프로세서 코어 자원 또는 물리적 메모리 자원인지를 구별하는 데 사용되는, 부하 운영체제. - 제58항에 있어서,
상기 부가되어야 하는 물리적 자원이 프로세서 코어이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하고 - 상기 자원 부가 메시지는 부가되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 부가되어야 하는 프로세서 코어의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되는 프로세서 코어를 결정하며; 그리고
상기 제1 부하 운영체제의 부가된 프로세서 코어가 상기 관리 운영체제에 의해 송신된 점프 명령을 수신할 때, 상기 점프 명령에 따라 제1 부하 운영체제의 커널 프로그램을 실행하며, 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램으로부터 판독하도록 추가로 구성되어 있으며,
여기서 상기 제1 부하 운영체제는 가상 메모리 어드레스에서 물리적 메모리 어드레스까지의, 제1 부하 운영체제를 실행하는 데 필요한 모든 맵핑 관계를 상기 커널 프로그램에 사전에 설정하는, 부하 운영체제. - 제57항에 있어서,
상기 감소되어야 하는 물리적 자원이 프로세서 코어이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하고 - 상기 자원 감소 메시지는 해제되어야 하는 프로세서 코어의 식별자를 포함함 - ;
상기 해제되어야 하는 프로세서 코어의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 프로세서 코어를 결정하며; 그리고
상기 프로세서 코어를 해제하도록 추가로 구성되어 있으며,
상기 해제된 프로세서 코어는 상기 감소되어야 하는 프로세서 코어의 식별자에 대응하는 프로세서 코어인, 부하 운영체제. - 제58항에 있어서,
상기 부가되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 부가 메시지를 수신하고 - 상기 자원 부가 메시지는 부가되어야 하는 물리적 메모리 어드레스를 포함함 - ; 그리고
상기 부가되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 상기 관리 운영체제에 의해 제1 부하 운영체제에 대해 부가되어야 하는 물리적 메모리 어드레스를 결정하도록 추가로 구성되어 있는, 부하 운영체제. - 제57항에 있어서,
상기 감소되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 자원 감소 메시지를 수신하고 - 상기 자원 감소 메시지는 해제되어야 하는 물리적 메모리 어드레스를 포함함 - ;
상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 따라, 제1 부하 운영체제에 의해 해제되어야 하는 물리적 메모리 어드레스를 결정하며; 그리고
상기 물리적 메모리 어드레스를 해제하도록 추가로 구성되어 있으며,
여기서 상기 해제된 물리적 메모리 어드레스는 상기 해제되어야 하는 물리적 메모리 어드레스의 식별자에 대응하는 물리적 메모리 어드레스인, 부하 운영체제. - 제58항에 있어서,
상기 부가되어야 하는 물리적 자원이 외부 장치 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제2 송신 모듈이 상기 관리 운영체제에 자원 부가 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 강렬한 삽입 메시지를 수신하고 - 상기 강렬한 삽입 메시지는 상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블을 획득하도록 제1 부하 운영체제에 명령하는 데 사용됨 - ; 그리고
상기 부가되어야 하는 외부 장치의 식별자 및 상기 부가된 외부 장치에 대응하는 장치 설명 정보 테이블에 따라, 상기 부가되어야 하는 외부 장치의 식별자에 대응하는 외부 장치 상에서 강렬한 삽입 동작을 실행하도록 추가로 구성되어 있는, 부하 운영체제. - 제57항에 있어서,
상기 감소되어야 하는 물리적 자원이 물리적 메모리 자원이면, 상기 물리적 자원 집합 획득 모듈은 구체적으로, 상기 제1 송신 모듈이 상기 관리 운영체제에 자원 감소 요구 메시지를 송신한 후에,
상기 관리 운영체제에 의해 송신된 강렬한 제거 메시지를 수신하고 - 상기 강렬한 제거 메시지는 감소되어야 하는 외부 장치의 식별자를 포함함 - ; 및
상기 감소되어야 하는 외부 장치의 식별자에 따라, 상기 감소되어야 하는 외부 장치의 식별자에 대응하는 외부 장치의 강렬한 제거 동작을 수행하도록 추가로 구성되어 있는, 부하 운영체제. - 멀티-코어 운영체제로서,
제33항에 따른 호스트 머신 상에서 실행 중인 관리 운영체제;
제51항에 따른 복수의 부하 운영체제; 및
물리적 자원 풀
을 포함하며,
상기 물리적 자원 풀은 호스트 머신의 프로세서 코어, 물리적 메모리, 및 외부 장치를 포함하는 멀티-코어 운영체제. - 호스트 머신으로서,
프로세서 및 메모리를 포함하며, 상기 메모리는 실행 명령을 저장하며, 상기 호스트 머신이 실행될 때, 상기 프로세서는 상기 메모리와 통신하며, 상기 프로세서는 상기 실행 명령을 실행하여, 상기 호스트 머신으로 하여금 제1항 내지 제32항 중 어느 한 항에 따른 자원 프로세싱 방법을 실행할 수 있게 하는, 호스트 머신.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695461.0 | 2013-12-17 | ||
CN201310695461.0A CN104714846B (zh) | 2013-12-17 | 2013-12-17 | 资源处理方法、操作系统及设备 |
PCT/CN2014/094053 WO2015090197A1 (zh) | 2013-12-17 | 2014-12-17 | 资源处理方法、操作系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160097363A true KR20160097363A (ko) | 2016-08-17 |
KR101952795B1 KR101952795B1 (ko) | 2019-05-17 |
Family
ID=53402110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167018877A KR101952795B1 (ko) | 2013-12-17 | 2014-12-17 | 자원 프로세싱 방법, 운영체제, 및 장치 |
Country Status (13)
Country | Link |
---|---|
US (1) | US10180843B2 (ko) |
EP (1) | EP3086228B1 (ko) |
JP (1) | JP6355114B2 (ko) |
KR (1) | KR101952795B1 (ko) |
CN (1) | CN104714846B (ko) |
AU (1) | AU2014366097B2 (ko) |
BR (1) | BR112016014367B1 (ko) |
CA (1) | CA2933712C (ko) |
MX (1) | MX2016007844A (ko) |
RU (1) | RU2639693C1 (ko) |
SG (1) | SG11201604827PA (ko) |
WO (1) | WO2015090197A1 (ko) |
ZA (1) | ZA201604030B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017107823A1 (de) | 2016-07-29 | 2018-02-01 | Hyundai Motor Company | Harzfolie für Verbundglas, Verbundglas mit der Harzfolie, und Fahrzeug mit dem Verbundglas |
KR20210019378A (ko) * | 2019-08-12 | 2021-02-22 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 자원 관리용 방법, 장치, 전자 기기 및 저장매체 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
CN106445650B (zh) * | 2015-08-05 | 2019-10-25 | 华为技术有限公司 | 一种中断处理方法、ioapic及计算机系统 |
CN106528287B (zh) | 2015-09-09 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 计算机系统资源分配方法和装置 |
CN106789298A (zh) * | 2016-12-29 | 2017-05-31 | 中国建设银行股份有限公司 | 一种动态扩展Web层服务器的方法的装置 |
US10521273B2 (en) | 2017-06-08 | 2019-12-31 | Cisco Technology, Inc. | Physical partitioning of computing resources for server virtualization |
CN107748677A (zh) * | 2017-10-17 | 2018-03-02 | 岳西县天鹅电子科技有限公司 | 一种计算机快速启动及执行程序的方法 |
CN110389812B (zh) * | 2018-04-20 | 2023-05-12 | 伊姆西Ip控股有限责任公司 | 用于管理虚拟机的方法、设备和计算机可读存储介质 |
CN108958884B (zh) * | 2018-06-22 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种虚拟机管理的方法及相关装置 |
RU2690415C1 (ru) * | 2018-08-20 | 2019-06-03 | Акционерное Общество "Нппкт" | Технология автоматического запуска операционной системы на аппаратной платформе с элементами, не поддерживаемыми модулями операционной системы, при включении компьютера |
CN109324838B (zh) * | 2018-08-31 | 2022-05-10 | 深圳市元征科技股份有限公司 | 单片机程序的执行方法、执行装置及终端 |
US10884818B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Increasing processing capacity of virtual machines |
US10884845B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Increasing processing capacity of processor cores during initial program load processing |
US10944581B2 (en) * | 2018-11-08 | 2021-03-09 | International Business Machines Corporation | Increasing processing capacity of processor cores during initial program load processing |
US11327767B2 (en) | 2019-04-05 | 2022-05-10 | International Business Machines Corporation | Increasing resources for partition to compensate for input/output (I/O) recovery event |
CN110162389B (zh) * | 2019-05-15 | 2022-05-13 | 广州视源电子科技股份有限公司 | 应用程序的启动方法、装置和智能交互设备 |
CN110245019B (zh) * | 2019-06-17 | 2021-07-06 | 广东金赋科技股份有限公司 | 一种自适应系统资源的线程并发方法及装置 |
US11055104B2 (en) * | 2019-10-23 | 2021-07-06 | Mellanox Technologies, Ltd. | Network-adapter configuration using option-ROM in multi-CPU devices |
CN114090097B (zh) * | 2020-06-30 | 2024-10-25 | 中国航发商用航空发动机有限责任公司 | 发动机控制系统和控制软件启动方法 |
CN112527205A (zh) * | 2020-12-16 | 2021-03-19 | 江苏国科微电子有限公司 | 一种数据安全防护方法、装置、设备及介质 |
CN113419993B (zh) * | 2021-05-19 | 2024-06-04 | 北京达佳互联信息技术有限公司 | 读写请求处理方法、装置、电子设备及存储介质 |
CN115437717A (zh) * | 2021-06-01 | 2022-12-06 | 北京小米移动软件有限公司 | 跨操作系统的调用方法、装置及电子设备 |
CN114138346A (zh) * | 2021-11-02 | 2022-03-04 | 北京安天网络安全技术有限公司 | 一种终端取证方法、装置、电子设备及存储介质 |
CN117093508B (zh) * | 2023-10-17 | 2024-01-23 | 苏州元脑智能科技有限公司 | 一种内存资源管理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200346A (ja) * | 2007-03-26 | 2007-08-09 | Hitachi Ltd | 仮想計算機システム及びプログラム |
US20080086729A1 (en) * | 2006-10-10 | 2008-04-10 | Yuki Kondoh | Data processor |
JP2012145993A (ja) * | 2011-01-07 | 2012-08-02 | Mitsubishi Electric Corp | 計算機システム及び割込み制御方法及びプログラム |
US20120227040A1 (en) * | 2012-05-01 | 2012-09-06 | Concurix Corporation | Hybrid Operating System |
US20130318334A1 (en) * | 2012-04-24 | 2013-11-28 | Peter P. Waskiewicz, JR. | Dynamic interrupt reconfiguration for effective power management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132741A (ja) | 2000-10-20 | 2002-05-10 | Hitachi Ltd | プロセッサ追加方法、計算機及び記録媒体 |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US8214828B2 (en) * | 2006-06-30 | 2012-07-03 | Microsoft Corporation | Module state management in a virtual machine environment |
US8225315B1 (en) * | 2007-07-23 | 2012-07-17 | Oracle America, Inc. | Virtual core management |
CN100511151C (zh) * | 2007-12-05 | 2009-07-08 | 华为技术有限公司 | 多路多核服务器及其cpu的虚拟化处理方法 |
CN101246431B (zh) * | 2008-03-10 | 2010-08-18 | 中兴通讯股份有限公司 | 加载多核不同操作系统映像的管理方法 |
JP5146174B2 (ja) | 2008-07-28 | 2013-02-20 | 富士通株式会社 | 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法 |
CN101561769B (zh) * | 2009-05-25 | 2013-02-13 | 北京航空航天大学 | 一种基于多核平台虚拟机的进程迁移跟踪方法 |
CN102053869B (zh) | 2009-10-29 | 2013-11-06 | 杭州华三通信技术有限公司 | 一种多操作系统的资源分配方法和装置 |
WO2012060148A1 (ja) * | 2010-11-02 | 2012-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ・アクセスを制御する装置およびコンピュータ |
CN102929719B (zh) * | 2012-09-18 | 2015-09-02 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
-
2013
- 2013-12-17 CN CN201310695461.0A patent/CN104714846B/zh active Active
-
2014
- 2014-12-17 EP EP14870974.4A patent/EP3086228B1/en active Active
- 2014-12-17 AU AU2014366097A patent/AU2014366097B2/en active Active
- 2014-12-17 SG SG11201604827PA patent/SG11201604827PA/en unknown
- 2014-12-17 JP JP2016540538A patent/JP6355114B2/ja active Active
- 2014-12-17 RU RU2016128727A patent/RU2639693C1/ru active
- 2014-12-17 MX MX2016007844A patent/MX2016007844A/es unknown
- 2014-12-17 KR KR1020167018877A patent/KR101952795B1/ko active IP Right Grant
- 2014-12-17 WO PCT/CN2014/094053 patent/WO2015090197A1/zh active Application Filing
- 2014-12-17 CA CA2933712A patent/CA2933712C/en active Active
- 2014-12-17 BR BR112016014367-1A patent/BR112016014367B1/pt active IP Right Grant
-
2016
- 2016-06-07 US US15/175,742 patent/US10180843B2/en active Active
- 2016-06-14 ZA ZA2016/04030A patent/ZA201604030B/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080086729A1 (en) * | 2006-10-10 | 2008-04-10 | Yuki Kondoh | Data processor |
JP2007200346A (ja) * | 2007-03-26 | 2007-08-09 | Hitachi Ltd | 仮想計算機システム及びプログラム |
JP2012145993A (ja) * | 2011-01-07 | 2012-08-02 | Mitsubishi Electric Corp | 計算機システム及び割込み制御方法及びプログラム |
US20130318334A1 (en) * | 2012-04-24 | 2013-11-28 | Peter P. Waskiewicz, JR. | Dynamic interrupt reconfiguration for effective power management |
US20120227040A1 (en) * | 2012-05-01 | 2012-09-06 | Concurix Corporation | Hybrid Operating System |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017107823A1 (de) | 2016-07-29 | 2018-02-01 | Hyundai Motor Company | Harzfolie für Verbundglas, Verbundglas mit der Harzfolie, und Fahrzeug mit dem Verbundglas |
KR20210019378A (ko) * | 2019-08-12 | 2021-02-22 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 자원 관리용 방법, 장치, 전자 기기 및 저장매체 |
Also Published As
Publication number | Publication date |
---|---|
BR112016014367A2 (ko) | 2017-08-08 |
CA2933712A1 (en) | 2015-06-25 |
EP3086228B1 (en) | 2024-03-20 |
CN104714846A (zh) | 2015-06-17 |
JP6355114B2 (ja) | 2018-07-11 |
AU2014366097B2 (en) | 2017-01-12 |
RU2639693C1 (ru) | 2017-12-21 |
EP3086228A1 (en) | 2016-10-26 |
JP2016541072A (ja) | 2016-12-28 |
EP3086228A4 (en) | 2017-03-15 |
US20160291984A1 (en) | 2016-10-06 |
US10180843B2 (en) | 2019-01-15 |
CN104714846B (zh) | 2018-06-05 |
BR112016014367B1 (pt) | 2022-10-11 |
ZA201604030B (en) | 2017-09-27 |
SG11201604827PA (en) | 2016-10-28 |
CA2933712C (en) | 2019-04-23 |
AU2014366097A1 (en) | 2016-07-07 |
MX2016007844A (es) | 2016-10-07 |
WO2015090197A1 (zh) | 2015-06-25 |
KR101952795B1 (ko) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101952795B1 (ko) | 자원 프로세싱 방법, 운영체제, 및 장치 | |
JP2016541072A5 (ko) | ||
JP4921384B2 (ja) | メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム | |
JP6564838B2 (ja) | インダストリアル・インターネットオペレーティングシステムに基づくマルチオペレーティングシステム運行方法および装置 | |
US9697024B2 (en) | Interrupt management method, and computer implementing the interrupt management method | |
US20130247056A1 (en) | Virtual machine control method and virtual machine | |
JP2021005383A (ja) | データにアクセスするための方法、装置、機器及び媒体 | |
GB2525003A (en) | Data Processing Systems | |
US10318460B2 (en) | UMA-aware root bus selection | |
CN113778612A (zh) | 基于微内核机制的嵌入式虚拟化系统实现方法 | |
WO2018076882A1 (zh) | 存储设备的操作方法及物理服务器 | |
CN113296926B (zh) | 一种资源分配方法、计算设备及存储介质 | |
US20160253200A1 (en) | Server virtualization method of multi node system and apparatus thereof | |
CN115421787A (zh) | 指令执行方法、装置、设备、系统、程序产品及介质 | |
KR101765723B1 (ko) | 과립형 gpu 자원 스케줄러와 gpu 인지형 스케줄러 간의 상호작용 장치 및 방법 | |
WO2017012339A1 (zh) | 资源管理方法及装置 | |
US11853798B2 (en) | Disaggregated memory pool assignment | |
CN104714821B (zh) | 操作系统实例创建方法及装置 | |
JP2011221634A (ja) | 計算機システム、論理区画管理方法及び論理分割処理プログラム | |
CN117453352B (zh) | 一种Xen下的设备直通方法 | |
EP2645245B1 (en) | Information processing apparatus, apparatus mangement method, and apparatus management program | |
KR20230034195A (ko) | 하이브리드 가상 머신 관리자의 시스템 및 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |