KR20150039377A - Method for device virtualization and apparatus therefor - Google Patents
Method for device virtualization and apparatus therefor Download PDFInfo
- Publication number
- KR20150039377A KR20150039377A KR20130117873A KR20130117873A KR20150039377A KR 20150039377 A KR20150039377 A KR 20150039377A KR 20130117873 A KR20130117873 A KR 20130117873A KR 20130117873 A KR20130117873 A KR 20130117873A KR 20150039377 A KR20150039377 A KR 20150039377A
- Authority
- KR
- South Korea
- Prior art keywords
- address space
- application program
- access
- composite
- operating system
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 장치 가상화 기술에 관한 것으로, 더욱 상세하게는 장치 구동기가 없는 환경에서 응용 프로그램을 효과적으로 실행시키는 방법 및 장치에 관한 것이다.The present invention relates to a device virtualization technology, and more particularly, to a method and apparatus for effectively executing an application program in an environment without a device driver.
가상화 환경이란 하나의 물리적인 머신 상에서 복수 개의 가상 머신(Virtual Machine, VM)을 구동시키는 환경을 의미한다. 이러한 복수 개의 가상 머신은 호스트(Host) 머신에서 관리가 되는데, 호스트 머신에서 구동되는 호스트 운영 체제는 기존의 장치 구동기를 통하여 직접 장치를 연결해서 사용할 수 있으며 가상 머신들을 제어 및 관리 모듈 등이 포함된다. A virtualized environment is an environment in which a plurality of virtual machines (VMs) are run on a single physical machine. The plurality of virtual machines are managed by a host machine. The host operating system running on the host machine includes a control module for controlling and managing virtual machines, which can directly use the device through a conventional device driver .
가상화 환경은 주어진 물리 머신의 중앙처리장치, 주기억장치 등의 자원에 대한 사용률을 높일 수 있으며, 각 가상 머신들은 논리적으로 완전히 분리가 되어 있어 다양한 운영 체제에서 구동시킬 수 있다는 장점이 있다. 이에, 기업 컴퓨팅 환경에서 개인 사용자 컴퓨팅 환경까지 두루 사용되고 있다. The virtualization environment can increase the utilization rate of resources such as central processing unit and main memory of a given physical machine, and each virtual machine is logically completely separated and can be operated on various operating systems. Therefore, enterprise computing environments and personal user computing environments are widely used.
가상화 기술은 그 구현의 형태에 따라 구분될 수 있는데, 운영 체제 기반 가상화 기술은 운영 체제를 공유한 상태로 가상 머신을 지원하는 기술로, 각 가상 머신들 간의 수행 문맥(context)을 위한 공간만 각자 유지하며, 운영 체제의 많은 부분은 공유하고 있는 형태를 가진다. 운영 체제 기반의 가상화 기술은 가상화 오버헤드가 시스템 가상화 기술보다 낮아 고성능으로 구동될 수 있지만, 각 가상 머신들 간에 공유되고 있는 부분이 많아 보안성에 대해서는 취약한 문제점이 있다.Virtualization technology can be classified according to the type of implementation. Operating system-based virtualization technology is a technology that supports virtual machines while sharing an operating system. Only virtualization space for each execution context between virtual machines And much of the operating system has a form that it shares. The virtualization technology based on the operating system can be run with high performance because the virtualization overhead is lower than the system virtualization technology. However, since there are many parts shared between the virtual machines, security is poor.
시스템 가상화 기술은 운영 체제 보다 하위 단계에서 가상화를 지원하는 기술로, 운영 체제 보다 하위 단계에서 하이퍼바이져(또는 Virtual Machine Monitor: VMM)라는 시스템이 구동되어 가상화를 지원하게 된다. 여기서, 하이퍼바이져 위에서 구동되는 가상 머신들은 완벽히 고립되어 서로 간에 영향을 미치지 않는다.System virtualization technology supports virtualization at a lower level than the operating system. At the lower level of the operating system, a system called a hypervisor (or VMM) is activated to support virtualization. Here, the virtual machines running on the hypervisor are completely isolated and do not affect each other.
그러나 시스템 가상화 환경에서 주변 I/O 장치에 대한 가상화 기술은 여전히 부족한 실정이다. 일반적으로 I/O 장치들은 하나의 물리 머신에서 구동되는 것을 가정하고 제작되기 때문에, 장치 구동기(Device Driver) 역시 하나의 운영 체제에서 구동되는 것을 가정하고 제작된다. 따라서 호스트 운영 체제에서 주변 I/O 장치를 독점적으로 사용하고 있으면, 가상 머신에서 구동되는 게스트 운영 체제에서는 이러한 I/O 장치를 사용할 수 없게 된다.However, in a system virtualization environment, virtualization technology for peripheral I / O devices is still lacking. Generally, since the I / O devices are manufactured assuming that they are driven by one physical machine, a device driver is also manufactured assuming that the device driver is also driven by one operating system. Therefore, if the host operating system is using the peripheral I / O device exclusively, the guest operating system running in the virtual machine will not be able to use these I / O devices.
이를 해결하기 위해서 일반적으로, 실제 장치의 기능을 소프트웨어적으로 흉내내는 장치 에뮬레이션(Device Emulation) 방식이 많이 사용되며, 호스트 운영 체제에서 해당 장치 에뮬레이션을 처리시키는 구조로 구현이 된다. 그러나 이러한 방식은 장치의 모든 기능들이 소프트웨어적으로 구현되기 때문에 성능이 느려진다는 단점을 가진다. In order to solve this problem, a device emulation method in which a function of an actual device is simulated in software is often used, and the host operating system implements the device emulation processing. However, this method has a disadvantage that performance is slowed because all the functions of the device are implemented in software.
또 다른 방법으로는, 게스트 운영 체제의 장치 구동기를 수정하여, 호스트 운영 체제의 장치 구동기와 게스트 운영 체제의 장치 구동기를 연동시키는 방법이 있다. 이 방식은 매번 I/O 가 발생할 때마다 호스트-게스트 운영 체제의 장치 구동기 간의 인터페이싱에 오버헤드가 발생하고, 장치 구동기가 수정되어야 하는 문제점을 가지며, 대부분의 장치 구동기는 장치 제작사에서 소스코드를 배포하지 않기 때문에 장치 구동기의 수정이 쉽지 않다는 문제점이 있다.Another method is to modify the device driver of the guest operating system so that the device driver of the host operating system and the device driver of the guest operating system are interlocked. This method has the problem that every time I / O occurs, there is an overhead in interfacing between the device drivers of the host-guest operating system, the device driver needs to be modified, and most device drivers distribute the source code from the device manufacturer There is a problem in that it is not easy to modify the device driver.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 장치 구동기가 없는 환경에서 응용 프로그램을 효과적으로 실행시키는 방법을 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for effectively executing an application program in an environment without a device driver.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 장치 구동기가 없는 환경에서 응용 프로그램을 효과적으로 실행시키는 장치를 제공하는데 있다.It is another object of the present invention to provide an apparatus for effectively executing an application program in an environment without a device driver.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 장치 가상화 장치는, 장치를 구동시키는 장치 구동기가 동작하는 장치 주소 공간과, 응용 프로그램 동작 환경인 운영 체제에서 동작하는 응용 프로그램이 동작하는 응용 프로그램 주소 공간을 매핑하여 합성 주소 공간을 생성하는 합성 주소 생성부와, 응용 프로그램 주소 공간에 포함된 응용 프로그램이 장치 주소 공간에 포함된 장치 구동기를 통하여 장치에 접근하도록 관리하는 장치 접근 관리부를 포함한다.According to an aspect of the present invention, there is provided a device virtualization apparatus including a device address space in which a device driver for operating a device operates, an application program address in which an application program operating in an operating system, And a device access management unit for managing the application program included in the application program address space to access the device through the device driver included in the device address space.
여기에서, 상기 합성 주소 생성부는, 장치를 구동시키는 장치 구동기가 동작하는 장치 주소 공간을 포함하는 커널 영역과, 응용 프로그램 주소 공간을 매핑하여 합성 주소 공간을 생성할 수 있다. Here, the composite address generator may generate a composite address space by mapping a kernel area including a device address space in which a device driver for driving the device operates, and an application program address space.
여기에서, 상기 합성 주소 생성부는, 응용 프로그램 동작 환경인 운영 체제마다 합성 주소 공간을 생성할 수 있다. Here, the composite address generation unit may generate a composite address space for each operating system, which is an application program operating environment.
여기에서, 상기 장치 접근 관리부는, 응용 프로그램 동작 환경인 운영 체제마다 생성된 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 장치에 대한 접근을 관리할 수 있다. Here, the device access management unit may manage the access to the device by setting a virtual access area for each of the composite address spaces generated for each operating system, which is an application program operating environment.
여기에서, 상기 장치 접근 관리부는, 합성 주소 공간 각각에 대한 가상 접근 영역을 독립적으로 관리할 수 있다. Here, the device access management unit may independently manage a virtual access area for each of the synthetic address spaces.
여기에서, 상기 장치 접근 관리부는, 합성 주소 공간 각각에 포함된 장치 구동기가 생성한 데이터를 상호 공유할 수 있다. Here, the device access management unit may mutually share data generated by the device drivers included in each of the composite address spaces.
상기 다른 목적을 달성하기 위한 본 발명의 실시예에 따른 장치 가상화 방법은, 장치를 구동시키는 장치 구동기가 동작하는 장치 주소 공간을 획득하는 단계와, 장치 주소 공간을 응용 프로그램 동작 환경인 운영 체제에서 동작하는 응용 프로그램이 동작하는 응용 프로그램 주소 공간과 매핑하여 합성 주소 공간을 생성하는 단계와, 응용 프로그램 주소 공간에 포함된 응용 프로그램이 장치 주소 공간에 포함된 장치 구동기를 통하여 장치에 접근하도록 관리하는 단계를 포함한다.According to another aspect of the present invention, there is provided a device virtualization method comprising: acquiring a device address space in which a device driver for operating a device operates; A step of generating a composite address space by mapping an application program address space in which an application program operates, and a step of managing an application program included in the application program address space to access the device through a device driver included in the device address space .
상기와 같은 본 발명에 따른 장치 가상화 방법 및 장치는, 장치 구동기가 없는 환경에서 복합적으로 구성된 메모리 주소 상에 매핑(Mapping)되어 있는 장치 구동기를 응용 프로그램이 안전하게 사용하도록 한다.The device virtualization method and apparatus according to the present invention as described above allows an application program to safely use a device driver mapped on a memory address configured in a complex manner in an environment without a device driver.
도 1은 본 발명의 실시예에 따른 장치 가상화를 설명하기 위한 개념도이다.
도 2는 본 발명의 실시예에 따른 장치 가상화를 위한 합성 주소 공간의 생성을 설명하기 위한 개념도이다.
도 3은 본 발명의 실시예에 따른 장치 가상화를 통한 장치에 대한 접근을 관리하는 방법을 설명하기 위한 개념도이다.
도 4는 본 발명의 실시예에 따른 장치 가상화 방법을 설명하기 위한 흐름도이다. 1 is a conceptual diagram illustrating device virtualization according to an embodiment of the present invention.
2 is a conceptual diagram illustrating generation of a composite address space for device virtualization according to an embodiment of the present invention.
3 is a conceptual diagram illustrating a method for managing access to a device through device virtualization according to an embodiment of the present invention.
4 is a flowchart illustrating a method of virtualizing a device according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
먼저, 본 출원에서 사용되는 용어를 정의하면 다음과 같다. First, the terms used in the present application are defined as follows.
가상 머신(VM: Virtual Machine)은 실제 컴퓨터의 효율적이고 고립된 복제물로 정의될 수 있으며, 시스템 가상 머신과 프로세스 가상 머신으로 구별될 수 있다. A virtual machine (VM) can be defined as an efficient and isolated copy of a real computer and can be distinguished as a system virtual machine and a process virtual machine.
시스템 가상 머신은 하드웨어 가상 머신이라고도 하는데, 각 운영 체제를 실행하는 가상 머신 사이의 기초가 되는 물리 컴퓨터를 다중화하여 구현된다. The system virtual machine is also called a hardware virtual machine, and it is implemented by multiplexing the physical computers that are the basis of virtual machines running each operating system.
프로세스 가상 머신은 응용 프로그램 가상 머신이라고도 하는데, 운영 체제 안에서 일반 응용 프로그램과 가상 프로그램을 수행하는 프로세서로 구현될 수 있다. A process virtual machine, also called an application virtual machine, can be implemented as a processor that runs general applications and virtual programs within the operating system.
하이퍼바이져(hypervisor)는 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼(platform)을 말하는 것으로, 가상화 머신 모니터(VMML: Virtual Machine Monitor)라고도 부른다.A hypervisor refers to a logical platform for simultaneously executing a plurality of operating systems in a host computer and is also referred to as a virtual machine monitor (VMML).
주소 공간은 일반적으로 운영 체제에서 사용하는 프로세스의 주소 공간을 포함할 수 있고, 해당 공간은 유저 주소 영역과 커널 주소 영역으로 분리될 수 있다.
An address space can generally include an address space of a process used by an operating system, and the space can be divided into a user address area and a kernel address area.
도 1은 본 발명의 실시예에 따른 장치 가상화를 설명하기 위한 개념도이다. 1 is a conceptual diagram illustrating device virtualization according to an embodiment of the present invention.
도 1을 참조하면, 운영 체제(210, 220)는 응용 프로그램이 동작하는 환경을 의미할 수 있으며, 응용 프로그램이 동작하는 환경은 단일 컴퓨팅 환경 및 가상화 환경의 게스트 운영 체제 환경을 포함할 수 있다.Referring to FIG. 1, the
장치 구동기 동작 운영 체제(110)는 장치 구동기(111)가 동작하는 환경을 의미할 수 있으며, 장치 구동기(111)가 동작하는 환경은 단일 컴퓨팅 환경 및 가상화 환경의 호스트 운영 체제 환경을 포함하며, 장치 구동기(111)만 동작하는 제 3의 환경을 포함할 수 있다.Device Driver Operation The
또한, 합성 주소 공간은 합성 주소 생성부(10)에 의해 생성된 가상화된 주소 공간을 의미할 수 있다. In addition, the composite address space may refer to the virtualized address space generated by the composite
본 발명의 실시예에 따르면, 장치 구동기(111)를 구비하고 있지 않은 운영 체제(210, 220)가 가상화된 주소 공간인 합성 주소 공간에 기반하여 장치(40)에 접근하여 응용 프로그램을 실행시킬 수 있다. According to an embodiment of the present invention, an
본 발명의 실시예에 따른 장치 가상화 장치는 합성 주소 생성부(10) 및 장치 접근 관리부(20)를 포함한다. The device virtualization apparatus according to an embodiment of the present invention includes a composite
합성 주소 생성부(10)는 장치(40)를 구동시키는 장치 구동기(111)가 동작하는 장치 주소 공간과, 응용 프로그램 동작 환경인 운영 체제(210, 220)에서 동작하는 응용 프로그램이 동작하는 응용 프로그램 주소 공간을 매핑하여 합성 주소 공간을 생성할 수 있다. The composite
또한, 장치 접근 관리부(20)는 응용 프로그램 주소 공간에 포함된 응용 프로그램이 장치 주소 공간에 포함된 장치 구동기(111)를 통하여 장치(40)에 접근하도록 관리할 수 있다. In addition, the device
상세하게는, 제1 응용 프로그램(211)과 제2 응용 프로그램(221)이 각각 동작하는 환경인 제1 운영 체제(210) 및 제2 운영 체제(220)가 장치 구동기(111)를 구비하고 있지 않은 경우, 장치 구동기(111)를 가상화하여 장치(40)에 접근함으로써 응용 프로그램을 효과적으로 실행시킬 수 있다. 여기서, 각각의 운영 체제는 하이퍼바이져(30)에서 구동되는 가상 머신에 설치되어 동작할 수 있다. The
합성 주소 생성부(10)는 응용 프로그램이 구동되거나 응용 프로그램이 장치(40)에 대한 접근을 요청할 경우 합성 주소 공간을 생성할 수 있다. 예를 들어, 합성 주소 생성부(10)는 응용 프로그램이 동작하는 운영 체제마다 합성 주소 공간을 생성할 수 있다. 즉, 제1 합성 주소 공간(310)은 제1 운영 체제(210)를 위하여 가상화된 주소 공간이고, 제2 합성 주소 공간(320)은 제2 운영 체제(220)를 위하여 가상화된 주소 공간일 수 있다. The composite
상세하게는, 합성 주소 생성부(10)에 의해 생성되는 각각의 합성 주소 공간은 장치 구동기 동작 운영 체제(110) 내에 있는 장치 구동기(111)가 적재되어 있는 메모리 공간과, 운영 체제(210, 220) 내에 있는 응용 프로그램이 적재되어 있는 메모리 공간을 매핑한 구조를 가질 수 있다. In detail, each of the composite address spaces generated by the composite
한편, 합성 주소 생성부(10)는 장치 구동기(111)가 포함된 장치 주소 공간과 응용 프로그램을 포함하는 응용 프로그램 주소 공간을 합성해주는 주체로써, 가상 머신의 메모리 관리 모듈과 연계하여 메모리의 구성을 변형시킬 수 있다. 합성 주소 생성부(10)는 가상 머신 외부에서 동작될 수 있으며, 외부의 모듈과 연계하여 가상 머신 내부에서도 동작될 수 있다.The composite
예를 들어, 합성 주소 생성부(10)는 제1 운영 체제(210)에서 동작하는 제1 응용 프로그램(211)의 실행을 위하여 제1 응용 프로그램 주소 공간(311)과 제1 장치 주소 공간(312)을 포함하는 제1 합성 주소 공간(310)을 생성할 수 있다. 여기서, 제1 응용 프로그램 주소 공간(311)은 제1 운영 체제(210)내에 적재되어 있는 제1 응용 프로그램(211)을 포함할 수 있으며, 제1 장치 주소 공간(312)은 장치 구동기 동작 운영 체제(110)에 적재되어 있는 장치 구동기(111)를 포함할 수 있다. For example, the composite
또한, 합성 주소 생성부(10)는 제2 운영 체제(220)에서 동작하는 제2 응용 프로그램(221)의 실행을 위하여 제2 응용 프로그램 주소 공간(321)과 제2 장치 주소 공간(322)을 포함하는 제2 합성 주소 공간(320)을 생성할 수 있다. 여기서, 제2 응용 프로그램 주소 공간(321)은 제2 운영 체제(220)내에 적재되어 있는 제2 응용 프로그램(221)을 포함할 수 있으며, 제2 장치 주소 공간(322)은 장치 구동기 동작 운영 체제(110)에 적재되어 있는 장치 구동기(111)를 포함할 수 있다. The composite
장치 접근 관리부(20)는 응용 프로그램 동작 환경인 운영 체제(210, 220)마다 생성된 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 장치(40)에 대한 접근을 관리할 수 있다. The device
또한, 장치 접근 관리부(20)는 합성 주소 공간 각각에 대한 가상 접근 영역을 독립적으로 관리할 수 있으며, 합성 주소 공간 각각에 포함된 장치 구동기(111)가 생성한 데이터를 상호 공유하도록 할 수도 있다. Also, the device
예를 들어, 합성 주소 공간에 존재하는 장치 주소 공간에 포함된 장치 구동기(111)는 개별적인 가상 접근 영역에 기반하여 독립적으로 관리함으로써, 서로 다른 운영 체제들간 발생 가능한 간섭 문제를 해결할 수 있다. 여기서, 장치 접근 관리부(20)는 개별적인 수행 문맥(context)를 관리함으로써 장치(40)에 대한 접근을 관리할 수 있다. For example, the
다시 말해, 장치(40)에 대한 접근이 시도될 때, 장치 접근 관리부(20)는 복수 개의 가상 머신에서 합성된 합성 주소 공간을 이용하여, 각 가상 머신마다 인스턴스를 생성함으로써 각 가상 머신별로 시점(view)를 제공할 수 있다. 이러한 경우, 각 가상 머신들은 자신의 수행 문맥(context)를 가질 수 있다. 예를 들어, 하드디스크 장치를 두 개의 가상 머신에서 접근하는 상황에서, 제1 가상 머신에서 /a.txt 파일을 생성하여도, 제2 가상 머신에서는 /a.txt가 보이지 않게 된다. In other words, when the access to the
보다 상세하게는, 제1 합성 주소 공간(310)의 제1 장치 주소 공간(312)에 포함된 장치 구동기(111)의 장치(40)에 대한 접근과, 제2 합성 주소 공간(320)의 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)의 장치(40)에 대한 접근을 분리하여 관리할 수 있다. 이는 시분할 처리 또는 스케줄링 등의 기법을 통하여 가능할 수 있다. More specifically, access to the
또한, 장치 접근 관리부(20)는 장치(40)의 정책에 따라 공유를 지원할 수 있으며 이러한 경우, 제2 합성 주소 공간(320)의 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)가 제1 합성 주소 공간(310)의 제1 장치 주소 공간(312)에 포함된 장치 구동기(111)가 생성한 데이터에 접근할 수 있다. 즉, 공유 조건에 따라 하나의 인스턴스를 공유하여 사용할 수도 있다. 예를 들어, 제 1 가상 머신에서 /a.txt 파일을 생성하면, 제 2 가상 머신에서도 /a.txt 파일이 생성되어 보이게 될 수 있다. The device
또한, 본 발명의 실시예에 따른 합성 주소 생성부(10)와 장치 접근 관리부(20)는 하이퍼바이져(30)와 가상 머신들 사이의 계층에서 구현되는 것에 한정되는 것은 아니며, 시스템의 디자인 및 효율성에 따라 자유로운 계층에서 구현이 가능하다. 예컨대, 합성 주소 생성부(10)와 장치 접근 관리부(20)는 하이퍼바이져(30) 내부에서도 구현될 수 있다.
The composite
도 2는 본 발명의 실시예에 따른 장치 가상화를 위한 합성 주소 공간의 생성을 설명하기 위한 개념도이다.2 is a conceptual diagram illustrating generation of a composite address space for device virtualization according to an embodiment of the present invention.
도 2을 참조하면, 합성 주소 공간은 응용 프로그램 주소 공간과 장치 주소 공간을 포함하여 구성될 수 있다. Referring to FIG. 2, the composite address space may be configured to include an application address space and a device address space.
장치 구동기 동작 운영 체제(110)의 메모리 영역에 포함된 장치 구동기(111)가 적재된 주소 공간과 응용 프로그램 동작 운영 체제(210, 220)의 메모리 영역에 포함된 응용 프로그램이 적재된 주소 공간이 합성 주소 공간에 매핑될 수 있다. 여기서, 장치 구동기 동작 운영 체제(110)의 메모리 영역은 단일 컴퓨팅 환경의 장치 구동기(111)가 동작되는 운영 체제의 주소 영역 및 가상화 환경에서 장치 구동기(111)가 동작되는 호스트 운영 체제의 주소 영역을 의미할 수 있으며, 응용 프로그램 동작 운영 체제(210, 220)의 메모리 영역은 가상화 환경에서 응용 프로그램이 동작되는 가상 머신 내의 게스트 운영 체제의 유저 주소 영역을 의미할 수 있다. Device Driver Operation An address space in which a
즉, 합성 주소 공간은 장치 구동기(111)가 동작하는 환경의 메모리 주소 공간과 실제 장치(40)를 사용하는 응용 프로그램이 동작하는 환경의 메모리 주소 공간을 포함할 수 있다. That is, the composite address space may include a memory address space of an environment in which the
따라서, 응용 프로그램은 합성 주소 공간에 매핑되어 있는 장치 주소 공간에 포함된 장치 구동기(111)를 통해 장치(40)에 대한 접근이 가능하다. Thus, the application program is accessible to the
또한, 합성 주소 공간은 장치 구동기(111)가 적재된 주소 공간뿐만 아니라 해당 주소 공간을 포함하는 더 넓은 영역을 매핑할 수 있다. 예를 들어, 장치 구동기(111)가 적재된 주소 공간이 포함된 커널 영역 전체를 합성 주소 공간에 매핑할 수 있다. 여기서, 합성 주소 공간은 페이지 테이블 등의 수정을 통하여 구현될 수 있다.
In addition, the composite address space can map a wider area including the address space in which the
도 3은 본 발명의 실시예에 따른 장치 가상화를 통한 장치에 대한 접근을 관리하는 방법을 설명하기 위한 개념도이다. 3 is a conceptual diagram illustrating a method for managing access to a device through device virtualization according to an embodiment of the present invention.
도 3을 참조하면, 장치 접근 관리부(20)는 응용 프로그램 동작 환경인 운영 체제(210, 220)마다 생성된 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 장치(40)에 대한 접근을 관리할 수 있다. Referring to FIG. 3, the device
예를 들어, 장치 접근 관리부(20)는 제1 합성 주소 공간(310)에 제1 가상 접근 영역을 설정하고, 제2 합성 주소 공간(320)에 제2 가상 접근 영역을 설정할 수 있으며, 제1 가상 접근 영역과 제2 가상 접근 영역을 독립적으로 관리할 수 있다. For example, the device
제1 장치 주소 공간(312)에 포함된 장치 구동기(111)와 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)는 자신이 속한 가상 접근 영역에 기반하여 장치에 접근할 수 있다. 즉, 제1 장치 주소 공간(312)에 포함된 장치 구동기(111)는 제1 가상 접근 영역 내에서 모든 동작을 수행할 수 있고, 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)는 제2 가상 접근 영역 내에서 모든 동작을 수행할 수 있다. The
또한, 가상 접근 영역에 의해 합성 주소 공간들 간의 접근 제어뿐만 아니라 장치 내부에서도 접근 가능한 영역을 제한할 수 있다. 즉, 각각의 합성 주소 공간에 포함된 장치 구동기(111)는 분리된 가상 접근 영역을 통해서 장치(40)에 접근할 수 있다. In addition, it is possible to restrict the access area within the device as well as the access control between the synthetic address spaces by the virtual access area. That is, the
예를 들어, 하드 디스크와 같은 저장 장치에 대해 각각의 장치 구동기(111)가 접근 요청을 하는 경우, 각각의 장치 구동기(111)가 접근할 수 있는 하드디스크의 논리 블록 주소 영역을 제한적으로 구성할 수 있다. For example, when each
상술한 본 발명의 실시예에 따른 장치 가상화 장치의 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 설명하였으나, 각 구성부 중 적어도 두 개가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합 및 분리된 실시예의 경우도 본 발명의 본질에서 벋어나지 않는 한 본 발명의 권리범위에 포함된다.
Although each component of the apparatus virtualization apparatus according to the above-described embodiment of the present invention has been described as being arranged in each constituent part for convenience of explanation, at least two of the constituent parts may be combined to form one constituent part, It is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
도 4는 본 발명의 실시예에 따른 장치 가상화 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a method of virtualizing a device according to an embodiment of the present invention.
도 4를 참조하면, 장치 가상화 방법은 장치 주소 공간을 획득하는 단계(S410), 합성 주소 공간을 생성하는 단계(S420) 및 응용 프로그램이 장치 구동기를 통하여 장치에 접근하도록 관리하는 단계(S430)를 포함한다. Referring to FIG. 4, a device virtualization method includes obtaining a device address space (S410), creating a composite address space (S420), and managing an application program to access the device through a device driver (S430) .
본 발명의 실시예에 따른 장치 가상화 방법은 상술한 장치 가상화 장치에 의해 구현될 수 있다. The device virtualization method according to an embodiment of the present invention can be implemented by the device virtualization apparatus described above.
먼저, 장치 구동기 동작 운영 체제(110)내에 적재된 장치 구동기(111)의 주소 공간을 획득할 수 있다(S410). 여기서, 장치 구동기 동작 운영 체제(110)는 장치 구동기(111)가 동작하는 환경을 의미할 수 있다.First, the address space of the
그리고, 장치(40)를 구동시키는 장치 구동기(111)가 동작하는 장치 주소 공간과, 응용 프로그램 동작 환경인 운영 체제(210, 220)에서 동작하는 응용 프로그램이 동작하는 응용 프로그램 주소 공간을 매핑하여 합성 주소 공간을 생성할 수 있다(S420). The device address space in which the
즉, 응용 프로그램이 구동되거나 응용 프로그램이 장치에 대한 접근을 요청할 경우 합성 주소 공간을 생성할 수 있다. 특히, 응용 프로그램이 동작하는 운영 체제(210, 220)마다 합성 주소 공간을 생성할 수 있다. 예를 들어, 제1 합성 주소 공간(310)은 제1 운영 체제(210)를 위하여 가상화된 주소 공간이고, 제2 합성 주소 공간(320)은 제2 운영 체제(220)를 위하여 가상화된 주소 공간일 수 있다. 여기서, 합성 주소 공간은 장치 구동기 동작 운영 체제(110) 내에 있는 장치 구동기(111)가 적재되어 있는 메모리 공간과, 운영 체제(210, 220) 내에 있는 응용 프로그램이 적재되어 있는 메모리 공간을 매핑한 구조를 가질 수 있다.That is, a composite address space can be created when an application program is started or when an application requests access to the device. In particular, a composite address space may be created for each
응용 프로그램 주소 공간에 포함된 응용 프로그램이 장치 주소 공간에 포함된 장치 구동기(111)를 통하여 장치(40)에 접근하도록 관리할 수 있다(S430). The application program included in the application address space may be managed to access the
특히, 응용 프로그램 동작 환경인 운영 체제(210, 220)마다 생성된 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 장치(40)에 대한 접근을 관리할 수 있다.Particularly, it is possible to manage the access to the
또한, 합성 주소 공간 각각에 대한 가상 접근 영역을 독립적으로 관리할 수 있으며, 합성 주소 공간 각각에 포함된 장치 구동기(111)가 생성한 데이터를 상호 공유하도록 할 수도 있다. In addition, the virtual access area for each of the composite address spaces can be managed independently, and the data generated by the
예를 들어, 합성 주소 공간에 존재하는 장치 주소 공간에 포함된 장치 구동기(111)는 개별적인 가상 접근 영역에 기반하여 독립적으로 관리함으로써, 서로 다른 운영 체제들간 발생 가능한 간섭 문제를 해결할 수 있다.For example, the
상세하게는, 제1 합성 주소 공간(310)의 제1 장치 주소 공간(312)에 포함된 장치 구동기(111)의 장치(40)에 대한 접근과, 제2 합성 주소 공간(320)의 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)의 장치(40)에 대한 접근을 분리하여 관리할 수 있다. 이는 시분할 처리 또는 스케줄링 등의 기법을 통하여 가능할 수 있다.In detail, access to the
더 나아가, 장치(40)의 정책에 따라 공유를 지원할 수 있으며 이러한 경우, 제2 합성 주소 공간(320)의 제2 장치 주소 공간(322)에 포함된 장치 구동기(111)가 제1 합성 주소 공간(310)의 제1 장치 주소 공간(312)에 포함된 장치 구동기(111)가 생성한 데이터에 접근할 수 있다.
The
상술한 본 발명의 실시예에 따른 장치 가상화 방법 및 장치는 장치 구동기(111)가 탑재된 환경의 메모리 주소 공간과 응용 프로그램이 탑재된 게스트 가상 머신의 메모리 주소 공간을 복합적으로 구성하여, 장치 구동기(111)가 없는 환경에서 복합적으로 구성된 메모리 주소 상에 매핑(Mapping)되어 있는 장치 구동기(111)를 응용 프로그램이 안전하게 사용하도록 한다. The apparatus virtualization method and apparatus according to the embodiment of the present invention may be configured to include a memory address space of an environment in which the
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that
10: 합성 주소 생성부 20: 장치 접근 관리부
30: 하이퍼바이져 40: 장치
110: 장치 구동기 동작 운영 체제 111: 장치 구동기
210: 제1 운영 체제 211: 제1 응용 프로그램
220: 제2 운영 체제 221: 제2 응용 프로그램
310: 제1 합성 주소 공간 311: 제1 응용 프로그램 주소 공간
312: 제1 장치 주소 공간 320: 제2 합성 주소 공간
321: 제2 응용 프로그램 주소 공간 322: 제2 장치 주소 공간10: Composite address generation unit 20: Device access management unit
30: hypervisor 40: device
110: Device driver operation Operating system 111: Device driver
210: first operating system 211: first application program
220: second operating system 221: second application program
310: first synthesis address space 311: first application program address space
312: first device address space 320: second synthetic address space
321: Second application program address space 322: Second device address space
Claims (12)
상기 응용 프로그램 주소 공간에 포함된 상기 응용 프로그램이 상기 장치 주소 공간에 포함된 상기 장치 구동기를 통하여 상기 장치에 접근하도록 관리하는 장치 접근 관리부를 포함하는 장치 가상화 장치.A composite address generation unit for generating a composite address space by mapping a device address space in which a device driver for driving the device operates and an application program address space in which an application program operating in an operating system that is an application program environment operates; And
And a device access management unit that manages the application program included in the application program address space to access the device through the device driver included in the device address space.
상기 합성 주소 생성부는
장치를 구동시키는 장치 구동기가 동작하는 장치 주소 공간을 포함하는 커널 영역과, 상기 응용 프로그램 주소 공간을 매핑하여 상기 합성 주소 공간을 생성하는 것을 특징으로 하는 장치 가상화 장치. The method according to claim 1,
The composite address generation unit
A kernel area including a device address space in which a device driver for operating a device operates; and a device address space in which the application program address space is generated.
상기 합성 주소 생성부는
상기 응용 프로그램 동작 환경인 운영 체제마다 상기 합성 주소 공간을 생성하는 것을 특징으로 하는 장치 가상화 장치. The method according to claim 1,
The composite address generation unit
And the composite address space is generated for each operating system that is the operating environment of the application program.
상기 장치 접근 관리부는
상기 응용 프로그램 동작 환경인 운영 체제마다 생성된 상기 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 상기 장치에 대한 접근을 관리하는 것을 특징으로 하는 장치 가상화 장치. The method of claim 3,
The device access management unit
Wherein the access control unit manages access to the device by setting a virtual access area for each of the composite address spaces generated for each operating system that is the application program operating environment.
상기 장치 접근 관리부는
상기 합성 주소 공간 각각에 대한 가상 접근 영역을 독립적으로 관리하는 것을 특징으로 하는 장치 가상화 장치. The method of claim 4,
The device access management unit
And the virtual access area for each of the synthetic address spaces is managed independently.
상기 장치 접근 관리부는
상기 합성 주소 공간 각각에 포함된 상기 장치 구동기가 생성한 데이터를 상호 공유할 수 있도록 하는 것을 특징으로 하는 장치 가상화 장치. The method of claim 5,
The device access management unit
And the data generated by the device driver included in each of the composite address spaces can be mutually shared.
상기 장치 주소 공간을 응용 프로그램 동작 환경인 운영 체제에서 동작하는 응용 프로그램이 동작하는 응용 프로그램 주소 공간과 매핑하여 합성 주소 공간을 생성하는 단계;
상기 응용 프로그램 주소 공간에 포함된 상기 응용 프로그램이 상기 장치 주소 공간에 포함된 상기 장치 구동기를 통하여 상기 장치에 접근하도록 관리하는 단계를 포함하는 장치 가상화 방법.Obtaining a device address space in which a device driver that drives the device operates;
Generating a composite address space by mapping the device address space to an application program address space in which an application program operating in an operating system is operating;
And managing the application program included in the application program address space to access the device through the device driver included in the device address space.
상기 합성 주소 공간을 생성하는 단계는
장치를 구동시키는 장치 구동기가 동작하는 장치 주소 공간을 포함하는 커널 영역과, 상기 응용 프로그램 주소 공간을 매핑하여 상기 합성 주소 공간을 생성하는 것을 특징으로 하는 장치 가상화 방법. The method of claim 7,
The step of generating the composite address space
A kernel area including a device address space in which a device driver for operating a device operates, and the application address space to generate the composite address space.
상기 합성 주소 공간을 생성하는 단계는
상기 응용 프로그램 동작 환경인 운영 체제마다 상기 합성 주소 공간을 생성하는 것을 특징으로 하는 장치 가상화 방법. The method of claim 7,
The step of generating the composite address space
And the composite address space is generated for each operating system that is the operating environment of the application program.
상기 장치에 접근하도록 관리하는 단계는
상기 응용 프로그램 동작 환경인 운영 체제마다 생성된 상기 합성 주소 공간 각각에 대한 가상 접근 영역을 설정하여 상기 장치에 대한 접근을 관리하는 것을 특징으로 하는 장치 가상화 방법. The method of claim 9,
The step of managing to access the device
Wherein a virtual access area for each of the synthetic address spaces generated for each operating system, which is an application program operating environment, is set and access to the device is managed.
상기 장치에 접근하도록 관리하는 단계는
상기 합성 주소 공간 각각에 대한 가상 접근 영역을 독립적으로 관리하는 것을 특징으로 하는 장치 가상화 방법.The method of claim 10,
The step of managing to access the device
Wherein the virtual access area for each of the synthetic address spaces is managed independently.
상기 장치에 접근하도록 관리하는 단계는
상기 합성 주소 공간 각각에 포함된 상기 장치 구동기가 생성한 데이터를 상호 공유할 수 있도록 하는 것을 특징으로 하는 장치 가상화 방법.The method of claim 11,
The step of managing to access the device
And the data generated by the device driver included in each of the composite address spaces can be mutually shared.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130117873A KR101564293B1 (en) | 2013-10-02 | 2013-10-02 | Method for device virtualization and apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130117873A KR101564293B1 (en) | 2013-10-02 | 2013-10-02 | Method for device virtualization and apparatus therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150039377A true KR20150039377A (en) | 2015-04-10 |
KR101564293B1 KR101564293B1 (en) | 2015-10-29 |
Family
ID=53029694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130117873A KR101564293B1 (en) | 2013-10-02 | 2013-10-02 | Method for device virtualization and apparatus therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101564293B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097459B2 (en) | 2016-01-04 | 2018-10-09 | Electronics And Telecommunications Research Institute | Apparatus and method for high-speed data transmission between virtual desktops |
KR102199509B1 (en) * | 2019-10-16 | 2021-01-06 | 숭실대학교산학협력단 | Memory sharing system, method, and program for performing for sharing memory in virtualization system |
US11397607B2 (en) | 2015-07-28 | 2022-07-26 | Samsung Electronics Co., Ltd. | Storage device and storage virtualization system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8274518B2 (en) * | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
-
2013
- 2013-10-02 KR KR1020130117873A patent/KR101564293B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397607B2 (en) | 2015-07-28 | 2022-07-26 | Samsung Electronics Co., Ltd. | Storage device and storage virtualization system |
US10097459B2 (en) | 2016-01-04 | 2018-10-09 | Electronics And Telecommunications Research Institute | Apparatus and method for high-speed data transmission between virtual desktops |
KR102199509B1 (en) * | 2019-10-16 | 2021-01-06 | 숭실대학교산학협력단 | Memory sharing system, method, and program for performing for sharing memory in virtualization system |
Also Published As
Publication number | Publication date |
---|---|
KR101564293B1 (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868792B2 (en) | Dynamic device virtualization for use by guest user processes based on observed behaviors of native device drivers | |
US7434003B2 (en) | Efficient operating system operation on a hypervisor | |
KR101081907B1 (en) | Apparatus for virtualization | |
US20060184938A1 (en) | Method, apparatus and system for dynamically reassigning memory from one virtual machine to another | |
US9207939B2 (en) | Performing shadowing function by virtual machine manager in two-level virtual machine environment | |
NO340567B1 (en) | Hierarchical virtualization with a multi-level virtualization mechanism | |
JP2007183952A (en) | Method by which guest is accessing memory converted device and apparatus | |
US10671419B2 (en) | Multiple input-output memory management units with fine grained device scopes for virtual machines | |
JP2022511670A (en) | Secure memory access in a virtualized computing environment | |
KR101564293B1 (en) | Method for device virtualization and apparatus therefor | |
Baldin et al. | Proteus, a hybrid virtualization platform for embedded systems | |
Bamiah et al. | Using virtual machine monitors to overcome the challenges of monitoring and managing virtualized cloud infrastructures | |
Grinberg et al. | Architectural virtualization extensions: A systems perspective | |
US8161477B2 (en) | Pluggable extensions to virtual machine monitors | |
WO2018164889A1 (en) | Managing guest partition access to physical devices | |
Kulkarni et al. | Virtualization technology: A leading edge | |
US20120173788A1 (en) | Computing Element Virtualization | |
CN113626148B (en) | Terminal virtual machine generation system and method based on hybrid virtualization | |
JP4548514B2 (en) | Control method of virtual computer system | |
JP4292220B2 (en) | Virtual computer system | |
Danisevskis | Accelerated secure GUI for virtualized mobile handsets | |
Tavangarian | Virtual Computing: The Emperor’s New Clothes? | |
Zabaljauregui | Grid operating systems/middlewares and new virtualization techniques | |
Zhou et al. | AVMM: Virtualize network client with a bare-metal and asymmetric partitioning approach | |
Roach | 2017 NDIA GROUND VEHICLE SYSTEMS ENGINEERING and TECHNOLOGY SYMPOSIUM |
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: 20181113 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190925 Year of fee payment: 5 |