KR101757961B1 - 가상 bios - Google Patents
가상 bios Download PDFInfo
- Publication number
- KR101757961B1 KR101757961B1 KR1020137027492A KR20137027492A KR101757961B1 KR 101757961 B1 KR101757961 B1 KR 101757961B1 KR 1020137027492 A KR1020137027492 A KR 1020137027492A KR 20137027492 A KR20137027492 A KR 20137027492A KR 101757961 B1 KR101757961 B1 KR 101757961B1
- Authority
- KR
- South Korea
- Prior art keywords
- vbios
- software stack
- controller
- computing device
- virtual machine
- Prior art date
Links
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/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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
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)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
서로 다른 가상 BIOS(basic input output system)로부터 가상 BIOS가 선택될 수 있다. 가상 BIOS의 선택은 컨트롤러에 의하며, 선택은 소프트웨어 스택 또는 사용자 상호 작용에 기초할 수 있다.
Description
가상 머신 모니터 또는 하이퍼바이저(hypervisor)는, 서로 다른 운영 체제를 포함할 수 있는 서로 다른 가상 머신이 컴퓨팅 디바이스 상에서 동시에 실행 가능하게 할 수 있다. 다양한 운영 체제의 다수의 인스턴스는 가상화된 하드웨어 리소스를 공유할 수 있다. 컴퓨팅 디바이스는, 스타트업 시 하드웨어를 테스트하거나, 운영 체제를 개시하거나, 하드웨어 간 데이터의 전달을 지원하는 BIOS(basic input output system)를 포함할 수 있다.
본 발명의 몇몇 실시예들이 다음의 도면들과 함께 설명된다.
도 1은 실시예에 따른 하이퍼바이저를 포함하는 컴퓨팅 디바이스의 블록도.
도 2는 실시예에 따른 하이퍼바이저를 포함하는 컴퓨팅 디바이스의 블록도.
도 3은 사용자 인터페이스의 실시예.
도 4는 실시예에 따른 가상 BIOS를 선택하는 방법의 흐름도.
도 5는 실시예에 따른 가상 BIOS를 선택하는 방법의 흐름도.
도 6은 실시예에 따른 컴퓨팅 디바이스의 블록도.
도 1은 실시예에 따른 하이퍼바이저를 포함하는 컴퓨팅 디바이스의 블록도.
도 2는 실시예에 따른 하이퍼바이저를 포함하는 컴퓨팅 디바이스의 블록도.
도 3은 사용자 인터페이스의 실시예.
도 4는 실시예에 따른 가상 BIOS를 선택하는 방법의 흐름도.
도 5는 실시예에 따른 가상 BIOS를 선택하는 방법의 흐름도.
도 6은 실시예에 따른 컴퓨팅 디바이스의 블록도.
컴퓨팅 디바이스는, 스타트업 시 하드웨어를 테스트하거나, 운영 체제를 개시하거나 하드웨어 간 데이터의 전달을 지원하는 BIOS(basic input output system)를 포함한다. BIOS는 또한 EFI(Extensible Firmware Interface), UEFI(Unified Extensible Firmware Interface) 또는 컴퓨팅 시스템을 위한 다른 펌웨어를 포함할 수 있다. 컴퓨팅 디바이스는 가상 머신을 제어하는 하이퍼바이저 또는 가상 머신 모니터를 포함할 수 있다. 하이퍼바이저는, 소프트웨어 스택 및 가상 BIOS(vBIOS)를 포함하는 가상 머신을 관리할 수 있다. 소프트웨어 스택은, Unix, Linux, 워드 프로세서 또는 스프레드시트 등과 같이 가상 머신에서 실행될 수 있는 운영 체제 또는 애플리케이션이다. 하이퍼바이저는, 컴퓨터 디바이스 상에서 운영 체제 등의 다수의 가상 머신 또는 동(同)가상 머신의 다수의 인스턴스를 관리하는 하드웨어 또는 소프트웨어일 수 있다. 하이퍼바이저는 각 운영 체제에 할당되는 컴퓨팅 디바이스의 프로세서, 메모리 및 기타 리소스를 관리할 수 있다.
컴퓨팅 디바이스 상의 BIOS는 컴퓨팅 디바이스 상의 하드웨어와 통신할 수 있다. 운영 체제 또는 애플리케이션은 BIOS와 통신할 수 있어야 한다. 컴퓨팅 디바이스와 함께 사용될 수 있는 많은 서로 다른 하드웨어 구성 또는 운영 체제 때문에, BIOS는, 컴포넌트를 포함하지 않는 하드웨어 구성을 갖는 시스템 또는 운영 체제에 필요하지 않은 많은 명령 또는 루틴을 포함할 수 있지만, 가상 BIOS(vBIOS)는 운영 체제 또는 하드웨어 구성에 특정될 수 있다.
가상 BIOS는 특정 운영 체제 또는 특정 하드웨어 구성을 위한 것일 경우, 운영 체제 또는 하드웨어 구성에 특정된 가상 BIOS에 특징이 포함될 수 있다. 실제 BIOS가 운영 체제 또는 가상 어플라이언스에 의해 필요로 되는 특정 BIOS 인터페이스를 지원하지 않을 경우에, 가상 BIOS가 필요한 기능을 에뮬레이션할 수 있다. 실제 BIOS는 디바이스 하드웨어의 부팅 시 실행되는 것이고, 가상 BIOS는 가상 머신 또는 가상 어플라이언스의 부팅 시 실행되는 것이다.
일 실시예에서, 컴퓨팅 디바이스는 소프트웨어 스택 및 소프트웨어 스택의 실행을 관리하는 하이퍼바이저를 포함할 수 있다. 컴퓨팅 디바이스는 또한 소프트웨어 스택에 기초하여 제 1 vBIOS 및 제 2 vBIOS 중 하나를 선택하는 컨트롤러를 포함할 수 있다. 제 1 vBIOS와 제 2 vBIOS는 서로 다르다. 제 1 vBIOS와 제 2 vBIOS간의 차이는 소프트웨어 스택 특징 또는 하드웨어 컴포넌트에 대한 지원일 수 있다.
소프트웨어 스택 특징은 예를 들면 인증일 수 있다. 인증 루틴은 TPM(Trusted Platform Module)을 사용하여 시스템의 하드웨어 및 사용자를 인증할뿐만 아니라, 암호화 및 복호화를 행할 수 있다. 인증은 또한, 사용자가 한 번 인증되면 사용자가 다른 서비스에 대해 자동으로 인증되는 단일 사인온(sign on)을 가능하게 할 수 있다.
일 실시예에서, 일 방법은 가상 BIOS를 가상 머신에 제공할 수 있다. 이 방법은 소프트웨어 스택에 대한 정보를 수신하는 프로세서를 포함할 수 있다. 이 방법은 소프트웨어 스택에 대한 정보에 기초하여 복수의 서로 다른 가상 BIOS로부터 가상 BIOS를 선택할 수 있다. 이 방법은 소프트웨어 스택 및 선택된 가상 BIOS를 포함하는 가상 머신을 생성할 수 있다.
도 1은 실시예에 따른 하이퍼바이저를 포함하는 컴퓨팅 디바이스의 블록도이다. 컴퓨팅 디바이스는 하이퍼바이저(110)를 포함할 수 있다. 하이퍼바이저는 소프트웨어 스택(105)의 실행을 관리할 수 있다. 하이퍼바이저(110)는 제 1 vBIOS(virtual basic input output system)(130) 및 제 2 vBIOS(125)를 포함할 수 있다.
소프트웨어 스택(105)은 하이퍼바이저(110)에 대해 실행될 수 있다. 소프트웨어 스택(105)은 예를 들면 운영 체제 또는 애플리케이션일 수 있다. 예를 들면, 운영 체제는 WebOS, Unix, Linux 또는 다른 운영 체제일 수 있다.
컴퓨팅 시스템은 컨트롤러(120) 등의 컴포넌트를 갖는 하드웨어(115)를 포함한다. 컨트롤러(120)는 소프트웨어 스택(105)에 기초하여 제 1 vBIOS(130) 및 제 2 vBIOS(125)로부터 vBIOS를 선택할 수 있다. 제 1 vBIOS(130) 및 제 2 vBIOS(125)는 서로 다르다.
선택할 vBIOS를 판정하는 데 있어, 컨트롤러(120)는, 소프트웨어 스택(105)이 특징을 가지는지의 여부를 판정하고 vBIOS가 이 특징을 지원하는지 여부에 기초하여 vBIOS를 선택할 수 있다. 예를 들면, 소프트웨어 스택(105)이 단일 로그온 등의 사용자 인증을 지원할 경우, 컨트롤러는 사용자 인증을 지원하는 vBIOS를 선택할 수 있다. 컨트롤러(120)는, 소프트웨어 스택(105)이 특징을 지원하지 않는지의 여부를 판정하고 vBIOS가 그 특징을 지원하는지의 여부에 기초하여 vBIOS를 선택할 수 있다. 예를 들면, 소프트웨어가 광디스크 드라이브를 지원하지 않을 경우, 컨트롤러(120)는 광디스크 드라이브를 지원하지 않는 vBIOS를 선택할 수 있다. 다른 예는, ACPI(Advanced Configuration and Power Interface)를 지원하지 않는 소프트웨어 스택일 수 있고 이에 따라 vBIOS는 ACPI를 지원하지 않는다.
일 실시예에서, 소프트웨어 스택은, 소프트웨어 스택(105)이 컴퓨팅 디바이스의 컴퓨터 판독 가능한 매체에 저장되어 있을 경우, 소프트웨어 스택(105)과 함께 사용되는 vBIOS를 동반할 수 있다. 예를 들면, 소프트웨어 스택(105)이 가상 머신으로서 실행될, 컴퓨팅 디바이스에 설치되는 운영 체제일 경우, vBIOS에는 소프트웨어 스택(105)이 제공될 수 있다. 예를 들면, 소프트웨어 스택은 서버, 외부의 컴퓨터 판독 가능한 매체 또는 다른 소스로부터 다운로드함으로써 설치될 수 있다. 소프트웨어 스택을 위한 vBIOS는 소프트웨어 스택과 동일한 컴퓨터 판독 가능한 매체에 저장될 수 있거나, 또는 소프트웨어 스택(105)을 갖는 가상 머신을 생성한다면 소프트웨어 스택이 컨트롤러(120)에 의해 선택되는 컴퓨팅 시스템에 다운로드 및 설치될 경우 소프트웨어 스택과 함께 포함될 수 있다. 특정 vBIOS가 컨트롤러(120)에 의해 선택되지 않을 경우, 컨트롤러(120)는 소프트웨어 스택 또는 하드웨어 컴포넌트에 특정되지 않는 일반 vBIOS를 선택할 수 있다. 일반 vBIOS가 선택될 경우, 가상 머신의 효율은 소프트웨어 스택 또는 하드웨어에 대해 특정되는 vBIOS에 비해 저하되며, 이는 일반 vBIOS가, 해당 소프트웨어 스택 또는 하드웨어 컴포넌트에 의해 사용되지 않는 루틴을 실행해야만 할 수 있기 때문이다.
도 2는 실시예에 따른 하이퍼바이저(110)를 포함하는 컴퓨팅 디바이스의 블록도이다. 컴퓨팅 시스템의 하드웨어(115)는 컨트롤러(120) 및 실제 BIOS(242)를 포함할 수 있다. 실제 BIOS(242)는 컴퓨팅 디바이스의 물리적 하드웨어(115)를 초기화하는 부팅 시에 실행되는 코드일 수 있다. 컴퓨팅 디바이스는 제 2 소프트웨어 스택(255)을 포함할 수 있다. 제 2 소프트웨어 스택(255)은 제 1 소프트웨어 스택(105)과는 다른 제 2 운영 체제일 수 있거나 제 1 소프트웨어 스택(105)의 제 2 인스턴스일 수 있다. 제 2 소프트웨어 스택(255)은 또한 애플리케이션일 수 있다. 컨트롤러(120)는 제 2 소프트웨어 스택에 기초하여 제 1 vBIOS(130) 및 제 2 vBIOS(125)로부터 vBIOS(virtual basic input output system)를 선택할 수 있다.
컨트롤러(120)가 vBIOS를 선택했을 경우, 하이퍼바이저(110)는 제 1 소프트웨어 스택(105)에 기초하여 가상 머신(235)을 관리할 수 있다. 가상 머신은, 컨트롤러(120)가 가상 머신(235)에 대하여 제 1 vBIOS(130)를 선택했을 경우, 제 1 소프트웨어 스택(105) 및 제 1 vBIOS(130)를 포함할 수 있다. 다른 실시예에서, 제 2 가상 머신(285)은, 컨트롤러가 제 2 vBIOS를 선택했을 경우, 제 2 소프트웨어 스택(255) 및 제 2 vBIOS(125)를 포함할 수 있다.
컨트롤러는 가상 머신을 생성할 경우 vBIOS를 선택하는 서로 다른 기준을 볼 수 있다. 컨트롤러는 소프트웨어 스택이 하드웨어 컴포넌트를 지원하지 않는다고 판정할 수 있다. 소프트웨어 스택이 하드웨어 컴포넌트를 지원하지 않을 경우, 컨트롤러는 해당 하드웨어 컴포넌트를 스캐닝하지 않는 vBIOS를 선택할 수 있다. 예를 들면, 소프트웨어 스택이 광디스크 드라이브를 지원하지 않는 운영 체제일 경우, 컨트롤러는, 가상 머신의 개시 시 또는 컴퓨팅 디바이스의 부팅 시 시간을 절약할 수 있는 소프트웨어 스택에 의해 지원되지 않는 컴포넌트에 대한 스캔(245)을 포함하지 않는 제 2 vBIOS(125) 등의 vBIOS를 선택할 수 있다.
컨트롤러(120)는, 소프트웨어 스택이 인증에 관련된 루틴 또는 컴포넌트를 지원한다고 판정할 수 있다. 예를 들면, 소프트웨어 스택이 인증을 지원할 경우, 컨트롤러는 인증(247) 루틴을 포함하는 제 2 vBIOS(125) 등의 vBIOS를 선택할 수 있다. 가상 머신에 의한 사용을 위해 vBIOS에 특징을 추가하는 능력은, 컴퓨팅 디바이스에서 BIOS 지원을 갖지 않을 수 있지만 가상 머신에서 특정 vBIOS에 의해 지원될 수 있는 소프트웨어 스택에 특징이 추가되게 할 수 있다.
vBIOS는 소프트웨어 스택과 동반될 수 있거나, 컴퓨팅 디바이스에 사전 설치될 수 있거나, 네트워크로부터 다운로드될 수 있다. 컴퓨팅 디바이스는 네트워크 연결부(240)를 포함할 수 있다. 네트워크 연결부(240)는 컴퓨팅 디바이스를, 예를 들면 사설 네트워크 상의 서버 등의 다른 컴퓨팅 디바이스 또는 인터넷에 연결할 수 있다. 서버는 컴퓨팅 디바이스로부터의 요청에 응답하는 컴퓨터 또는 프로그램일 수 있다. 컨트롤러(120)는, 컴퓨팅 디바이스에 로컬 저장되지 않은 vBIOS를 선택할 수 있다. 컨트롤러(120)는 네트워크 연결부(240)를 이용하여 네트워크 또는 인터넷 상의 서버로부터 vBIOS를 요청할 수 있고, 예를 들면 컨트롤러(120)가 제 2 vBIOS(125)를 선택했고 제 2 vBIOS(125)가 컴퓨팅 디바이스에 저장되어 있지 않았을 경우, 컨트롤러는 제 2 vBIOS(125)를 네트워크 상의 서버로부터 요청할 수 있다.
도 3은 사용자 인터페이스의 실시예이다. 사용자 인터페이스(300)는, 소프트웨어 스택에 대해 어느 vBIOS가 컨트롤러에 의해 선택되었는지를 사용자에게 표시하는 데 사용될 수 있다. 예를 들면, 시스템이 제 1 소프트웨어 스택 및 제 2 소프트웨어 스택을 포함할 경우, 사용자 인터페이스는 제 1 운영 체제A(305)에 의해 식별되는 제 1 소프트웨어 스택을 나타내는 박스 및 제 2 운영 체제B(310)에 의해 식별되는 제 2 소프트웨어 스택을 나타내는 박스를 표시할 수 있다. 예를 들면, 컨트롤러가 운영 체제A(305)에 대해 제 1 vBIOS를 선택했을 경우, 이는 예를 들면 무선 버튼 또는 일부 다른 표시기에 의해 지시될 수 있다. 사용자 인터페이스는 사용자가 가상 머신에 의해 사용되는 vBIOS를 선택하게 할 수도 있다. 일 실시예에서, 사용자 인터페이스는, 사용자가 소프트웨어 스택과 호환되지 않는 vBIOS를 선택하는 것을 허용하지 않게 할 수 있으며, 예를 들면 vBIOS가 소프트웨어 스택의 특징의 일부를 지원하지 않을 경우, 사용자 인터페이스는 사용자가 그 소프트웨어 스택을 갖는 가상 머신에 대해 vBIOS를 선택을 허용하지 않게 할 수 있다.
가상 머신이 소프트웨어 스택 및 vBIOS을 갖고 생성될 경우, 하이퍼바이저는 소프트웨어 스택 및 vBIOS의 실행을 관리할 수 있다. 가상 머신 코드를 개시할 경우, vBIOS가 실행되어 제어가 소프트웨어 스택에 전달된다. 예를 들면 소프트웨어 스택이 운영 체제일 경우, vBIOS는 제어를 운영 체제에 전달하고 하이퍼바이저는 컴퓨팅 디바이스 상에서 운영 체제의 실행을 관리할 수 있다.
도 4는 실시예에 따른 가상 BIOS를 선택하는 방법의 흐름도이다. 이 방법은 도 1의 컴퓨팅 디바이스 등의 디바이스에 의해 행해질 수 있다. 405에서, 컨트롤러는 소프트웨어 스택에 대한 정보를 수신할 수 있다. 컨트롤러는 도 1의 컨트롤러(120)일 수 있다. 410에서, 컨트롤러에 의해 수신된 정보를 이용하여, 복수의 서로 다른 가상 BIOS로부터 가상 BIOS를 선택할 수 있다. 그 정보는 소프트웨어 스택에 의해 지원되는 특징의 리스트 또는 소프트웨어 스택의 특징을 지원하는 데 필요한 컴포넌트의 리스트일 수 있다. 예를 들면 소프트웨어 스택의 기능을 지원하는 데 필요한 컴포넌트의 리스트가 제공될 경우, 컨트롤러는 컴퓨팅 디바이스의 물리적 하드웨어에 기초하여 가상 BIOS를 선택할 수 있다. 415에서, 선택된 vBIOS는 소프트웨어 스택 및 vBIOS를 포함하는 가상 머신을 생성하는 데 사용될 수 있다.
도 5는 실시예에 따른 가상 BIOS(vBIOS)를 선택하는 방법의 흐름도이다. 컨트롤러는 405에서 소프트웨어 스택에 대한 정보를 수신하고 그 정보에 기초하여 복수의 서로 다른 vBIOS로부터 vBIOS를 선택할 수 있다. 이 방법은 520에서, 제 1 vBIOS 또는 제 2 vBIOS가 선택되었는지의 여부를 판정할 수 있다. 이 방법은 계속해서 525에서 선택된 vBIOS가 컴퓨팅 디바이스에 있는지의 여부를 확인할 수 있다. 선택된 vBIOS가 컴퓨팅 디바이스에 있지 않을 경우, 이 방법은 530에서, 선택된 vBIOS를 다운로드할 수 있다. 컴퓨팅 시스템은 예를 들면 네트워크 상의 서버로부터 vBIOS를 다운로드할 수 있다. 선택된 vBIOS에 의존하여, vBIOS에 의해 제공되는 특징은 서로 다를 수 있다. 예를 들면, 제 1 vBIOS가 선택될 경우, 535에서 특징 A가 행해질 수 있고, 제 2 vBIOS가 선택될 경우, 545에서 특징 B가 행해질 수 있다. 특징은, 복수의 서로 다른 가상 BIOS로부터 제 1 vBIOS가 선택될 경우 사용자를 인증할 수 있고 복수의 서로 다른 가상 BIOS로부터 제 2 vBIOS가 선택될 경우 사용자를 인증하지 않을 수 있다.
도 6은 실시예에 따른 컴퓨팅 디바이스의 블록도이다. 컴퓨팅 디바이스(600)는 프로세서(605)를 포함할 수 있다. 프로세서(605)는 컨트롤러일 수 있다. 프로세서(605)는 컨트롤러 허브(610)에 연결될 수 있다. 컨트롤러 허브(610)는, 키보드, 마우스, 센서 또는 다른 입력 디바이스 등의 입력 디바이스에 연결될 수 있다. 컨트롤러 허브(610)는 디스플레이(630)에 연결되는 그래픽 컨트롤러(620) 등의 출력 디바이스에 연결될 수도 있다. 컨트롤러 허브는 또한 컴퓨터 판독 가능한 매체(615 또는 616)에 연결될 수 있다. 컴퓨터 판독 가능한 매체는, 실행될 경우에 프로세서(605)가 소프트웨어 스택에 대한 정보를 수신하게 하고 수신된 정보에 기초하여 복수의 서로 다른 가상 BIOS로부터 가상 BIOS를 선택하도록 할 수 있는 코드를 포함할 수 있다. 이어서, 코드는 프로세서가, 소프트웨어 스택 및 선택된 가상 BIOS를 포함하는 가상 머신을 생성하게 할 수 있다. 컴퓨터 판독 가능한 매체(615 또는 616)는 또한, 프로세서에 의해 실행될 경우 프로세서(605)가 서버로부터 선택된 가상 BIOS를 요청하게 할 수 있는 코드를 포함할 수 있다. 컴퓨터 판독 가능한 매체(615 또는 616) 상의 코드는, 실행될 경우 복수의 서로 다른 가상 BIOS로부터 제 1 가상 BIOS가 선택될 경우 프로세서가 사용자를 인증하게 할 수 있고 복수의 서로 다른 가상 BIOS로부터 제 2 vBIOS가 선택될 경우 사용자를 인증하지 않게 할 수 있는 코드를 포함할 수도 있다.
상술한 기술은 상기 방법을 실행하는 컴퓨팅 디바이스를 구성하는 컴퓨터 판독 가능한 매체에서 구현될 수 있다. 컴퓨터 판독 가능한 매체는, 제한이 아닌 예시로서, 몇몇 예를 들면 디스크 및 테이프 저장 매체를 포함하는 자기 저장 매체; 디지털 비디오 디스크 저장 매체 및 콤팩트 디스크 매체(예를 들면, CD-ROM, CD-R 등) 등의 광학 저장 매체; 홀로그래픽 메모리; FLASH 메모리, EEPROM, EPROM, ROM 등의 반도체 기반 메모리 유닛을 포함하는 비휘발성 메모리 저장 매체; 강자성 디지털 메모리; 레지스터, 버퍼 또는 캐시, 메인 메모리, RAM 등을 포함하는 휘발성 저장 매체 등을 포함할 수 있다. 본원에서 논의된 소프트웨어 모듈을 저장하는 데 다양한 유형의 컴퓨터 판독 가능한 매체가 사용될 수 있다. 컴퓨팅 디바이스는 제한이 아닌 예시로서, 몇몇 예를 들면 메인프레임, 미니컴퓨터, 서버, 워크 스테이션, 개인용 컴퓨터, 노트패드, PDA, 다양한 무선 디바이스 및 임베디드 시스템을 포함하여 많은 형태로 발견될 수 있다.
전술한 설명에서, 본 발명의 이해를 돕기 위해 다수의 세부가 제시되어 있다. 그러나, 본 발명은 이러한 세부 없이 실시될 수 있음을 당업자는 이해할 것이다. 본 발명은 한정된 수의 실시예에 관해서 개시되었지만, 당업자는 많은 변경 및 변형을 인식할 것이다. 또한 첨부된 특허청구범위는 본 발명의 진정한 사상 및 범위에 포함되는 변경 및 변형을 포함하는 것을 의도한다.
Claims (15)
- 소프트웨어 스택과,
상기 소프트웨어 스택의 실행을 관리하는 하이퍼바이저(hypervisor)와,
프로세서를 포함하는 컨트롤러
를 포함하고, 상기 컨트롤러는,
상기 소프트웨어 스택에 대한 정보에 기초하여, 상기 소프트웨어 스택이 제 1 vBIOS(virtual basic input output system)에 의해 지원되는 구성을 지원하고, 제 2 vBIOS를 지원하지 않는다고 결정 - 상기 제 1 vBIOS와 상기 제 2 vBIOS는 서로 다름 - 하고,
상기 결정에 기초하여, 상기 제 1 vBIOS 및 상기 제 2 vBIOS를 포함하는 복수의 vBIOS 중에서 상기 제 1 vBIOS를 선택하고,
상기 소프트웨어 스택 및 상기 제 1 vBIOS를 포함하는 제 1 가상 머신을 생성하는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 소프트웨어 스택에 대한 상기 정보는 상기 소프트웨어 스택에 의해 지원되는 구성 또는 컴포넌트 중 적어도 하나를 포함하는
컴퓨팅 디바이스.
- 삭제
- 제 1 항에 있어서,
제 2 소프트웨어 스택을 더 포함하고,
상기 컨트롤러는 상기 제 2 소프트웨어 스택에 대한 정보에 기초하여 상기 복수의 vBIOS 중에서 상기 제 2 vBIOS를 선택하고,
상기 제 2 소프트웨어 스택 및 상기 제 2 vBIOS를 포함하는 제 2 가상 머신을 생성하는
컴퓨팅 디바이스.
- 삭제
- 제 1 항에 있어서,
서버로부터 상기 제 2 vBIOS를 요청하는 네트워크 연결부를 더 포함하는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 제 2 vBIOS는 상기 제 1 vBIOS에서 지원되지 않는 소프트웨어 스택 구성에 대한 지원을 포함하는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 제 2 vBIOS는 상기 제 1 vBIOS에서 지원되지 않는 하드웨어 컴포넌트에 대한 지원을 포함하는
컴퓨팅 디바이스.
- 가상 BIOS(vBIOS)를 가상 머신에 제공하는 방법으로서,
프로세서를 포함하는 컨트롤러에 의해, 소프트웨어 스택에 대한 정보를 수신하는 단계와,
상기 컨트롤러에 의해 상기 소프트웨어 스택에 대한 정보에 기초하여, 상기 소프트웨어 스택이 제 1 vBIOS에 의해 지원되는 구성은 지원하지만 제 2 vBIOS는 지원하지 않는다고 결정하는 단계 - 상기 제 1 vBIOS와 상기 제 2 vBIOS는 서로 다름 - 와,
상기 컨트롤러에 의해 상기 결정에 기초하여, 복수의 서로 다른 vBIOS들 중에서 상기 제 1 vBIOS를 선택하는 단계와,
상기 컨트롤러에 의해, 상기 소프트웨어 스택 및 상기 선택된 제 1 vBIOS를 포함하는 상기 가상 머신을 생성하는 단계를 포함하는
가상 BIOS를 가상 머신에 제공하는 방법.
- 삭제
- 제 9 항에 있어서,
상기 방법은, 상기 소프트웨어 스택이 특정 구성을 지원하지 않고 상기 제 2 vBIOS가 상기 특정 구성을 지원하는 루틴을 가지지 않는다는 상기 컨트롤러의 결정에 기초하여, 상기 복수의 서로 다른 vBIOS 중에서 상기 제 2 vBIOS를 선택하는 단계를 더 포함하는
가상 BIOS를 가상 머신에 제공하는 방법.
- 제 9 항에 있어서,
서버로부터 상기 선택된 제 1 vBIOS를 요청하는 단계를 더 포함하는
가상 BIOS를 가상 머신에 제공하는 방법.
- 코드를 포함하는 컴퓨터 판독가능 저장 매체로서,
상기 코드는 실행될 경우 컨트롤러로 하여금,
소프트웨어 스택에 대한 정보를 수신하고,
상기 소프트웨어 스택에 대한 상기 정보에 기초하여, 상기 소프트웨어 스택이 제 1 vBIOS에 의해 지원되는 구성은 지원하지만 제 2 vBIOS는 지원하지 않는다고 결정 - 상기 제 1 vBIOS와 상기 제 2 vBIOS는 서로 다름 - 하고,
상기 결정에 기초하여, 복수의 서로 다른 vBIOS들 중에서 상기 제 1 vBIOS를 선택하고,
상기 소프트웨어 스택 및 상기 선택된 제 1 vBIOS를 포함하는 가상 머신을 생성하게 하는
컴퓨터 판독가능 저장 매체. - 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/033476 WO2012145006A1 (en) | 2011-04-21 | 2011-04-21 | Virtual bios |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140018933A KR20140018933A (ko) | 2014-02-13 |
KR101757961B1 true KR101757961B1 (ko) | 2017-07-14 |
Family
ID=47041858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137027492A KR101757961B1 (ko) | 2011-04-21 | 2011-04-21 | 가상 bios |
Country Status (7)
Country | Link |
---|---|
US (3) | US9286096B2 (ko) |
KR (1) | KR101757961B1 (ko) |
CN (1) | CN103493012B (ko) |
BR (1) | BR112013027073B1 (ko) |
DE (1) | DE112011105098T5 (ko) |
GB (1) | GB2504023B (ko) |
WO (1) | WO2012145006A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230064825A (ko) * | 2021-11-04 | 2023-05-11 | 주식회사 테라텍 | 가상화 기술에 기반한 데이터 센터 장치 통합 관리 시스템 및 방법 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101805627B1 (ko) * | 2011-11-28 | 2017-12-08 | 삼성전자주식회사 | 컴퓨터 시스템의 부팅 제어 방법 및 이를 수행하는 부팅 제어 장치 |
EP3161652B1 (en) * | 2014-06-30 | 2020-06-03 | Hewlett-Packard Development Company, L.P. | Full virtual machine functionality |
CN106687976A (zh) * | 2014-07-11 | 2017-05-17 | Pcms控股公司 | 基于虚拟化的安全设备恢复的系统和方法 |
US20160019555A1 (en) * | 2014-07-15 | 2016-01-21 | Boles Thomas | Automated system for rating employee screening practices and corporate management |
US10282538B2 (en) * | 2014-12-27 | 2019-05-07 | Intel Corporation | Technologies for providing hardware subscription models using pre-boot update mechanism |
US9785474B2 (en) | 2015-07-23 | 2017-10-10 | International Business Machines Corporation | Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data |
US10169086B2 (en) | 2015-09-13 | 2019-01-01 | International Business Machines Corporation | Configuration management for a shared pool of configurable computing resources |
GB2546801B (en) * | 2016-01-29 | 2018-12-05 | British Telecomm | Instantiating a virtual machine using an encrypted disk |
CN106293877B (zh) * | 2016-08-05 | 2020-03-03 | 苏州浪潮智能科技有限公司 | 一种虚拟机创建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059556A1 (en) * | 2006-08-31 | 2008-03-06 | Egenera, Inc. | Providing virtual machine technology as an embedded layer within a processing platform |
US20100115315A1 (en) * | 2008-11-04 | 2010-05-06 | Lenovo (Singapore) Pte. Ltd. | Establishing power save mode in hypervisor system |
US20100169629A1 (en) * | 2008-12-31 | 2010-07-01 | Lenovo (Beijing) Limited | Method for configuring computer by bios, server, computer, system startup method and computer system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0799501B2 (ja) * | 1991-11-18 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 複数アプリケーションの同時実行装置 |
US7032108B2 (en) * | 2003-05-02 | 2006-04-18 | Egenera, Inc. | System and method for virtualizing basic input/output system (BIOS) including BIOS run time services |
US20070204153A1 (en) * | 2006-01-04 | 2007-08-30 | Tome Agustin J | Trusted host platform |
US7676666B2 (en) * | 2006-02-02 | 2010-03-09 | Dell Products L.P. | Virtual BIOS firmware hub |
US8166288B2 (en) * | 2009-01-30 | 2012-04-24 | Hewlett-Packard Development Company, L.P. | Managing requests of operating systems executing in virtual machines |
-
2011
- 2011-04-21 GB GB1318024.5A patent/GB2504023B/en not_active Expired - Fee Related
- 2011-04-21 DE DE112011105098.4T patent/DE112011105098T5/de not_active Withdrawn
- 2011-04-21 US US14/112,562 patent/US9286096B2/en not_active Expired - Fee Related
- 2011-04-21 WO PCT/US2011/033476 patent/WO2012145006A1/en active Application Filing
- 2011-04-21 KR KR1020137027492A patent/KR101757961B1/ko active IP Right Grant
- 2011-04-21 CN CN201180070311.XA patent/CN103493012B/zh not_active Expired - Fee Related
- 2011-04-21 BR BR112013027073-0A patent/BR112013027073B1/pt not_active IP Right Cessation
-
2016
- 2016-02-03 US US15/014,497 patent/US9697035B2/en active Active
-
2017
- 2017-05-15 US US15/595,245 patent/US10162645B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059556A1 (en) * | 2006-08-31 | 2008-03-06 | Egenera, Inc. | Providing virtual machine technology as an embedded layer within a processing platform |
US20100115315A1 (en) * | 2008-11-04 | 2010-05-06 | Lenovo (Singapore) Pte. Ltd. | Establishing power save mode in hypervisor system |
US20100169629A1 (en) * | 2008-12-31 | 2010-07-01 | Lenovo (Beijing) Limited | Method for configuring computer by bios, server, computer, system startup method and computer system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230064825A (ko) * | 2021-11-04 | 2023-05-11 | 주식회사 테라텍 | 가상화 기술에 기반한 데이터 센터 장치 통합 관리 시스템 및 방법 |
KR102647728B1 (ko) * | 2021-11-04 | 2024-03-15 | 주식회사 테라텍 | 가상화 기술에 기반한 데이터 센터 장치 통합 관리 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US10162645B2 (en) | 2018-12-25 |
US20160154668A1 (en) | 2016-06-02 |
US9286096B2 (en) | 2016-03-15 |
US20140047443A1 (en) | 2014-02-13 |
GB2504023B (en) | 2020-09-16 |
DE112011105098T5 (de) | 2014-07-17 |
GB201318024D0 (en) | 2013-11-27 |
GB2504023A (en) | 2014-01-15 |
US9697035B2 (en) | 2017-07-04 |
CN103493012B (zh) | 2018-04-27 |
CN103493012A (zh) | 2014-01-01 |
US20170249159A1 (en) | 2017-08-31 |
KR20140018933A (ko) | 2014-02-13 |
WO2012145006A1 (en) | 2012-10-26 |
BR112013027073A2 (pt) | 2016-12-27 |
BR112013027073B1 (pt) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101757961B1 (ko) | 가상 bios | |
US10621366B2 (en) | Chained security systems | |
US10754952B2 (en) | Host software metadata verification during remote attestation | |
US10242196B2 (en) | Secure booting of computer system | |
US7543150B2 (en) | Method and system for setting up hosting environments in safety | |
US9176752B1 (en) | Hardware-based mechanisms for updating computer systems | |
KR101696131B1 (ko) | 가상화 환경에서의 특권 암호화 서비스 | |
US8726269B2 (en) | Method to enable application sharing on embedded hypervisors by installing only application context | |
JP6095796B2 (ja) | 「ブリング・ユア・オウン」管理のための起動機構 | |
US8621081B2 (en) | Hypervisor controlled user device that enables available user device resources to be used for cloud computing | |
JP2022522678A (ja) | セキュア実行ゲスト所有者環境制御 | |
US9495181B2 (en) | Creating a virtual appliance | |
US9275248B1 (en) | Updating processor microcode | |
US10853494B2 (en) | Binding a trusted virtual machine to a trusted host computer | |
US9424113B2 (en) | Virtual appliance deployment | |
US20220053001A1 (en) | Methods and apparatus for automatic configuration of a containerized computing namespace | |
US9519503B2 (en) | Systems and methods for virtual machine attribution with fault resilient memory tag | |
EP3701411A1 (en) | Software packages policies management in a securela booted enclave | |
US9501316B2 (en) | Instantiating virtual appliances of a storage array | |
US9202058B1 (en) | Root volume encryption mechanism in para-virtualized virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |