KR101433644B1 - Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 - Google Patents

Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 Download PDF

Info

Publication number
KR101433644B1
KR101433644B1 KR1020110116526A KR20110116526A KR101433644B1 KR 101433644 B1 KR101433644 B1 KR 101433644B1 KR 1020110116526 A KR1020110116526 A KR 1020110116526A KR 20110116526 A KR20110116526 A KR 20110116526A KR 101433644 B1 KR101433644 B1 KR 101433644B1
Authority
KR
South Korea
Prior art keywords
virtualization
operating system
stored
instruction
command
Prior art date
Application number
KR1020110116526A
Other languages
English (en)
Other versions
KR20130051271A (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 KR1020110116526A priority Critical patent/KR101433644B1/ko
Publication of KR20130051271A publication Critical patent/KR20130051271A/ko
Application granted granted Critical
Publication of KR101433644B1 publication Critical patent/KR101433644B1/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/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템에 있어서, 게스트 운영체제(Guest OS) 컴파일 시 특정 모드에서 트랩이 발생되지 않는 명령어를 검출하는 커맨드 검출 모듈과, 상기 커맨드 검출 모듈에서 검출된 명령어를 소정 실행 파일의 특정 영역에 저장하고, 상기 저장된 명령어를 시스템 콜 인터페이스가 가능한 명령어로 변환하고, 상기 특정 영역의 오프셋으로 변환하여 상기 게스트 운영체제를 가상화하도록 제어하는 기반 정책 모듈을 포함함을 특징으로 한다.

Description

ARM 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법{SYSTEM AND METHOD THAT PROVIDES POLICIES FOR VIRTUALIZING ARM BASED OPERATING SYSTEM}
본 발명은 ARM 기반 운영체제에서 가상화를 구현하기 위하여 가상화 민감 명령어를 선행처리하기 위한 것으로, 커널 소스 코드를 컴파일 할 때 가상화 민감 명령어를 검출하여 특정 섹션에 그 위치를 저장하고, 컴파일된 커널의 ELF 파일의 섹션 내용을 보고 가상화 민감 명령어를 트랩 발생 명령어와 오프셋으로 바꾸어 가상화 민감 명령어를 에뮬레이션하기 위한 ARM 기반 운영체제의 가상화를 위한 정책 기반 제공 시스템 및 방법에 관한 것이다.
최근 들어, 기존의 서버 시스템뿐만 아니라 스마트폰 등 임베디드 기기 또한 성능이 증가함에 따라 가상화 기술의 필요성이 대두되고 있다.
가상화가 구현되지 않은 일반적인 시스템의 경우 하나의 운영체제가 모든 하드웨어 자원(resource)을 제어하지만 가상화 시스템의 경우 하드웨어의 자원을 관리하는 VMM(Virtual Machine Monitor)이라는 소프트웨어 층이 하드웨어와 운영체제 사이에 추가된다. 상기 VMM은 VM(Virtual Machine)인 다수의 게스트 운영체제에게 호스트의 하드웨어 자원을 공유해 주는 역할을 한다.
OS/360과 같은 일반적인 3세대 아키텍처에는 특권 모드(Privileged mode)와 비 특권 모드(Non-privileged mode)라는 두 가지 상태의 프로세서 모드가 있다. 상기 특권 모드란 I/O 같은 하드웨어 시스템의 자원에 자유롭게 접근할 수 있는 프로세서 모드이다. 상기 VMM은 하드웨어의 자원을 관리하기 때문에 특권 모드에서 수행하지만 VMM 위에서 작동하는 VM은 비 특권 모드에서 수행된다.
하지만 각 VM에 존재하는 운영체제는 수행 중 시스템의 자원을 사용하기 위해 특권 모드의 권한이 필요한 경우가 존재한다. 대부분의 사용자 프로그램은 하드웨어의 특권 모드의 권한이 필요없는 경우 비 특권 모드에서 수행이 가능하지만 I/O access같은 특권 모드의 기능을 사용하기 위해서는 슈퍼바이저 콜(supervisor call)이나 트랩을 발생시켜 특권 모드로 상태 변환이 필요하다.
이처럼 현재 프로세서 모드에 민감하지 않은 명령어들은 VMM의 간섭없이 직접적으로 수행할 수 있지만 그 외의 명령어들은 현재 프로세서 모드에 민감하여 가상화를 구현할 경우 해당 명령어들에 대한 처리가 필요하다.
특권 명령어는 프로세서 모드가 특권 모드일 때 수행하면 트랩이 발생하지 않으나 비 특권 모드에서 수행하면 트랩이 발생하는 명령어이다. 민감 명령어(sensitive instruction)는 제어 민감 명령어(control sensitive instruction)와 행동 민감 명령어(behavior sensitive instruction)로 구성된다. 제어 민감 명령어는 프로세서 모드의 변화를 일으키거나 relocation bound register의 변화를 일으키면 사용하는 자원에 변화를 일으킨다는 의미이며 3세대 컴퓨터의 경우 자원은 메모리를 말한다. 행동 민감 명령어는 현재의 relocation bound register의 값에 따라 수행의 결과가 달라지는 명령어이다.
도 1은 3세대 컴퓨터를 가상화 하기 위한 만족 조건을 나타낸 구성도이다. 일반적인 3세대 컴퓨터(120)는 민감 명령어 집합이 특권 명령어 집합의 부분 집합에 속하여 모든 민감 명령어가 비 특권 모드에서 수행 시 트랩을 발생시킨다. 이 경우에는 트랩 앤드 에뮬레이션 방식을 이용하여 가상화 구현이 가능하다. 하지만 x86, ARM 등의 프로세서(110)는 민감 명령어 집합 중 특권 명령어의 집합에 포함되지 않아 비 특권 모드에서 수행 시 트랩이 발생하지 않는 가상화 민감 명령어가 존재하므로 이 가상화 민감 명령어를 처리하지 않으면 가상화를 구현하기 어려운 문제가 발생한다.
본 발명은 ARM 기반 운영체제에서 가상화를 구현하기 위한 것으로, 커널 소스 컴파일 시 가상화 민감 명령어를 검출하여 ELF 파일의 특정 섹션에 그 위치를 저장하는 기술을 제공하고자 한다.
또한, 본 발명은 컴파일된 커널의 ELF 파일에 기록된 가상화 민감 명령어의 위치정보를 보고 가상화 민감 명령어를 트랩 발생 명령어와 오프셋으로 변경하여 가상화 민감 명령어를 에뮬레이션하는 기술을 제공하고자 한다.
본 발명의 일 견지에 따르면, ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템에 있어서, 게스트 운영체제(Guest OS) 컴파일 시 특정 모드에서 트랩이 발생되지 않는 명령어를 검출하는 커맨드 검출 모듈과, 상기 커맨드 검출 모듈에서 검출된 명령어를 소정 실행 파일의 특정 영역에 저장하고, 상기 저장된 명령어를 시스템 콜 인터페이스가 가능한 명령어로 변환하고, 상기 특정 영역의 오프셋으로 변환하여 상기 게스트 운영체제를 가상화하도록 제어하는 기반 정책 모듈을 포함함을 특징으로 한다.
본 발명의 다른 견지에 따르면, ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법에 있어서, 게스트 운영체제를 컴파일하는 과정과, 상기 게스트 운영체제 컴파일 수행 도중 특정 모드에서 트랩이 발생되지 않는 가상화 민감 명령어를 검출하는 과정과, 커널 소스 코드를 컴파일하는 과정과, 상기 검출된 가상화 민감 명령어를 이엘에프(ELF, Executable and Linking Format) 파일의 특정 섹션에 그 위치를 저장하는 과정과, 상기 저장된 가상화 민감 명령어를 소프트웨어 인터럽트(Software Interrupt, SWI) 명령어 및 상기 특정 섹션의 오프셋으로 변환하는 과정과, 상기 게스트 운영체제를 가상화하여 상기 가상화된 게스트 운영체제를 수행하는 과정을 포함함을 특징으로 한다.
본 발명은 가상화 민감 명령어에 대한 정보를 미리 컴파일된 커널의 ELF 파일에 저장하여 가상 머신 동작을 위한 가상화 민감 명령어 에뮬레이션 시 저장해놓은 정보를 이용하여 보다 용이한 에뮬레이션 수행이 가능한 효과가 있다.
도 1은 종래의 ARM 구조 기반 운영체제가 컴파일되는 과정과 본 발명에서 개발한 도구가 수행되어 가상화 민감 명령어를 처리하는 과정을 보인 도면.
도 2는 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템의 개략적인 구성도.
도 3은 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 시스템의 기반 정책 모듈에서 컴파일된 ELF 파일의 구조를 보인 도면.
도 4는 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 시스템의 기반 정책 모듈에서 컴파일된 커널 ELF 파일의 구조를 보인 도면.
도 5는 본 발명의 일 실시 예에 ARM 기반 운영체제의 가상화를 위한 정책 기반 제공 방법에 관한 흐름도.
이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
본 발명은 ARM 기반 운영체제에서 가상화를 구현하기 위하여 가상화 민감 명령어를 선행처리 하기 위한 것으로, 더욱 상세하게는 커널(Kernel) 소스 코드 컴파일 시 가상화 민감 명령어를 검출하여 특정 섹션에 그 위치를 저장하고, 상기 컴파일된 커널의 ELF(Executable and Linking Format)파일의 섹션 정보를 이용하여 가상화 민감 명령어를 트랩 발생 명령어와 오프셋으로 변경하여 가상화 민감 명령어를 에뮬레이션 함으로써 가상 머신동작을 위한 가상화 민감 명령어 에뮬레이션 시 기저장된 정보를 이용하여 효과적으로 에뮬레이션을 수행하는 기술을 제공하고자 한다.
그리고 명세서 전체에서 "모듈"이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어 또는 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템에 대해 도 2를 참조하여 자세히 살펴보기로 한다.
도 2는 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템의 개략적인 구성도이다.
도 2를 참조하면, 본 발명이 적용된 시스템(200)은 시스템 콜 인터페이스(210), 제어 모듈(213) 및 하드웨어(212)를 포함한다.
상기 시스템 콜 인터페이스(210)은 유저 모드 프로세스인 응용 어플리케이션이 커널의 기능을 사용 가능하게 한다.
여기서, 상기 유저 모드는 커널 모드와 함께 유닉스(Unix) 시스템의 대표적인 특징 중에 하나로 나뉘어져 있다.
상기 커널 모드는 특권 모드(Privileged mode)로서 모든 주소 공간에 접근할 수 있고 모든 명령(instruction)을 수행할 수 있다.
상기 유저 모드는 해당 유저 모드에 할당된 주소 공간만 접근할 수 있고 상기 커널 모드의 주소 공간에 대해서는 접근 불가능한 것으로, 시스템에 치명적인 영향을 끼칠 수 있는 특권 명령(mrs, msr, ldrbt, strbt 등)들은 사용할 수가 없다.
이와 같이, 커널 모드 및 유저 모드를 구별하는 것은 응용 어플리케이션의 비정상적인 혹은 악의적인 수행에 대해서 시스템을 보호하기 위한 것이다.
계속해서, 상기 제어 모듈(213)은 커맨드 검출 모듈(214) 및 기반 정책 모듈(216)을 포함한다.
상기 커맨드 검출 모듈(214)는 게스트 운영체제(Guest OS) 컴파일 시 특정 모드에서 트랩이 발생되지 않는 명령어를 검출한다.
이때, 상기 가상화 민감 명령어 탐지 시 해당 명령어는 하기와 같이 처리된다.
Figure 112011088550776-pat00001
상기 기반 정책 모듈(216)은 상기 커맨드 검출 모듈(214)에서 검출된 명령어를 소정 실행 파일의 특정 영역에 저장하고, 상기 저장된 명령어를 시스템 콜 인터페이스가 가능한 명령어로 변환하고, 상기 특정 영역의 오프셋으로 변환하여 상기 게스트 운영체제를 가상화하도록 제어한다.
이때, 상기 특정 모드는 미리 할당된 주소 영역에만 접근 가능한 유저 모드 즉, 비 특권 모드(Non-privileged mode)를 의미하고, 상기 검출된 명령어는 응용 어플리케이션이 동작 가능한 유저 모드에서 수행 시 트랩이 발생하지 않는 가상화 민감 명령어를 의미한다.
또한, 상기 기반 정책 모듈(216)은 상기 저장된 명령어를 커널 소스 코드 컴파일 시 이엘에프(Executable and Linking Format, ELF) 파일의 특정 섹션에 그 위치를 저장하고, 상기 저장된 명령어의 가상 주소가 저장된 위치에 해당 명령어의 디폴트 바이너리를 저장한다.
이때, 상기 ELF 파일은 상기 저장된 명령어에 대한 정보를 미리 컴파일된 커널의 파일을 의미하는 것으로, 하기는 컴파일된 커널의 ELF 파일에서 상기 저장된 명령어를 시스템 콜 인터페이스(210)에 접근 가능한 명령어 변환 시의 처리 과정이다.
Figure 112011088550776-pat00002
상기 기반 정책 모듈(216)에서 변환된 명령어는 응용 어플리케이션이 시스템 콜을 호출하기 위해서 사용하고 트랩 발생이 가능한 소프트웨어 인터럽트(Software Interrupt, SWI) 명령어를 의미하는 것으로, 상기 응용 어플리케이션은 유저 모드에서 동작하기 때문에 커널 영역에는 커널 함수 또는 커널 자료 구조에 대해서 접근할 수 없으므로, 상기 응용 어플리케이션이 커널 영역에 있는 커널 함수 또는 자료 구조를 사용하기 위해서는 상기 시스템 콜 인터페이스(210)을 사용해야 한다.
이러한 시스템 콜 인터페이스(210)은 소프트웨어 인터럽트를 사용해 구현되는 것으로, 상기 응용 어플리케이션은 SWI 명령어를 명시적으로 호출해서 시스템 콜 인터페이스(210)을 호출한다.
그리고, 상기 기반 정책 모듈(216)은 상기 저장된 명령어를 가상 머신 동작을 위한 에뮬레이션(Emulation)을 수행한다.
이하에서는, 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 시스템의 기반 정책 모듈에서 컴파일된 ELF 파일의 구조를 도 3을 참조하여 자세히 살펴보기로 한다.
도 3은 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 시스템의 기반 정책 모듈에서 컴파일된 ELF 파일의 구조를 보인 것으로, 도 3을 참조하면, 커널 소스 코드(S322)에서 컴파일러인 ccl을 스크립트 파일로 변환하여 수정된 ccl(S324)은 원래의 컴파일러인 cc1을 호출한 뒤(S326), 본 발명에 따른 커맨드 검출 모듈 및 기반 정책 모듈의 동작에 따라 arm-parse를 수행시킨다(S328).
상기 arm-parse는 상기 수정된 cc1(S324)이 수행된 결과인 .s(S326) 파일에서 가상화 민감 명령어를 검출하여 그 위치를 특정 섹션에 저장한다(S332).
여기서, 상기 가상화 민감 명령어의 위치를 섹션에 저장하기 위해서 ARM 어셈블러의 디렉티브인 .pushsection 과 .popsection을 사용한다.
이후, 상기 as 파일을 어셈블하여 오브젝트 파일인 .o 파일을 생성한다(S334).
그리고 링커인 collect2(S336)은 상기 생성된 .o(S334) 파일을 링크하여 최종 결과물인 ELF 포맷의 vmlinux 파일을 생성한다(S338).
이와 같은 과정을 거쳐 컴파일된 커널 ELF 파일은 도 4와 같은 구조이다.
도 4를 참조하면, 상기 컴파일된 커널 ELF 파일에서 .sensitive(434) 섹션은 그대로 둘 경우 일반 하드웨어에서도 부팅이 가능하고 가상화를 할 경우에는 상기 .sensitive(434)섹션에 있는 가상화 민감 명령어의 위치를 보고 원래의 가상화 민감 명령어를 찾아 해당 명령어를 트랩 발생 명령어인 SWI 명령어와 .sensitive(434) 섹션에 저장한다. 이러한 방법을 통해 커널 수행 도중 가상화 민감 명령어가 수행될 위치가 되면 트랩을 발생시킨 원래의 가상화 민감 명령어에 대한 정보가 필요한데 이 정보는 .sensitive(434) 섹션에서 SWI 명령어 뒤에 있는 오프셋을 더해 검출할 수 있다.
이상 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 시스템의 개략적인 구성을 살펴보았다.
이하에서는, 본 발명의 일 실시 예에 따른 ARM 기반 운영체제의 가상화를 위한 정책 기반 제공 방법에 관해 도 5를 참조하여 살펴보기로 한다.
도 5는 본 발명의 일 실시 예에 ARM 기반 운영체제의 가상화를 위한 정책 기반 제공 방법에 관한 흐름도이다.
도 5를 참조하면, 510 과정에서 게스트 운영체제를 컴파일하고, 512 과정에서 상기 게스트 운영체제 컴파일 수행 도중 특정 모드에서 트랩이 발생되지 않는 가상화 민감 명령어를 검출한다.
이때, 상기 특정 모드는 미리 할당된 주소 영역에만 접근 가능한 비 특권 모드(Non-privileged mode)를 의미하며, 상기 가상화 민감 명령어는 응용 어플리케이션이 동작 가능한 유저 모드에서 수행 시 트랩이 발생하지 않는다.
514 과정에서 커널 소스 코드를 컴파일하고, 516 과정에서 상기 검출된 가상화 민감 명령어를 이엘에프(Executable and Linking Format, ELF) 파일의 특정 섹션에 그 위치를 저장한다.
이때, 상기 ELF 파일은 상기 저장된 명령어에 대한 정보를 미리 컴파일된 커널의 파일을 의미한다.
518 과정에서 상기 저장된 가상화 민감 명령어를 소프트웨어 인터럽트(Software Interrupt, SWI)명령어로 변환한고, 520 과정에서 상기 특정 섹션의 오프셋으로 변환한다.
이후, 522 과정에서는 게스트 운영체제를 가상화하여, 524 과정에서 상기 가상화된 게스트 운영체제를 수행한다.
상기와 같이 본 발명에 따른 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템 및 방법에 관한 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
210: 시스템 콜 인터페이스 213: 제어 모듈
214: 커맨드 검출 모듈 216: 기반 정책 모듈
212: 하드웨어

Claims (13)

  1. ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템에 있어서,
    게스트 운영체제(Guest OS) 컴파일 시 소정 모드에서 트랩이 발생되지 않는 명령어를 검출하는 커맨드 검출 모듈과,
    상기 커맨드 검출 모듈에서 검출된 명령어를 소정 실행 파일의 특정 영역에 저장하고, 상기 저장된 명령어를 시스템 콜 인터페이스가 가능한 명령어로 변환하고, 상기 특정 영역의 오프셋으로 변환하여 상기 게스트 운영체제를 가상화하도록 제어하는 기반 정책 모듈을 포함함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  2. 제1항에 있어서, 상기 특정 모드는,
    미리 할당된 주소 영역에만 접근 가능한 비 특권모드(Non-privileged mode)임을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  3. 제1항에 있어서, 상기 검출된 명령어는,
    응용 어플리케이션이 동작 가능한 유저 모드에서 수행 시 트랩이 발생하지 않는 가상화 민감 명령어임을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  4. 제1항에 있어서, 상기 기반 정책 모듈은,
    상기 저장된 명령어를 커널 소스 코드 컴파일 시 이엘에프(ELF, Executable and Linking Format) 파일의 특정 섹션에 그 위치를 저장함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  5. 제1항에 있어서, 상기 변환된 명령어는,
    응용 어플리케이션이 시스템 콜을 호출하기 위해서 사용하고 트랩 발생이 가능한 소프트웨어 인터럽트(Software Interrupt, SWI) 명령어임을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  6. 제1항에 있어서, 상기 기반 정책 모듈은,
    상기 저장된 명령어의 가상 주소가 저장된 위치에 해당 명령어의 디폴트 바이너리를 저장함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  7. 제4항에 있어서, 상기 ELF 파일은,
    상기 저장된 명령어에 대한 정보를 미리 컴파일된 커널의 파일임을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  8. 제1항에 있어서, 상기 기반 정책 모듈은,
    상기 저장된 명령어를 가상 머신 동작을 위한 에뮬레이션(Emulation)을 수행함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  9. 제1항에 있어서, 상기 기반 정책 모듈은,
    상기 게스트 운영체제 컴파일 시 특정 컴파일러를 스크립트 파일로 변환함을 특징으로하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 시스템.
  10. ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법에 있어서,
    게스트 운영체제를 컴파일하는 과정과,
    상기 게스트 운영체제 컴파일 수행 도중 소정 모드에서 트랩이 발생되지 않는 가상화 민감 명령어를 검출하는 과정과,
    커널 소스 코드를 컴파일하는 과정과,
    상기 검출된 가상화 민감 명령어를 이엘에프(ELF, Executable and Linking Format) 파일의 특정 섹션에 그 위치를 저장하는 과정과,
    상기 저장된 가상화 민감 명령어를 소프트웨어 인터럽트(Software Interrupt, SWI) 명령어 및 상기 특정 섹션의 오프셋으로 변환하는 과정과,
    상기 게스트 운영체제를 가상화하여 상기 가상화된 게스트 운영체제를 수행하는 과정을 포함함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법.
  11. 제10항에 있어서, 상기 특정 모드는,
    미리 할당된 주소 영역에만 접근 가능한 비 특권모드(Non-privileged mode)임을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법.
  12. 제10항에 있어서, 상기 가상화 민감 명령어는,
    응용 어플리케이션이 동작 가능한 유저 모드에서 수행 시 트랩이 발생하지 않음을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법.
  13. 제10항에 있어서,
    상기 저장된 가상화 민감 명령어의 가상 주소가 저장된 위치에 상기 가상화 민감 명령어의 디폴트 바이너리를 저장하는 과정을 더 포함함을 특징으로 하는 ARM 기반 운영체제의 가상화를 위한 정책기반 제공 방법.
KR1020110116526A 2011-11-09 2011-11-09 Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 KR101433644B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110116526A KR101433644B1 (ko) 2011-11-09 2011-11-09 Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110116526A KR101433644B1 (ko) 2011-11-09 2011-11-09 Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130051271A KR20130051271A (ko) 2013-05-20
KR101433644B1 true KR101433644B1 (ko) 2014-08-27

Family

ID=48661324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110116526A KR101433644B1 (ko) 2011-11-09 2011-11-09 Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101433644B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075701B1 (ko) * 2017-11-24 2020-02-10 서울대학교산학협력단 명령어 레벨 데이터 격리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288864A (ja) * 2008-05-27 2009-12-10 Fujitsu Ltd 仮想マシンの入出力エミュレーション機構
KR100974108B1 (ko) * 2005-06-30 2010-08-04 인텔 코포레이션 가상화 기술 아키텍처를 따르는 플랫폼을 포함하는 시스템, 방법 및 머신 판독 가능한 매체
KR20110050230A (ko) * 2009-11-06 2011-05-13 삼성전자주식회사 가상화 시스템 및 그것의 명령어 실행 방법
JP2011123635A (ja) * 2009-12-10 2011-06-23 Nec Corp 情報処理装置、情報処理装置の制御方法、及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974108B1 (ko) * 2005-06-30 2010-08-04 인텔 코포레이션 가상화 기술 아키텍처를 따르는 플랫폼을 포함하는 시스템, 방법 및 머신 판독 가능한 매체
JP2009288864A (ja) * 2008-05-27 2009-12-10 Fujitsu Ltd 仮想マシンの入出力エミュレーション機構
KR20110050230A (ko) * 2009-11-06 2011-05-13 삼성전자주식회사 가상화 시스템 및 그것의 명령어 실행 방법
JP2011123635A (ja) * 2009-12-10 2011-06-23 Nec Corp 情報処理装置、情報処理装置の制御方法、及び記録媒体

Also Published As

Publication number Publication date
KR20130051271A (ko) 2013-05-20

Similar Documents

Publication Publication Date Title
US10191761B2 (en) Adaptive dynamic selection and application of multiple virtualization techniques
US10289435B2 (en) Instruction set emulation for guest operating systems
US10162655B2 (en) Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels
US10255090B2 (en) Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels
EP2397943B1 (en) Uniform storage device by partial virtualization machine
US9454676B2 (en) Technologies for preventing hook-skipping attacks using processor virtualization features
US8296775B2 (en) Efficient context switching of virtual processors by managing physical register states in a virtualized environment
US8479195B2 (en) Dynamic selection and application of multiple virtualization techniques
US8429669B2 (en) Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status
KR101673435B1 (ko) 공동 설계 프로세서에서 격리된 실행 환경의 생성
Iqbal et al. An overview of microkernel, hypervisor and microvisor virtualization approaches for embedded systems
US8510756B1 (en) Guest operating system code optimization for virtual machine
KR20060097597A (ko) 가상 기계 환경에서의 멀티-레벨 인터셉트 처리를 위한시스템 및 방법
US10019275B2 (en) Hypervisor context switching using a trampoline scheme in processors having more than two hierarchical privilege levels
US11693722B2 (en) Fast memory mapped IO support by register switch
US8281296B2 (en) Cross-ISA inlining in a system virtual machine
KR20130134581A (ko) 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치
Kanda et al. SIGMA system: A multi-OS environment for embedded systems
KR101433644B1 (ko) Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법
US20090217014A1 (en) Processor, memory device, processing device, and method for processing instruction
US20230350710A1 (en) Fast memory mapped io support by register switch
Chen Dynamic binary translation from x86-32 code to x86-64 code for virtualization
林宗翰 Addressing Hybrid OS Environment Issues in the Embedded Virtualization Multicore Platform
Meyers Virtual Machine Based Program Modification-Code Rewriting and Instrumentation using LLVM

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20180619

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190814

Year of fee payment: 6