KR100746025B1 - 운영체제 스위칭 장치 및 방법 - Google Patents

운영체제 스위칭 장치 및 방법 Download PDF

Info

Publication number
KR100746025B1
KR100746025B1 KR1020060003609A KR20060003609A KR100746025B1 KR 100746025 B1 KR100746025 B1 KR 100746025B1 KR 1020060003609 A KR1020060003609 A KR 1020060003609A KR 20060003609 A KR20060003609 A KR 20060003609A KR 100746025 B1 KR100746025 B1 KR 100746025B1
Authority
KR
South Korea
Prior art keywords
operating system
virtual machine
operating
operating systems
switching device
Prior art date
Application number
KR1020060003609A
Other languages
English (en)
Other versions
KR20070075162A (ko
Inventor
오윤환
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060003609A priority Critical patent/KR100746025B1/ko
Priority to US11/646,446 priority patent/US20070162901A1/en
Priority to CNA2007100021879A priority patent/CN101000566A/zh
Publication of KR20070075162A publication Critical patent/KR20070075162A/ko
Application granted granted Critical
Publication of KR100746025B1 publication Critical patent/KR100746025B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning 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)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

운영체제 스위칭 장치 및 방법이 제공된다. 본 발명의 실시예에 따른 운영체제 스위칭 장치는 복수의 운영체제 중에서 적어도 하나 이상의 운영체제에 대한 선택 신호를 제공하는 입력부 및 상기 선택된 운영체제에 각각 대응하며, 대응하는 운영체제를 부팅시키는 적어도 하나 이상의 가상 머신을 생성하는 가상 머신 생성부를 포함하며, 상기 가상머신 생성부는, 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)로 구성되는 것을 특징으로 한다.
운영체제(Operating System; OS), 가상 머신(virtual machine; VM), 호스트 운영체제(host OS), 게스트 운영체제(guest OS), 스위칭(switching)

Description

운영체제 스위칭 장치 및 방법{Apparatus and method for switching between operating systems}
도 1은 본 발명의 실시예에 따른 운영체제 스위칭 장치의 구성을 도시한 블록도이다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 운영체제 선택 유저 인터페이스를 예시한 예시도이다.
도 3a 내지 도 3c는 본 발명의 다른 실시예에 따른 운영체제 선택 유저 인터페이스를 예시한 예시도이다.
도 4는 본 발명의 실시예에 따른 운영체제 스위칭 장치의 동작 과정을 도시한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 운영체제 스위칭 장치
110: 입력부
120: 저장부
130: 제어부
140: 가상 머신 생성부
150: 디스플레이부
200, 220, 300, 320: 운영체제 선택 유저 인터페이스
본 발명은 컴퓨터 장치 및 방법에 관한 것으로, 보다 상세하게는 운영체제에 독립적인 가상 머신을 제공할 수 있는 운영체제 스위칭 장치 및 방법에 관한 것이다.
운영체제(Operating System, OS)는 개인용 컴퓨터(personal computer; PC)와 같은 컴퓨터 장치에서, 사용자가 하드웨어를 보다 용이하게 사용할 수 있도록 인터페이스를 제공해 주는 프로그램들의 집합으로서, 프로세서, 기억 장치, 입출력 장치, 통신 장치, 데이터 등의 자원을 관리한다.
개인용 컴퓨터 장치에 탑재되는 운영체제는, 운영체제의 시초라 할 수 있는 IBM 시스템/360 이 개발된 이래, MS사의 도스(DOS), window 3.1, window 95, window 98 등을 거쳐 window XP 로 발전해오고 있다. 이에 비해 고성능의 마이크로프로세서가 탑재된 워크스테이션이나 서버용 컴퓨터 장치에는 window NT, window 2000, UNIX, UNIX가 변형된 운영체제인 Solaris나 LINUX 등이 널리 사용되고 있다.
한편, 사용자들은 목적이나 필요에 따라 하나의 기록 매체에 복수의 운영체제를 설치하여 사용하기도 한다. 예를 들면, 하나의 기록 매체에서 논리적으로 분할된 두 영역에 각각 window XP 및 LINUX를 설치하고, 각각의 운영체제 상에 해당 운영체제에서 지원하는 응용 프로그램들을 설치한 후, 컴퓨터 장치가 원하는 운영 체제로 부팅되도록하여, 해당 운영체제에서의 작업을 수행한다.
이와 같이, 복수의 운영체제를 설치하고, 사용자에 의해 선택된 운영체제로 부팅되도록 하는 것을 멀티부팅이라고 한다. 그런데 멀티부팅에 있어, 소정 운영체제에서 다른 운영체제로 전환하기 위해서는 컴퓨터 장치를 재부팅해야한다는 번거로움이 있다.
이러한 문제를 해결하기 위해 종래에는 하나의 운영체제 내에서 다른 종류의 운영체제를 사용할 수 있도록 하는 가상화 기술(Vertualization Technology)이 제시되었다. 좀 더 구체적으로, 가상화 기술은, 호스트 운영체제(host OS) 상에 가상화 계층(Vertualization Layer)을 형성하고, 이 가상화 계층 상에 복수의 논리적인 가상 머신(virtual machine)이 생성되도록 한다. 복수의 가상 머신에는 각각 게스트 운영체제(guest OS)가 설치될 수 있으며, 각각의 운영체제 상에는 해당 운영체제에서 지원되는 응용 프로그램이 설치될 수 있다. 이와 같이, 가상화 계층이 형성된 컴퓨터 장치에서는 가상화 계층을 통해 호스트 운영체제 및 복수의 게스트 운영체제 간의 스위칭(switching)이 이루어지게 된다.
그런데 종래 가상화 기술은 호스트 운영체제에 비독립적이라는 문제가 있다. 즉, 호스트 운영체제 상에 가상화 계층을 형성할 때에는 호스트 운영체제의 종류에 따라 적합한 가상화 계층을 형성해야한다는 문제가 있다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 운영체제에 독립적인 가상 머신을 제공할 수 있는 운영체제 스위칭 장치 및 방법을 제공하는데 목 적이 있다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 운영체제 스위칭 장치는 복수의 운영체제 중에서 적어도 하나 이상의 운영체제에 대한 선택 신호를 제공하는 입력부 및 상기 선택된 운영체제에 각각 대응하며, 대응하는 운영체제를 부팅시키는 적어도 하나 이상의 가상 머신을 생성하는 가상 머신 생성부를 포함하며, 상기 가상 머신 생성부는, 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)로 구성되는 것을 특징으로 한다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 운영체제 스위칭 방법은, 복수의 운영체제 중에서 적어도 하나 이상의 운영체제를 선택받는 단계 및 상기 선택받은 운영체제에 각각 대응하는 적어도 하나 이상의 가상 머신을 생성하고, 상기 선택받은 운영체제를 부팅하는 단계를 포함하며, 상기 가상 머신은 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)로 구성되는 가상 머신 생성부에 의해 이루어지는 것을 특징으로 한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있으며, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명의 실시예에 따른 운영체제 스위칭 장치 및 방법에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세 싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
먼저, 도 1 내지 도 3c를 참조하여 본 발명의 실시예에 따른 운영체제 스위칭 장치에 대해서 설명하기로 한다. 여기서, 도 1은 본 발명의 실시예에 따른 운영체제 스위칭 장치의 구성을 도시한 블록도이다. 그리고 도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 운영체제 선택 유저 인터페이스를 예시한 예시도이고, 도 3a 내지 도 3c는 본 발명의 다른 실시예에 따른 운영체제 선택 유저 인터페이스를 예시한 예시도이다.
본 발명의 실시예에 따른 운영체제 스위칭 장치(100)는 디지털 장치로 구성될 수 있다. 여기서 디지털 장치란, 디지털 데이터를 처리하는 디지털 회로를 가진 장치로서, 컴퓨터, 프린터, 디지털 카메라, 팩스, 디지털 복사기, 디지털 가전기기, 디지털 전화, 디지털 프로젝트, 홈서버, 디지털 비디오 레코더, 셋탑박스, 개 인용 디지털 단말기(PDA) 및 휴대전화 등을 예로 들 수 있다.
좀 더 구체적으로, 도 1에 도시된 운영체제 스위칭 장치(100)는 입력부(110), 저장부(120), 가상 머신 생성부(140), 제어부(130) 및 디스플레이부(150)를 포함한다.
입력부(110)는 운영체제 선택 신호, 운영체제 스위칭 신호 및 운영체제 활성화 신호 등을 제공한다. 입력부(110)는 예를 들어, 키보드, 키패드와 같이, 후술될 디스플레이부(150)와 하드웨어적으로 독립된 형태로 구성되거나, 터치 스크린과 같이, 디스플레이부(150)와 복합된 형태로 구성될 수 있다.
예를 들어, 입력부(110)가 키보드로 구현되는 경우, 입력부(110)는 도면에 도시되지는 않았지만, 복수의 기능키 예를 들면, 운영체제 스위칭 장치(100)에 전원을 인가하기 위한 전원키, 복수의 운영체제 중에서 소정 운영체제를 선택하기 위한 선택키, 운영체제를 스위칭하기 위한 스위칭키, 복수의 운영체제 중에서 특정 운영체제를 활성화시키기 위한 활성화키 및 사용자의 명령을 실행시키기 위한 실행키 등을 구비할 수 있다.
만약, 입력부(110)가 후술될 디스플레이부(150)와 복합적으로 구현되는 경우, 사용자의 명령을 실행시키는 실행키, 운영체제를 스위칭하기 위한 스위칭키, 운영체제를 활성화시키기 위한 활성화키 등은 소프트웨어적으로 구현될 수 있다.
저장부(120)는 본 발명의 실시예에 따른 운영체제 스위칭 장치(100)가 동작하는데 필요한 명령, 프로그램 및 복수의 운영체제를 저장한다. 이러한 저장부(120)는 캐쉬, ROM(Read Only Memory), PROM(Programable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(Hard Disk Drive; HDD), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다. 저장부(120)가 하드디스크 드라이브와 같은 저장매체로 구현되는 경우, 저장부(120)는 복수의 운영체제에 대응하는 논리 영역으로 분할될 수 있으며, 복수의 운영체제는 분할된 논리 영역에 각각 저장될 수 있다. 또는 논리적으로 분할된 복수의 영역 중에서 어느 하나의 영역에 복수의 운영체제가 모두 저장될 수도 있다.
가상 머신 생성부(140)는, 저장부(120)에 저장되어 있는 운영체제들에 대한 정보 예를 들면, 제품명을 포함하는 운영체제 선택 유저 인터페이스를 제공한다. 예를 들어, 저장부(120)에 제1, 제2 및 제3 운영체제가 저장되어 있는 경우, 가상 머신 생성부(140)는 도 2a에 도시된 바와 같은 운영체제 선택 유저 인터페이스(200)를 제공한다. 사용자는 이러한 운영체제 선택 유저 인터페이스(200)를 통해 복수의 운영체제 중에서 특정 운영체제를 선택할 수 있다. 도 2b는 저장부(120)에 저장되어 있는 복수의 운영체제 중에서 제2 운영체제가 선택된 경우를 보여주고 있다.
다른 예로써, 사용자는 운영체제 선택 유저 인터페이스를 통해 둘 이상의 운영체제를 선택할 수도 있다. 이 경우, 운영체제 선택 유저 인터페이스(300)는 도 3a와 같이, 복수의 운영체제를 선택하기 위한 그래픽 객체 예를 들면, 체크 박스(check box) 및 활성화될 운영체제를 선택할 수 있는 그래픽 객체 예를 들면 옵션 박스를 포함하여 구성될 수 있다. 여기서 활성화될 운영체제를 선택한다는 것은, 디스플레이부(150)를 통해 표시되는 운영체제를 선택한다는 것을 의미한다. 도 3a는 저장부(120)에 저장되어 있는 복수의 운영체제 중에서 제1 운영체제 및 제2 운영체제가 선택되어 있으며, 활성화될 운영체제로서, 제1 운영체제가 선택되어 있는 경우를 보여주고 있다.
또한, 가상 머신 생성부(140)는, 운영체제 선택 유저 인터페이스를 통해 사용자에 의해 선택된 운영체제에 대한 가상 머신(virtual machine)을 생성하는 역할을 한다. 예를 들어, 도 2b와 같이, 제2 운영체제가 선택된 경우, 가상 머신 생성부(140)는, 제2 운영체제에 대한 가상 머신을 생성한다. 제2 운영체제에 대한 가상 머신이 생성되면, 제2 운영체제가 메모리부(미도시)에 로드되어, 제2 운영체제가 부팅된다. 이 후, 제2 운영체제는 가상 머신을 통해 운영체제 스위칭 장치(100) 내의 자원 예를 들면, 레지스터들, 메모리 및 I/O 디바이스 등을 액세스할 수 있다.
다른 예로써, 복수의 운영체제가 선택된 경우, 가상 머신 생성부(140)는, 사용자에 의해 선택된 복수의 운영체제에 각각 대응하는 복수의 가상 머신을 생성한다. 즉, 도 3a와 같이, 제1 운영체제 및 제2 운영체제가 선택된 경우, 가상 머신 생성부(140)는 제1 운영체제에 대한 제1 가상 머신 및 제2 운영체제에 대한 제2 가상 머신을 생성한다. 이 때, 복수의 가상 머신들은 서로 독립적으로 동작한다. 즉, 제1 운영체제는 제1 가상 머신을 통해 운영체제 스위칭 장치(100) 내의 자원들 예를 들면, 레지스터들, 메모리 및 I/O 디바이스 등을 액세스하고, 제2 운영체제는 제2 가상 머신을 통해 운영체제 스위칭 장치(100) 내의 자원들 예를 들면, 레지스터들, 메모리 및 I/O 디바이스 등을 액세스한다.
전술한 바와 같은 가상 머신 생성부(140)는 예를 들어, 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)의 형태로 구현되는 것이 바람직하다. 가상 머신 생성부(140)가 확장형 펌웨어 인터페이스로 구현되는 경우, 전술한 바와 같은 운영체제 선택 유저 인터페이스는 운영체제 스위칭 장치(100)가 특정 운영체로 부팅되기 이전 주변 장치를 체크하는 단계, 즉, 사전 처리(Power-On Self Test; POST) 단계에서 제공될 수 있다.
제어부(130)는 운영체제 스위칭 장치(100) 내의 구성 요소들을 연결한다. 또한, 제어부(130)는 입력부(110)를 통해 제공되는 신호의 종류를 판별한 결과에 따라 운영체제 스위칭 장치(100) 내의 구성 요소들을 제어하는 역할을 한다. 예를 들어, 운영체제 선택 유저 인터페이스(200, 300)에서 사용자에 의해 특정 운영체제에 대한 선택 신호가 제공되는 경우, 제어부(130)는 가상 머신 생성부(140)를 제어하여 선택된 운영체제에 대한 가상 머신이 생성될 수 있도록 한다. 좀 더 구체적으로, 도 2b와 같이 제2 운영체제에 대한 선택 신호가 제공되는 경우, 제어부(130)는 가상 머신 생성부(140)를 제어하여 제2 운영체제에 대한 가상 머신이 생성될 수 있도록 한다.
만약 도 3a와 같이, 복수의 운영체제에 대한 선택 정보를 포함하는 선택 신호가 제공되는 경우, 제어부(130)는 가상 머신 생성부(140)를 제어하여, 제1 운영체제 및 제2 운영체제에 각각 대응하는 복수의 가상 머신이 생성될 수 있도록 한다. 그리고 제어부(130)는, 운영체제 선택 유저 인터페이스(300)를 통해 제공된 활성화 정보에 따라 해당 운영체제 즉, 제1 운영체제에 대한 대화창이 디스플레이부(150)를 통해 디스플레이될 수 있도록 한다.
디스플레이부(150)는 명령 처리 결과를 가시적인 형태로 디스플레이한다. 예를 들면, 디스플레이부(150)는 도 2a 또는 도 3a와 같이, 가상 머신 생성부(140)에 의해 제공되는 운영체제 선택 유저 인터페이스(200, 300)를 디스플레이한다. 또한, 디스플레이부(150)는 사용자의 선택에 따라 활성화된 운영체제의 대화창을 디스플레이한다. 이러한 디스플레이부(150)는 액정 화면(LCD, Liquid Crystal Display), 발광 다이오드(LED, Light-Emitting Diode), 유기 발광 다이오드(OLED, Organic Light-Emitting Diode) 또는 플라즈마 디스플레이(PDP, Plasma Display Panel) 등의 영상 표시 수단으로 구현될 수 있으나 이에 한정되지는 않는다.
다음으로, 도 2a 내지 도 4를 참조하여, 본 발명의 실시예에 따른 운영체제 스위칭 방법에 대해서 설명하기로 한다. 여기서, 도 4는 본 발명의 실시예에 따른 운영체제 스위칭 장치(100)의 동작 과정을 도시한 흐름도이다.
먼저, 본 발명의 실시예에 따른 운영체제 스위칭 장치(100)의 동작 과정에 대해 설명하기에 앞서, 설명의 편의상 본 발명의 실시예에 따른 운영체제 스위칭 장치(100)에는 제1, 제2 및 제3 운영체제가 저장되어 있는 경우를 예로 들어 설명하기로 한다.
운영체제 스위칭 장치(100)에 전원이 인가되면, 사전처리 즉, 주변 장치를 체크하고 초기화하는 과정을 거치게 된다. 이 단계에서 가상 머신 생성부(140)는 저장부(120)에 저장되어 있는 운영체제들에 대한 정보를 포함하는 운영체제 선택 유저 인터페이스(200, 300)를 구성한다. 예를 들면, 도 2a와 같은 운영체제 선택 유저 인터페이스(200)를 구성한다. 가상 머신 생성부(140)에 의해 구성된 운영체제 선택 유저 인터페이스는 디스플레이부(150)를 통해 디스플레이된다(S410).
이와 같이, 운영체제 선택 유저 인터페이스가 디스플레이되면, 사용자는 복수의 운영체제 중에서 특정 운영체제를 선택할 수 있다. 사용자의 선택에 따라 특정 운영체제에 대한 선택 신호가 수신되면(S420), 제어부(130)는 가상 머신 생성부(140)를 제어하여 사용자에 의해 선택된 운영체제에 대한 가상 머신이 생성될 수 있도록 한다(S430). 예를 들어, 도 2a에서 제2 운영체제가 선택된 경우, 제어부(130)는 가상 머신 생성부(140)에 의해 제2 운영체제에 대한 가상 머신이 생성될 수 있도록 한다.
이와 같이, 제2 운영체제에 대한 가상 머신이 생성되면, 제어부(130)는 도 2b와 같이, 디스플레이부(150)를 통해 제2 운영체제에 대한 대화창이 디스플레이될 수 있도록 한다(S440). 제2 운영체제에 대한 대화창이 디스플레이부(150)를 통해 디스플레이되면, 사용자는 제2 운영체제 상에서 동작하는 응용 프로그램들을 사용할 수 있다.
도 2b와 같이, 제2 운영체제에 대한 대화창(220)이 디스플레이된 상태에서 입력부(110)를 통해 제어 신호가 제공되면, 제어부(130)는 제공된 신호의 종류를 판별하여, 제공된 신호에 따라 운영체제 스위칭 장치(100)의 동작을 제어한다.
예를 들어, 다른 운영체제에 대한 선택 신호가 제공된 경우(S450, 운영체제 선택 신호), 제어부(130)는 해당 가상 머신 생성부(140)를 제어하여, 해당 운영체제에 대한 가상 머신이 생성될 수 있도록 한다. 좀 더 구체적으로, 도 2a와 같은 운영체제 선택 유저 인터페이스에서 제3 운영체제가 선택된 경우, 제어부(130)는 가상 머신 생성부(140)에 의해 제3 운영체제에 대한 가상 머신이 생성될 수 있도록 한다(S430). 제3 운영체제에 대한 가상 머신이 생성되면, 가상 머신에 의해 제3 운영체제가 메모리(미도시)로 로드되어 부팅된다. 그 결과, 도 2c와 같이, 제3 운영체제에 대한 대화창(230)이 디스플레이부(150)를 통해 디스플레이된다(S440). 이 때, 제2 운영체제는 제어부(130)에 의해 비활성화되어, 제2 운영체제에 대한 대화창은 디스플레이부(150)를 통해 표시되지 않게 된다.
도 2c와 같이, 제3 운영체제에 대한 대화창이 디스플레이된 상태에서, 만약 활성화 신호가 제공되는 경우(S450, 활성화 신호), 제어부(130)는, 비활성화되어 있는 운영체제 즉, 제2 운영체제를 활성화한다(S460). 그 결과, 도 2b와 같이, 제2 운영체제에 대한 대화창이 디스플레이부(150)를 통해 다시 디스플레이될 수 있도록 한다. 이 단계에서 제어부(130)는 활성화 신호가 제공될 때마다 비활성화되어 있는 운영체제 중에서 어느 하나를 순차적으로 활성화시킨다.
한편, 가상 머신 생성부(140)에 의해 제공되는 운영체제 선택 유저 인터페이스가 도 3a와 같은 경우, 운영체제 스위칭 장치(100)의 동작 과정은 다음을 제외하고는 전술한 운영체제 스위칭 장치(100)의 동작과 동일하다.
즉, 운영체제 선택 신호를 수신하는 단계(S420)에서, 복수의 운영체제에 대한 선택 신호를 수신할 수 있다. 또한, 이 단계에서는, 활성화할 운영체제에 대한 정보를 수신할 수 있다. 예를 들면, 도 3b와 같이, 제1 운영체제 및 제2 운영체제에 대한 선택 신호 및 활성화할 운영체제에 대한 정보를 수신할 수 있다.
이와 같이, 복수의 운영체제에 대한 선택 신호가 제공되면(S420), 선택된 복수의 운영체제에 각각 대응하는 가상 머신이 가상 머신 생성부(140)에 의해 생성된다(S430). 예를 들어, 도 3a에서, 제1 운영체제 및 제2 운영체제가 선택되는 경우, 제1 운영체제에 대한 가상 머신 및 제2 운영체제에 대한 가상 머신이 가상 머신 생성부(140)에 의해 생성된다.
이 후, 각 가상 머신에 대응하는 운영체제가 각각 메모리(미도시)에 로드되어 부팅된다. 예를 들면, 제1 운영체제 및 제2 운영체제가 각각 메모리(미도시)에 로드되어 부팅된다.
복수의 운영체제가 각각 부팅되면, 제어부(130)는 운영체제 선택 유저 인터페이스를 통해 제공된 활성화 정보에 따라, 해당 운영체제의 대화창이 디스플레이부(150)를 통해 표시될 수 있도록 한다(S440). 예를 들면, 제1 운영체제를 활성화시키도록 선택되어 있는 경우, 제어부(130)는 도 3b와 같이, 제1 운영체제에 대한 대화창(310)이 디스플레이부(150)를 통해 디스플레이될 수 있도록 한다.
이 후 만약, 활성화 신호가 제공되는 경우(S450, 활성화 신호), 제어부(130)는 활성화 신호가 제공될 때마다 비활성화된 운영체제 중에서 어느 하나를 차례로 활성화시킨다(S470).
예를 들어, 제1 운영체제 및 제2 운영체제에 대한 가상 머신이 각각 생성되어 있고, 도 3b와 같이, 제1 운영체제의 대화창(310)이 디스플레이되고 있는 상태 에서 활성화 신호가 제공되는 경우, 제어부(130)는 현재 활성화되어 있는 운영체제 즉, 제1 운영체제를 비활성화시키고, 비활성화되어 있는 운영체제 즉, 제2 운영체제를 활성화시킨다. 그 결과, 도 3c와 같이, 제2 운영체제에 대한 대화창(320)이 디스플레이부(150)를 통해 디스플레이될 수 있도록 한다. 제어부(130)는 활성화 신호가 제공될 때마다 전술한 동작을 반복하게 된다.
이상과 같이 예시된 도면을 참조로 하여, 본 발명에 따른 운영체제 스위칭 장치 및 방법에 대하여 설명하였으나, 본 발명은 본 명세서에 개시된 실시예와 도면에 의해 한정되지 않으며, 그 발명의 기술사상 범위 내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같이 본 발명에 의한 운영체제 스위칭 장치 및 방법에 따르면 운영체제에 독립적인 가상 머신을 제공할 수 있다는 장점이 있다.

Claims (9)

  1. 복수의 운영체제 중에서 적어도 하나 이상의 운영체제에 대한 선택 신호를 제공하는 입력부; 및
    상기 선택된 운영체제에 각각 대응하며, 대응하는 운영체제를 부팅시키는 적어도 하나 이상의 가상 머신을 생성하는 가상 머신 생성부를 포함하는 운영체제 스위칭 장치에 있어서,
    상기 가상 머신 생성부는, 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)로 구성되는 운영체제 스위칭 장치.
  2. 제 1 항에 있어서,
    상기 가상 머신들은 서로 독립적인, 운영체제 스위칭 장치.
  3. 제 1 항에 있어서,
    상기 입력부는, 상기 선택된 운영체제 중에서 소정 운영체제를 활성화시키는 활성화 신호를 제공하는, 운영체제 스위칭 장치.
  4. 제 3 항에 있어서,
    상기 활성화된 운영체제를 디스플레이하는 디스플레이부를 더 포함하는, 운영체제 스위칭 장치.
  5. 제 1 항에 있어서,
    상기 복수의 운영체제를 저장하는 저장부를 더 포함하는, 운영체제 스위칭 장치.
  6. 복수의 운영체제 중에서 적어도 하나 이상의 운영체제를 선택받는 단계; 및
    상기 선택받은 운영체제에 각각 대응하는 적어도 하나 이상의 가상 머신을 생성하고, 상기 선택받은 운영체제를 부팅하는 단계를 포함하는 운영체제 스위칭 방법에 있어서,
    상기 가상 머신은 확장형 펌웨어 인터페이스(Extensible Firmware Interface; EFI)로 구성되는 가상 머신 생성부에 의해 이루어지는, 운영체제 스위칭 방법.
  7. 제 6 항에 있어서,
    상기 가상 머신들은 서로 독립적인, 운영체제 스위칭 방법.
  8. 제 6 항에 있어서,
    상기 선택받은 운영체제 중에서 소정 운영체제를 활성화시키는 활성화 신호를 제공받는 단계를 더 포함하는, 운영체제 스위칭 방법.
  9. 제 8 항에 있어서,
    상기 활성화된 운영체제를 디스플레이하는 단계를 더 포함하는, 운영체제 스위칭 방법.
KR1020060003609A 2006-01-12 2006-01-12 운영체제 스위칭 장치 및 방법 KR100746025B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060003609A KR100746025B1 (ko) 2006-01-12 2006-01-12 운영체제 스위칭 장치 및 방법
US11/646,446 US20070162901A1 (en) 2006-01-12 2006-12-28 Operating system switching device and operating system switching method
CNA2007100021879A CN101000566A (zh) 2006-01-12 2007-01-12 操作***切换设备和操作***切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060003609A KR100746025B1 (ko) 2006-01-12 2006-01-12 운영체제 스위칭 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070075162A KR20070075162A (ko) 2007-07-18
KR100746025B1 true KR100746025B1 (ko) 2007-08-06

Family

ID=38234199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060003609A KR100746025B1 (ko) 2006-01-12 2006-01-12 운영체제 스위칭 장치 및 방법

Country Status (3)

Country Link
US (1) US20070162901A1 (ko)
KR (1) KR100746025B1 (ko)
CN (1) CN101000566A (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312509B2 (en) * 2006-09-21 2012-11-13 Intel Corporation High integrity firmware
JP2009048386A (ja) * 2007-08-20 2009-03-05 Chepro:Kk 通信システム、通信方法、通信制御プログラムおよびこのプログラムを記憶した記録媒体
US7865711B2 (en) * 2007-12-03 2011-01-04 Microsoft Corporation Efficient method for operating system deployment
US8745601B1 (en) * 2008-07-17 2014-06-03 Apple Inc. Methods and systems for using data structures for operating systems
CN101650665A (zh) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 虚拟环境建立方法及***
WO2009149588A1 (zh) * 2008-10-14 2009-12-17 Cai Guangxian 基于虚拟化技术的计算机***及虚拟机创建方法
US7904630B2 (en) * 2008-10-15 2011-03-08 Seagate Technology Llc Bus-connected device with platform-neutral layers
US8413141B2 (en) * 2009-04-23 2013-04-02 International Business Machines Corporation Copying segments of virtual resource definition to create and deploy a virtual resource on a physical resource
KR101620058B1 (ko) 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
CN102110007B (zh) * 2009-12-29 2014-01-29 中国长城计算机深圳股份有限公司 一种bios/uefi与虚拟机监控器交互方法及***
US20110252371A1 (en) * 2010-04-13 2011-10-13 Sony Corporation System and method for fast boot of computer
US8433889B2 (en) 2010-04-28 2013-04-30 Acer Cloud Technology, Inc. Operating system context switching
CN102375754B (zh) * 2010-08-20 2015-03-11 纬创资通股份有限公司 整合运用基于同一***内核的异质操作***的方法
CN101937360B (zh) * 2010-09-01 2013-05-15 浪潮(北京)电子信息产业有限公司 一种创建虚拟机的方法和装置
KR101727041B1 (ko) * 2010-10-29 2017-04-14 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US8751783B2 (en) * 2011-01-20 2014-06-10 Hewlett-Packard Development Company, L.P. Booting computing devices with EFI aware operating systems
JP5724421B2 (ja) * 2011-02-04 2015-05-27 富士通株式会社 情報処理装置
US8495355B2 (en) * 2011-02-28 2013-07-23 Microsoft Corporation Operating system experience states
CN103294562B (zh) * 2012-02-23 2017-03-01 纬创资通股份有限公司 双操作***共用周边装置的方法以及电子装置
WO2013142465A1 (en) * 2012-03-19 2013-09-26 Sony Mobile Communications Ab Device including a plurality of selectable operating systems
CN103713915A (zh) * 2012-09-29 2014-04-09 联想(北京)有限公司 ***启动方法和电子设备
CN104216726B (zh) * 2013-06-04 2016-08-10 腾讯科技(深圳)有限公司 Android虚拟机加载方法及装置
CN105556463B (zh) * 2013-09-30 2020-01-14 惠普发展公司,有限责任合伙企业 用于基于计算装置模式选择操作***的混合计算装置、方法以及非暂时性计算机可读存储介质
CN104714821B (zh) * 2013-12-17 2018-07-31 华为技术有限公司 操作***实例创建方法及装置
CN103761088A (zh) * 2014-01-13 2014-04-30 中南大学 一种适用于arm架构移动设备的多操作***切换方法
KR20150097262A (ko) * 2014-02-18 2015-08-26 삼성전자주식회사 제어 방법 및 그 방법을 처리하는 전자 장치
US9697010B2 (en) 2014-03-25 2017-07-04 Microsoft Technology Licensing, Llc User selectable operating systems
US9766944B2 (en) 2014-03-25 2017-09-19 Microsoft Technology Licensing, Llc Dynamic partition dual boot mobile phone device
US20150277934A1 (en) * 2014-03-25 2015-10-01 Microsoft Technology Licensing, Llc One time dual boot mobile phone device
CN103927227A (zh) * 2014-04-16 2014-07-16 乐视致新电子科技(天津)有限公司 多操作***的切换方法和装置、及智能电视
WO2016065569A1 (en) * 2014-10-30 2016-05-06 Microsoft Technology Licensing, Llc. Foldable Input Device
KR101663114B1 (ko) * 2015-01-21 2016-10-07 현대자동차주식회사 차량용 멀티미디어 단말기 및 그의 데이터 처리 방법
KR102345653B1 (ko) 2015-02-27 2021-12-30 삼성전자주식회사 복수의 운영체제를 구동하는 디바이스 및 그 방법
KR102322033B1 (ko) * 2015-07-21 2021-11-04 삼성전자주식회사 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스
CN105573753B (zh) * 2015-12-11 2020-02-07 北京元心科技有限公司 多***切换的方法及装置
CN105975287A (zh) * 2016-06-23 2016-09-28 珠海全志科技股份有限公司 一种多***快速切换的方法和***
KR102661703B1 (ko) * 2016-12-23 2024-04-29 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN106998357A (zh) * 2017-03-13 2017-08-01 深圳市京华科讯科技有限公司 一种使用云桌面的方法及云桌面***
EP3776692A4 (en) 2018-04-06 2021-12-29 Celgard, LLC Solid state batteries, sse batteries, lithium metal batteries with solid state electrolytes, hsse, separators, and/or coatings, and/or related methods
CN109002346B (zh) * 2018-07-10 2022-04-15 广东微云科技股份有限公司 一种Windows虚拟机引导程序的转换方法
CN109144543A (zh) * 2018-08-09 2019-01-04 郑州云海信息技术有限公司 一种基于EFI环境的验证VMware***BIOS兼容性的方法
US11068295B2 (en) 2019-04-12 2021-07-20 Ghost Locomotion Inc. Device operation across multiple operating system modalities

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900018832A (ko) * 1989-05-17 1990-12-22 하워드 지. 피거로아 다중 운영 시스템 컴퓨터 장치 및 컴퓨터 시스템
KR970002548A (ko) * 1995-06-07 1997-01-28 제프리 엘. 포만 컴퓨터 시스템, 코드 실행 제어 방법, 및 컴퓨터 시스템 전력 관리 방법
KR20030051217A (ko) * 2001-12-13 2003-06-25 마이크로소프트 코포레이션 일반 그래픽 어댑터
KR20040007551A (ko) * 2001-05-11 2004-01-24 인텔 코오퍼레이션 다중 아키텍처를 위한 구성 요소 소프트웨어용 smm로더 및 실행 매커니즘
US20050081212A1 (en) * 2003-09-30 2005-04-14 Goud Gundrala D. Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60136833A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd オペレ−テイングシステムの切替え方式
JP3659062B2 (ja) * 1999-05-21 2005-06-15 株式会社日立製作所 計算機システム
US6715016B1 (en) * 2000-06-01 2004-03-30 Hitachi, Ltd. Multiple operating system control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900018832A (ko) * 1989-05-17 1990-12-22 하워드 지. 피거로아 다중 운영 시스템 컴퓨터 장치 및 컴퓨터 시스템
KR970002548A (ko) * 1995-06-07 1997-01-28 제프리 엘. 포만 컴퓨터 시스템, 코드 실행 제어 방법, 및 컴퓨터 시스템 전력 관리 방법
KR20040007551A (ko) * 2001-05-11 2004-01-24 인텔 코오퍼레이션 다중 아키텍처를 위한 구성 요소 소프트웨어용 smm로더 및 실행 매커니즘
KR20030051217A (ko) * 2001-12-13 2003-06-25 마이크로소프트 코포레이션 일반 그래픽 어댑터
US20050081212A1 (en) * 2003-09-30 2005-04-14 Goud Gundrala D. Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment

Also Published As

Publication number Publication date
CN101000566A (zh) 2007-07-18
US20070162901A1 (en) 2007-07-12
KR20070075162A (ko) 2007-07-18

Similar Documents

Publication Publication Date Title
KR100746025B1 (ko) 운영체제 스위칭 장치 및 방법
KR100583454B1 (ko) 액티브 데스크탑용 데스크탑 구성품의 공장설치 방법 및 그 시스템
US20170185461A1 (en) Fast switching method, device and terminal of dual system
US8863122B2 (en) Remote control of a plurality of virtual machines using actions facilitated through a graphic user interface
US20090083375A1 (en) Installation of a Virtualization Environment
JP2016527578A (ja) アプリケーションシナリオの識別方法、電力消費の管理方法、装置、および端末デバイス
CN101526901B (zh) 一种电脑中查看文件的方法及装置
WO2014209304A1 (en) Thin client computing device taskbar and widgets
CN112437914B (zh) 一种***恢复方法及装置
US8103908B2 (en) Method and system for recovery of a computing environment during pre-boot and runtime phases
JP2006330912A (ja) 情報処理装置およびプログラム
WO2012145006A1 (en) Virtual bios
CN101201746A (zh) 基本输出入***设定方法
KR20070108723A (ko) 보안 접근 제어를 제공하는 장치 및 방법
KR20130067526A (ko) 가상 환경 관리 방법 및 이를 이용한 단말 장치
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
JP2006201919A (ja) マルチブートコンピュータ
CN103136044A (zh) 一种程序调用的方法、装置及一种计算机***
CN107077577A (zh) 一种应用程序启动方法及装置
CN111078024A (zh) 动态调整键盘输出信号的方法
KR20080076304A (ko) 게스트 운영체제의 화면 출력 제어 방법 및 장치
KR20050110426A (ko) 컴퓨터 시스템 및 그 제어방법
KR20020048172A (ko) 멀티 운영체제를 구비하는 컴퓨터 시스템 및 그의사용중인 운영체제를 변경 하기 위한 방법
US9047010B2 (en) Selective key distinction at system startup
US11748123B2 (en) Transforming a remote desktop into a remote application

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
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee